rational-operators | R Documentation |
Rational Number Arithmetic
## S4 method for signature 'rationalS4,rationalS4'
e1 + e2
## S4 method for signature 'integer,rationalS4'
e1 + e2
## S4 method for signature 'rationalS4,integer'
e1 + e2
## S4 method for signature 'numeric,rationalS4'
e1 + e2
## S4 method for signature 'rationalS4,numeric'
e1 + e2
## S3 method for class 'rationalS3'
e1 + e2
## S3 method for class 'rationalR6'
e1 + e2
## S4 method for signature 'rationalS4,rationalS4'
e1 * e2
## S4 method for signature 'integer,rationalS4'
e1 * e2
## S4 method for signature 'rationalS4,integer'
e1 * e2
## S4 method for signature 'numeric,rationalS4'
e1 * e2
## S4 method for signature 'rationalS4,numeric'
e1 * e2
## S3 method for class 'rationalS3'
e1 * e2
## S3 method for class 'rationalR6'
e1 * e2
## S4 method for signature 'rationalS4,rationalS4'
e1 / e2
## S4 method for signature 'integer,rationalS4'
e1 / e2
## S4 method for signature 'rationalS4,integer'
e1 / e2
## S4 method for signature 'numeric,rationalS4'
e1 / e2
## S4 method for signature 'rationalS4,numeric'
e1 / e2
## S3 method for class 'rationalS3'
e1 / e2
## S3 method for class 'rationalR6'
e1 / e2
## S4 method for signature 'rationalS4,rationalS4'
e1 ^ e2
## S4 method for signature 'rationalS4,integer'
e1 ^ e2
## S4 method for signature 'integer,rationalS4'
e1 ^ e2
## S4 method for signature 'rationalS4,numeric'
e1 ^ e2
## S4 method for signature 'numeric,rationalS4'
e1 ^ e2
## S3 method for class 'rationalS3'
e1 ^ e2
## S3 method for class 'rationalR6'
e1 ^ e2
## S4 method for signature 'rationalS4,rationalS4'
e1 %/% e2
## S4 method for signature 'integer,rationalS4'
e1 %/% e2
## S4 method for signature 'rationalS4,integer'
e1 %/% e2
## S4 method for signature 'numeric,rationalS4'
e1 %/% e2
## S4 method for signature 'rationalS4,numeric'
e1 %/% e2
## S3 method for class 'rationalS3'
e1 %/% e2
## S3 method for class 'rationalR6'
e1 %/% e2
## S4 method for signature 'rationalS4,rationalS4'
e1 - e2
## S4 method for signature 'integer,rationalS4'
e1 - e2
## S4 method for signature 'rationalS4,integer'
e1 - e2
## S4 method for signature 'numeric,rationalS4'
e1 - e2
## S4 method for signature 'rationalS4,numeric'
e1 - e2
## S3 method for class 'rationalS3'
e1 - e2
## S3 method for class 'rationalR6'
e1 - e2
## S4 method for signature 'rationalS4,rationalS4'
e1 %% e2
## S4 method for signature 'integer,rationalS4'
e1 %% e2
## S4 method for signature 'rationalS4,integer'
e1 %% e2
## S4 method for signature 'numeric,rationalS4'
e1 %% e2
## S4 method for signature 'rationalS4,numeric'
e1 %% e2
## S3 method for class 'rationalS3'
e1 %% e2
## S3 method for class 'rationalR6'
e1 %% e2
e1 |
rational numbers, integers, or numerics |
e2 |
rational numbers, integers, or numerics |
add
for R6 classes, using the $add(e1)
to do addition is the fastest method
a <- rational(1L,2L,"S4")
b <- rational(3L,5L,"S4")
d <- a + b
stopifnot(d@n == 11)
stopifnot(d@d == 10)
a <- 7L
b <- rational(3L,5L,"S4")
d <- a + b
stopifnot(d@n == 38)
stopifnot(d@d == 5)
a <- rational(1L,2L,"S4")
b <- 7L
d <- a + b
stopifnot(d@n == 15)
stopifnot(d@d == 2)
a <- 7
b <- rational(3L,5L,"S4")
d <- a + b
stopifnot(abs(d - 7.6) < 1E-12)
a <- rational(1L,2L,"S4")
b <- 7
d <- a + b
stopifnot(abs(d - 7.5) < 1E-12)
a <- rational(1L,2L,"S3")
b <- rational(3L,5L,"S3")
d <- a + b
stopifnot(d$n == 11)
stopifnot(d$d == 10)
a <- 7L
b <- rational(3L,5L,"S3")
d <- a + b
stopifnot(d$n == 38)
stopifnot(d$d == 5)
a <- rational(1L,2L,"S3")
b <- 7L
d <- a + b
stopifnot(d$n == 15)
stopifnot(d$d == 2)
a <- 7
b <- rational(3L,5L,"S3")
d <- a + b
stopifnot(abs(d - 7.6) < 1E-12)
a <- rational(1L,2L,"S3")
b <- 7
d <- a + b
stopifnot(abs(d - 7.5) < 1E-12)
a <- rational(1L,2L,"R6")
b <- rational(3L,5L,"R6")
d <- a + b
stopifnot(d$getNumerator() == 11)
stopifnot(d$getDenominator() == 10)
a <- 7L
b <- rational(3L,5L,"R6")
d <- a + b
stopifnot(d$getNumerator() == 38)
stopifnot(d$getDenominator() == 5)
a <- rational(1L,2L,"R6")
b <- 7L
d <- a + b
stopifnot(d$getNumerator() == 15)
stopifnot(d$getDenominator() == 2)
a <- 7
b <- rational(3L,5L,"R6")
d <- a + b
stopifnot(abs(d - 7.6) < 1E-12)
a <- rational(1L,2L,"R6")
b <- 7
d <- a + b
stopifnot(abs(d - 7.5) < 1E-12)
a <- rational(1L,2L,"R6")
b <- rational(3L,5L,"R6")
a$add(b)
stopifnot(a$getNumerator() == 11)
stopifnot(a$getDenominator() == 10)
a <- rational(1L,2L,"R6")
b <- 7L
a$add(b)
stopifnot(a$getNumerator() == 15)
stopifnot(a$getDenominator() == 2)
a <- rational(1L,2L,"S4")
b <- rational(3L,5L,"S4")
d <- a * b
stopifnot(d@n == 3)
stopifnot(d@d == 10)
a <- 7L
b <- rational(3L,5L,"S4")
d <- a * b
stopifnot(d@n == 21)
stopifnot(d@d == 5)
a <- rational(1L,2L,"S4")
b <- 7L
d <- a * b
stopifnot(d@n == 7)
stopifnot(d@d == 2)
a <- 7
b <- rational(3L,5L,"S4")
d <- a * b
stopifnot(abs(d - 4.2) < 1E-12)
a <- rational(1L,2L,"S4")
b <- 7
d <- a * b
stopifnot(abs(d - 3.5) < 1E-12)
a <- rational(1L,2L,"S3")
b <- rational(3L,5L,"S3")
d <- a * b
stopifnot(d$n == 3)
stopifnot(d$d == 10)
a <- 7L
b <- rational(3L,5L,"S3")
d <- a * b
stopifnot(d$n == 21)
stopifnot(d$d == 5)
a <- rational(1L,2L,"S3")
b <- 7L
d <- a * b
stopifnot(d$n == 7)
stopifnot(d$d == 2)
a <- 7
b <- rational(3L,5L,"S3")
d <- a * b
stopifnot(abs(d - 4.2) < 1E-12)
a <- rational(1L,2L,"S3")
b <- 7
d <- a * b
stopifnot(abs(d - 3.5) < 1E-12)
a <- rational(1L,2L,"R6")
b <- rational(3L,5L,"R6")
d <- a * b
stopifnot(d$getNumerator() == 3)
stopifnot(d$getDenominator() == 10)
a <- 7L
b <- rational(3L,5L,"R6")
d <- a * b
stopifnot(d$getNumerator() == 21)
stopifnot(d$getDenominator() == 5)
a <- rational(1L,2L,"R6")
b <- 7L
d <- a * b
stopifnot(d$getNumerator() == 7)
stopifnot(d$getDenominator() == 2)
a <- 7
b <- rational(3L,5L,"R6")
d <- a * b
stopifnot(abs(d - 4.2) < 1E-12)
a <- rational(1L,2L,"R6")
b <- 7
d <- a * b
stopifnot(abs(d - 3.5) < 1E-12)
a <- rational(1L,2L,"R6")
b <- rational(3L,5L,"R6")
a$multiply(b)
stopifnot(a$getNumerator() == 3)
stopifnot(a$getDenominator() == 10)
a <- rational(1L,2L,"R6")
b <- 7L
a$multiply(b)
stopifnot(a$getNumerator() == 7)
stopifnot(a$getDenominator() == 2)
a <- rational(1L,2L,"S4")
b <- rational(3L,5L,"S4")
d <- a / b
stopifnot(d@n == 5)
stopifnot(d@d == 6)
a <- 7L
b <- rational(3L,5L,"S4")
d <- a / b
stopifnot(d@n == 35)
stopifnot(d@d == 3)
a <- rational(1L,2L,"S4")
b <- 7L
d <- a / b
stopifnot(d@n == 1)
stopifnot(d@d == 14)
a <- 7
b <- rational(3L,5L,"S4")
d <- a / b
stopifnot(abs(d - 7*5/3) < 1E-12)
a <- rational(1L,2L,"S4")
b <- 7
d <- a / b
stopifnot(abs(d - 1/14) < 1E-12)
a <- rational(1L,2L,"S3")
b <- rational(3L,5L,"S3")
d <- a / b
stopifnot(d$n == 5)
stopifnot(d$d == 6)
a <- 7L
b <- rational(3L,5L,"S3")
d <- a / b
stopifnot(d$n == 35)
stopifnot(d$d == 3)
a <- rational(1L,2L,"S3")
b <- 7L
d <- a / b
stopifnot(d$n == 1)
stopifnot(d$d == 14)
a <- 7
b <- rational(3L,5L,"S3")
d <- a / b
stopifnot(abs(d - 7*5/3) < 1E-12)
a <- rational(1L,2L,"S3")
b <- 7
d <- a / b
stopifnot(abs(d - 1/14) < 1E-12)
a <- rational(1L,2L,"R6")
b <- rational(3L,5L,"R6")
d <- a / b
stopifnot(d$getNumerator() == 5)
stopifnot(d$getDenominator() == 6)
a <- 7L
b <- rational(3L,5L,"R6")
d <- a / b
stopifnot(d$getNumerator() == 35)
stopifnot(d$getDenominator() == 3)
a <- rational(1L,2L,"R6")
b <- 7L
d <- a / b
stopifnot(d$getNumerator() == 1)
stopifnot(d$getDenominator() == 14)
a <- 7
b <- rational(3L,5L,"R6")
d <- a / b
stopifnot(abs(d - 7*5/3) < 1E-12)
a <- rational(1L,2L,"R6")
b <- 7
d <- a / b
stopifnot(abs(d - 1/14) < 1E-12)
a <- rational(1L,2L,"R6")
b <- rational(3L,5L,"R6")
a$divide(b)
stopifnot(a$getNumerator() == 5)
stopifnot(a$getDenominator() == 6)
a <- rational(1L,2L,"R6")
b <- 7L
a$divide(b)
stopifnot(a$getNumerator() == 1)
stopifnot(a$getDenominator() == 14)
a <- rational(1L,2L,"S4")
b <- rational(3L,5L,"S4")
a ^ b
a <- rational(1L,2L,"S4")
b <- 3L
a ^ b
a <- 2L
b <- rational(3L,5L,"S4")
a ^ b
a <- rational(1L,2L,"S4")
b <- 1.5
a ^ b
a <- 3.1
b <- rational(3L,5L,"S4")
a ^ b
a <- rational(1L,2L,"S3")
b <- rational(3L,5L,"S3")
d <- 3L
e <- 1.5
a ^ b
d ^ b
a ^ d
e ^ b
d ^ e
a <- rational(1L,2L,"R6")
b <- rational(3L,5L,"R6")
d <- 3L
e <- 1.5
a ^ b
d ^ b
a ^ d
e ^ b
d ^ e
a <- rational(3L,1L,"S4")
b <- rational(2L,1L,"S4")
a %/% b
a <- 3L
b <- rational(2L,1L,"S4")
a %/% b
a <- rational(3L,1L,"S4")
b <- 2L
a %/% b
a <- 3.5
b <- rational(2L,1L,"S4")
a %/% b
a <- rational(3L,1L,"S4")
b <- 2.1
a %/% b
a <- rational(1L,2L,"S3")
b <- rational(3L,5L,"S3")
d <- 3L
e <- 1.5
a %/% b
d %/% b
a %/% d
e %/% b
d %/% e
a <- rational(1L,2L,"R6")
b <- rational(3L,5L,"R6")
d <- 3L
e <- 1.5
a %/% b
d %/% b
a %/% d
e %/% b
d %/% e
a <- rational(1L,2L,"S4")
b <- rational(3L,5L,"S4")
d <- a - b
stopifnot(d@n == -1)
stopifnot(d@d == 10)
a <- 7L
b <- rational(3L,5L,"S4")
d <- a - b
stopifnot(d@n == 32)
stopifnot(d@d == 5)
a <- rational(1L,2L,"S4")
b <- 7L
d <- a - b
stopifnot(d@n == -13)
stopifnot(d@d == 2)
a <- 7
b <- rational(3L,5L,"S4")
d <- a - b
stopifnot(abs(d - 6.4) < 1E-12)
a <- rational(1L,2L,"S4")
b <- 7
d <- a - b
stopifnot(abs(d - -6.5) < 1E-12)
a <- rational(1L,2L,"S3")
b <- rational(3L,5L,"S3")
d <- a - b
stopifnot(d$n == -1)
stopifnot(d$d == 10)
a <- 7L
b <- rational(3L,5L,"S3")
d <- a - b
stopifnot(d$n == 32)
stopifnot(d$d == 5)
a <- rational(1L,2L,"S3")
b <- 7L
d <- a - b
stopifnot(d$n == -13)
stopifnot(d$d == 2)
a <- 7
b <- rational(3L,5L,"S3")
d <- a - b
stopifnot(abs(d - 6.4) < 1E-12)
a <- rational(1L,2L,"S3")
b <- 7
d <- a - b
stopifnot(abs(d - -6.5) < 1E-12)
a <- rational(1L,2L,"R6")
b <- rational(3L,5L,"R6")
d <- a - b
stopifnot(d$getNumerator() == -1)
stopifnot(d$getDenominator() == 10)
a <- 7L
b <- rational(3L,5L,"R6")
d <- a - b
stopifnot(d$getNumerator() == 32)
stopifnot(d$getDenominator() == 5)
a <- rational(1L,2L,"R6")
b <- 7L
d <- a - b
stopifnot(d$getNumerator() == -13)
stopifnot(d$getDenominator() == 2)
a <- 7
b <- rational(3L,5L,"R6")
d <- a - b
stopifnot(abs(d - 6.4) < 1E-12)
a <- rational(1L,2L,"R6")
b <- 7
d <- a - b
stopifnot(abs(d - -6.5) < 1E-12)
a <- rational(1L,2L,"R6")
b <- rational(3L,5L,"R6")
a$subtract(b)
stopifnot(a$getNumerator() == -1)
stopifnot(a$getDenominator() == 10)
a <- rational(1L,2L,"R6")
b <- 7L
a$subtract(b)
stopifnot(a$getNumerator() == -13)
stopifnot(a$getDenominator() == 2)
a <- rational(5L, 1L, "S4")
b <- rational(2L, 1L, "S4")
d <- rational(3L, 2L, "S4")
e <- rational(1L, 2L, "S4")
stopifnot(rational(1L, 1L, "S4") == a %% b)
stopifnot(rational(0L, 1L, "S4") == d %% e)
stopifnot(rational(1L, 1L, "S4") == 5L %% b)
stopifnot(rational(1L, 1L, "S4") == a %% 2L)
stopifnot(rational(0L, 1L, "S4") == 2L %% e)
stopifnot(1 == 5 %% b)
stopifnot(1 == a %% 2)
a <- rational(5L, 1L, "S3")
b <- rational(2L, 1L, "S3")
d <- rational(3L, 2L, "S3")
e <- rational(1L, 2L, "S3")
stopifnot(rational(1L, 1L, "S3") == a %% b)
stopifnot(rational(0L, 1L, "S3") == d %% e)
stopifnot(rational(1L, 1L, "S3") == 5L %% b)
stopifnot(rational(1L, 1L, "S3") == a %% 2L)
stopifnot(rational(0L, 1L, "S3") == 2L %% e)
stopifnot(1 == 5 %% b)
stopifnot(1 == a %% 2)
a <- rational(5L, 1L, "R6")
b <- rational(2L, 1L, "R6")
d <- rational(3L, 2L, "R6")
e <- rational(1L, 2L, "R6")
stopifnot(rational(1L, 1L, "R6") == a %% b)
stopifnot(rational(0L, 1L, "R6") == d %% e)
stopifnot(rational(1L, 1L, "R6") == 5L %% b)
stopifnot(rational(1L, 1L, "R6") == a %% 2L)
stopifnot(rational(0L, 1L, "R6") == 2L %% e)
stopifnot(1 == 5 %% b)
stopifnot(1 == a %% 2)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.