Revision 9e5b9bb8a0564f8bf629df4ca5e96d3078f50363 authored by jmc on 14 July 2008, 00:00:00 UTC, committed by Gabor Csardi on 14 July 2008, 00:00:00 UTC
1 parent a3b36b1
Raw File
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))
}
back to top