| round2 | R Documentation |
'round2' works like 'round' but the rounding has base 2 under consideration so that bits (binary digits) beyond a certain theshold are zeroed.
round2(x, digits10 = 0)
x |
Same as |
digits10 |
Same as |
round2() is intended to allow reliable and safe for
== comparisons provided both sides have the function
applied to the same value of digits10. Internally a
numeric has its binary representation (bits)
past a certain point
set to all 0s, while retaining a certain degree of accuracy.
Algorithmically, x is multiplied by 2^exponent
and then rounded, and then divided by 2^exponent.
The value of exponent is approximately 3 *
digits10 when digits10 is positive. If digits10
is negative then what is returned is round(x, digits10).
The value of exponent guarantees that x has been
rounded to at least digits10 decimal places (often around
digits10 + 1 for safety).
Something similar to round.
T. W. Yee.
round,
tobit.
set.seed(1); x <- sort(rcauchy(10))
x3 <- round2(x, 3)
x3 == round2(x, 3) # Supposed to be reliable (all TRUE)
rbind(x, x3) # Comparison
(x3[1] * 2^(0:9)) / 2^(0:9)
print((x3[1] * 2^(0:11)), digits = 14)
# Round to approx 1 d.p.
x1 <- round2(x, 1)
x1 == round2(x, 1) # Supposed to be reliable (all TRUE)
rbind(x, x1)
x1[8] == 0.75 # 3/4
print((x1[1] * 2^(0:11)), digits = 9)
seq(31) / 32
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.