swh:1:snp:a4c99a50dc49f82b591f268001b320f8c3ca0041
Raw File
Tip revision: e3fb24ebd97f7686caee78bcef4e558b908a465e authored by jmc on 01 December 2007, 00:00:00 UTC
version 0.97-1
Tip revision: e3fb24e
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