swh:1:snp:a4c99a50dc49f82b591f268001b320f8c3ca0041
Tip revision: ce60f670aac0a708d3a9af5f0cf46a752d46ba8a authored by John M Chambers on 28 October 2020, 07:59:48 UTC
version 1.0-6.1
version 1.0-6.1
Tip revision: ce60f67
binaryRep.R
binaryRep <-
function(data, m = .Machine$double.digits) {
x <- data
n <- length(x)
xSign <- sign(x)
x <- xSign * x
exponent <- ifelse(x > 0, floor(1+log(x, 2)), 0)
x <- x/2 ^ exponent
pwrs <- binaryRepPowers(n, m)
x <- matrix(x, n, m)
xpwrs <- x * pwrs
xrep <- trunc(xpwrs)/pwrs
bits <- (xrep %*% binaryRepA(m)) *pwrs
bits[] <- as.integer(bits[])
new("binaryRep", original = data,
sign = as.integer(xSign),
exponent = as.integer(exponent),
bits = binaryRepBits(bits))
}