Source: r-cran-bit Maintainer: Debian R Packages Maintainers Uploaders: Andreas Tille Section: gnu-r Testsuite: autopkgtest-pkg-r Priority: optional Build-Depends: debhelper-compat (= 13), dh-r, r-base-dev Standards-Version: 4.5.0 Vcs-Browser: https://salsa.debian.org/r-pkg-team/r-cran-bit Vcs-Git: https://salsa.debian.org/r-pkg-team/r-cran-bit.git Homepage: https://cran.r-project.org/package=bit Rules-Requires-Root: no Package: r-cran-bit Architecture: any Depends: ${R:Depends}, ${shlibs:Depends}, ${misc:Depends} Recommends: ${R:Recommends} Suggests: ${R:Suggests} Description: GNU R class for vectors of 1-bit booleans This GNU R package provides 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. 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 one 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).