bit: A class for vectors of 1-bit booleans

bitmapped vectors of booleans (no NAs), coercion from and to logicals, integers and integer subscripts; fast boolean operators and fast summary statistics. With bit vectors you can store true binary booleans {FALSE,TRUE} at the expense of 1 bit only, on a 32 bit architecture this means factor 32 less RAM and factor 32 more speed on boolean operations. With this speed gain it even pays-off to convert to bit in order to avoid a single boolean operation on logicals or a single set operation on (longer) integer subscripts, the pay-off is dramatic when such components are used more than once. Reading from and writing to bit is approximately as fast as accessing standard logicals - mostly due to R's time for memory allocation. The package allows to work with pre-allocated memory for return values by calling .Call() directly: when evaluating the speed of C-access with pre-allocated vector memory, coping from bit to logical requires only 70% of the time for copying from logical to logical; and copying from logical to bit comes at a performance penalty of 150%.

Version: 1.0-2
Published: 2009-04-15
Author: Jens Oehlschlägel
Maintainer: Jens Oehlschlägel <oehl_list at gmx.de>
License: GPL-2
CRAN checks: bit results

Downloads:

Package source: bit_1.0-2.tar.gz
MacOS X binary: bit_1.0-2.tgz
Windows binary: bit_1.0-2.zip
Reference manual: bit.pdf
Old sources: bit archive