Path to this page:

./

devel/R-bit,

*Class for vectors of 1-bit booleans*

**Branch:** pkgsrc-2019Q4,

**Version: **1.1.14,

**Package name:** R-bit-1.1.14,

**Maintainer: **minskimbitmapped 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. Due to overhead of R calls, actual speed gain

depends on the size of the vector: expect gains for vectors of size >

10000 elements. Even for one-time boolean operations it can pay-off to

convert to bit, the pay-off is obvious, 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%. the package now contains further classes for

representing logical selections: 'bitwhich' for very skewed selections

and 'ri' for selecting ranges of values for chunked processing. All

three index classes can be used for subsetting 'ff' objects (ff-2.1-0

and higher).

**Required to run:**[

math/R]

**Required to build:**[

pkgtools/cwrappers]

### Master sites: (Expand)

### Version history: (Expand)

- (
**2020-01-02**) Package added to pkgsrc.se, version **R-bit-1.1.14** (created)