bigq {gmp} | R Documentation |
Class "bigq"
encodes rationals encoded as ratios of arbitrary
large integers (via GMP).
A simple S3 class (internally a raw
vector), it has been
registered as formal (S4) class (via setOldClass
), too.
as.bigq(n, d = 1) ## S3 method for class 'bigq' as.character(x, b=10,...) ## S3 method for class 'bigq' as.double(x,...) as.bigz.bigq(a, mod=NA) is.bigq(x) ## S3 method for class 'bigq' is.na(x) ## S3 method for class 'bigq' print(x, quote=FALSE, initLine = TRUE, ...) denominator(x) numerator(x)
n,d |
either integer, numeric or string value
(String value: either starting with |
a |
an element of class |
mod |
optional modulus to convert into biginteger |
x |
a “rational number” (vector), of class |
b |
base: from 2 to 36 |
... |
additional arguments passed to methods |
quote |
(for printing:) logical indicating if the numbers
should be quoted (as characters are); the default used to be
|
initLine |
(for printing:) logical indicating if an initial line (with the class and length or dimension) should be printed. |
as.bigz.bigq()
returns the smallest integers not less than the
corresponding rationals bigq.
An R object of (S3) class "bigq"
representing the parameter value.
Antoine Lucas
http://mulcyber.toulouse.inra.fr/projects/gmp/
x <- as.bigq(21,6) x # 7 / 2 # Wow ! result is simplified. y <- as.bigq(5,3) # addition works ! x + y # You can even try multiplication, division... x * y / 13 # and, since May 2012, x ^ 20 stopifnot(is.bigq(x), is.bigq(x + y), x ^ 20 == as.bigz(7)^20 / 2^20) # convert to string, double as.character(x) as.double(x) # Depict the "S4-class" bigq, i.e., the formal (S4) methods: if(require("Rmpfr")) # mostly interesting there showMethods(class="bigq")