Path to this page:
./
devel/Rbit,
Class for vectors of 1bit booleans
Branch: CURRENT,
Version: 1.1.14,
Package name: Rbit1.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 onetime boolean operations it can payoff to
convert to bit, the payoff 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 preallocated
memory for return values by calling .Call() directly: when evaluating
the speed of Caccess with preallocated 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 (ff2.10
and higher).
Required to run:[
math/R]
Required to build:[
pkgtools/cwrappers]
Master sites: (Expand)
Version history: (Expand)
 (20180704) Updated to version: Rbit1.1.14
 (20180306) Package added to pkgsrc.se, version Rbit1.1.12 (created)
CVS history: (Expand)
20180728 16:40:53 by Brook Milligan  Files touched by this commit (126) 
Log message:
Remove MASTER_SITES= from individual R package Makefiles.
Each R package should include ../../math/R/Makefile.extension, which also
defines MASTER_SITES. Consequently, it is redundant for the individual
packages to do the same. Packagespecific definitions also prevent
redefining MASTER_SITES in a single common place.

20180704 10:14:00 by Wen Heping  Files touched by this commit (2)  
Log message:
Update to 1.1.14
Upstream changes:
CHANGES IN bit VERSION 1.114
BUG FIXES
o bit[i] and bit[i]<v now check for nonpositive integers
which prevents a segfault when bit[NA] or bit[NA]<v
CHANGES IN bit VERSION 1.113
USER VISIBLE CHANGES
o logical NA is now mapped to bit FALSE as in ff booleans
o extractor function '[.bit' with positive numeric subscripts
(integer, double, bitwhich) now behaves like '[.logical' and returns
NA for outofbound requests and no element for 0
o extractor function '[[.bit' with positive numeric (integer, double,
bitwhich) subscripts now behaves like '[[.logical' and throws an error
for outofbound requests
o extractor function '[.bit' with range index subscripts (ri)
subscripts now behaves like '[[.bit' and throws an error
for outofbound requests
o assignment functions '[<.bit' and '[[<.bit' with positive numeric
(integer, double, bitwhich) subscripts now behave like '[<.logical' and
'[[<.logical' and silently increase vector length if necessary
o assignment function '[<.bit' with range index subscripts (ri) now
behaves like '[[<.bit' and silently increases vector length if necessary
o rlepack() is now a generic with a method for class 'integer'
o rleunpack() is now a generic with a method for class 'rlepack'
o unique.rlepack() now gives correct results for unordered sequences
o anyDuplicated.rlepack() now returns the position of the first
duplicate and gives correct results for unordered sequences
TUNING
o The package can now compiled with 64bit words instead of 32bit words,
since we only measured a minor speedup, we left 32bit as the default.
BUG FIXES
o extractor and assignment functions now check for legal (positive)
subscript bounds, hence illegally large subscripts or zero no longer
cause memory violations

20180306 18:06:28 by Min Sik Kim  Files touched by this commit (3) 
Log message:
devel/Rbit: Import version 1.1.12
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 onetime boolean operations it can payoff to
convert to bit, the payoff 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 preallocated
memory for return values by calling .Call() directly: when evaluating
the speed of Caccess with preallocated 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 (ff2.10
and higher).
