Generate continuous fractions for numeric values.

rat(x, tol = 1e-06)
rats(x, tol = 1e-06)

Arguments

x

a numeric scalar or vector.

tol

tolerance; default 1e-6 to make a nicer appearance for pi.

Details

rat generates continuous fractions, while rats prints the the corresponding rational representation and returns the numeric values.

Value

rat returns a character vector of string representations of continuous fractions in the format [b0; b1, ..., b_{n-1}].

rats prints the rational number and returns a numeric vector.

Note

Essentially, these functions apply contfrac.

See also

numbers::contfrac

Examples

rat(pi)
#> [1] "[ 3; 7, 15, 1]"
rats(pi)
#> 355/113 
rat(sqrt(c(2, 3, 5)),  tol = 1e-15)
#> [1] "[ 1; 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2]"                     
#> [2] "[ 1; 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1]"
#> [3] "[ 2; 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4]"                                             
rats(sqrt(c(2, 3, 5)), tol = 1e-15)
#> 54608393/38613965 
#> 50843527/29354524 
#> 70711162/31622993