| Title: | Convert Decimals to Fractions | 
| Version: | 0.2.1 | 
| Description: | Provides functions for converting decimals to a matrix of numerators and denominators or a character vector of fractions. Supports mixed or improper fractions, finding common denominators for vectors of fractions, limiting denominators to powers of ten, and limiting denominators to a maximum value. Also includes helper functions for finding the least common multiple and greatest common divisor for a vector of integers. Implemented using C++ for maximum speed. | 
| License: | MIT + file LICENSE | 
| URL: | https://fracture.rossellhayes.com/, https://github.com/rossellhayes/fracture | 
| BugReports: | https://github.com/rossellhayes/fracture/issues | 
| Depends: | R (≥ 2.10) | 
| Imports: | Rcpp | 
| Suggests: | covr, testthat (≥ 3.0.0), withr | 
| LinkingTo: | Rcpp | 
| Encoding: | UTF-8 | 
| RoxygenNote: | 7.2.0 | 
| SystemRequirements: | C++11 | 
| Config/testthat/edition: | 3 | 
| NeedsCompilation: | yes | 
| Packaged: | 2022-05-20 23:04:35 UTC; alex | 
| Author: | Alexander Rossell Hayes | 
| Maintainer: | Alexander Rossell Hayes <alexander@rossellhayes.com> | 
| Repository: | CRAN | 
| Date/Publication: | 2022-05-21 07:20:09 UTC | 
fracture: Convert Decimals to Fractions
Description
 
Provides functions for converting decimals to a matrix of numerators and denominators or a character vector of fractions. Supports mixed or improper fractions, finding common denominators for vectors of fractions, limiting denominators to powers of ten, and limiting denominators to a maximum value. Also includes helper functions for finding the least common multiple and greatest common divisor for a vector of integers. Implemented using C++ for maximum speed.
Author(s)
Maintainer: Alexander Rossell Hayes alexander@rossellhayes.com (ORCID) [copyright holder]
See Also
Useful links:
- Report bugs at https://github.com/rossellhayes/fracture/issues 
Least common multiple and greatest common divisor
Description
Least common multiple and greatest common divisor
Usage
frac_lcm(..., max = 1e+07)
frac_gcd(...)
Arguments
| ... | Integer vectors or vectors that can be coerced to integer. | 
| max | If the least common multiple is greater than  | 
Value
An integer.
Examples
frac_lcm(1, 2, 3, 4, 5, 6)
x <- 1:6
frac_lcm(x)
frac_lcm(x, 7)
frac_gcd(12, 42, 60)
y <- c(12, 42, 60)
frac_gcd(y)
frac_gcd(y, 39)
Convert decimals to a matrix of numerators and denominators
Description
Convert decimals to a matrix of numerators and denominators
Usage
frac_mat(
  x,
  ...,
  denom = NULL,
  base_10 = FALSE,
  common_denom = FALSE,
  mixed = FALSE,
  max_denom = 1e+07
)
as.frac_mat(x)
is.frac_mat(x)
Arguments
| x | A vector of decimals or, for  | 
| ... | These dots are for future extensions and must be empty. | 
| denom | If  | 
| base_10 | If  | 
| common_denom | If  If the least common denominator is greater than  | 
| mixed | If  If  | 
| max_denom | All denominators will be less than or equal to
 If  A  | 
Value
A matrix with the same number of columns as the length of x and
rows for integers (if mixed is TRUE), numerators,
and denominators.
See Also
fracture() to return a character vector of fractions.
Examples
x <- (6:1) / (1:6)
frac_mat(x)
frac_mat(x, common_denom = TRUE)
frac_mat(x, base_10 = TRUE)
frac_mat(x, base_10 = TRUE, max_denom = 100)
frac_mat(x, base_10 = TRUE, common_denom = TRUE)
frac_mat(x, base_10 = TRUE, common_denom = TRUE, max_denom = 100)
frac_mat(x, mixed = TRUE)
frac_mat(x, mixed = TRUE, common_denom = TRUE)
frac_mat(x, mixed = TRUE, base_10 = TRUE)
frac_mat(x, mixed = TRUE, base_10 = TRUE, max_denom = 100)
frac_mat(x, mixed = TRUE, base_10 = TRUE, common_denom = TRUE)
frac_mat(x, mixed = TRUE, base_10 = TRUE, common_denom = TRUE, max_denom = 100)
Style a fracture with superscripts and subscripts
Description
Uses Unicode superscripts and subscripts to format a fracture.
Usage
frac_style(fracture, ...)
Arguments
| fracture | A fracture or a vector to be passed to  | 
| ... | Additional arguments passed to  | 
Value
fracture with numerators formatted with Unicode superscripts and
denominators formatted with Unicode subscripts.
Examples
frac_style(fracture(0.5))
frac_style(fracture(c(0.5, 1.5), mixed = TRUE))
Convert decimals to a character vector of fractions
Description
Convert decimals to a character vector of fractions
Usage
fracture(
  x,
  ...,
  denom = NULL,
  base_10 = FALSE,
  common_denom = FALSE,
  mixed = FALSE,
  max_denom = 1e+07
)
as.fracture(x)
is.fracture(x)
Arguments
| x | A vector of decimals or, for  | 
| ... | These dots are for future extensions and must be empty. | 
| denom | If  | 
| base_10 | If  | 
| common_denom | If  If the least common denominator is greater than  | 
| mixed | If  If  | 
| max_denom | All denominators will be less than or equal to
 If  A  | 
Value
A character vector.
See Also
frac_mat() to return a matrix of numerators and denominators.
Examples
x <- (6:1) / (1:6)
fracture(x)
fracture(x, common_denom = TRUE)
fracture(x, base_10 = TRUE)
fracture(x, base_10 = TRUE, max_denom = 100)
fracture(x, base_10 = TRUE, common_denom = TRUE)
fracture(x, base_10 = TRUE, common_denom = TRUE, max_denom = 100)
fracture(x, mixed = TRUE)
fracture(x, mixed = TRUE, common_denom = TRUE)
fracture(x, mixed = TRUE, base_10 = TRUE)
fracture(x, mixed = TRUE, base_10 = TRUE, max_denom = 100)
fracture(x, mixed = TRUE, base_10 = TRUE, common_denom = TRUE)
fracture(x, mixed = TRUE, base_10 = TRUE, common_denom = TRUE, max_denom = 100)