# r-bit¶

## Summary¶

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 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).

## Home¶

http://ff.r-forge.r-project.org/

• 1.1_12

GPL-2

## Meta¶

package:
name: r-bit
# Note that conda versions cannot contain -, so any -'s in the version have
# been replaced with _'s.
version: "1.1_12"

source:
fn: bit_1.1-12.tar.gz
url:
- http://cran.r-project.org/src/contrib/bit_1.1-12.tar.gz
- http://cran.r-project.org/src/contrib/Archive/bit/bit_1.1-12.tar.gz

# You can add a hash for the file here, like md5 or sha1
# md5: 49448ba4863157652311cc5ea4fea3ea
# sha1: 3bcfbee008276084cbb37a2b453963c61176a322
# patches:
# List any patch files here
# - fix.patch

build:
# If this is a new build for the same version, increment the build
# number. If you do not include this key, it defaults to 0.
# number: 1

# This is required to make R link correctly on Linux.
rpaths:
- lib/R/lib/
- lib/

requirements:
build:
- r
- gcc # [not win]

run:
- r
- libgcc # [not win]

test:
commands:
# You can put additional test commands to be run here.
- \$R -e "library('bit')" # [not win]
- "\"%R%\" -e \"library('bit')\"" # [win]

# You can also put a file called run_test.py, run_test.sh, or run_test.bat
# in the recipe that will be run at test time.

# requires:
# Put any additional test requirements here.

home: http://ff.r-forge.r-project.org/
summary: '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 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).'

# The original CRAN metadata for this package was:

# Package: bit
# Type: Package
# Title: A class for vectors of 1-bit booleans
# Version: 1.1-12
# Date: 2012-01-17
# Author: Jens Oehlschlägel <Jens.Oehlschlaegel@truecluster.com>
# Maintainer: Jens Oehlschlägel <Jens.Oehlschlaegel@truecluster.com>
# Depends: R (>= 2.9.2)
# Description: 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 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).