summaryrefslogtreecommitdiff
path: root/devel/R-bit
AgeCommit message (Collapse)AuthorFilesLines
2019-08-08Update all R packages to canonical form.brook1-6/+4
The canonical form [1] of an R package Makefile includes the following: - The first stanza includes R_PKGNAME, R_PKGVER, PKGREVISION (as needed), and CATEGORIES. - HOMEPAGE is not present but defined in math/R/Makefile.extension to refer to the CRAN web page describing the package. Other relevant web pages are often linked from there via the URL field. This updates all current R packages to this form, which will make regular updates _much_ easier, especially using pkgtools/R2pkg. [1] http://mail-index.netbsd.org/tech-pkg/2019/08/02/msg021711.html
2019-07-31R-bit: update to canonical form of an R package.brook1-3/+2
2018-07-28Remove MASTER_SITES= from individual R package Makefiles.brook1-2/+1
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. Package-specific definitions also prevent redefining MASTER_SITES in a single common place.
2018-07-04Update to 1.1.14wen2-7/+7
Upstream changes: CHANGES IN bit VERSION 1.1-14 BUG FIXES o bit[i] and bit[i]<-v now check for non-positive integers which prevents a segfault when bit[NA] or bit[NA]<-v CHANGES IN bit VERSION 1.1-13 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 out-of-bound 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 out-of-bound requests o extractor function '[.bit' with range index subscripts (ri) subscripts now behaves like '[[.bit' and throws an error for out-of-bound 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
2018-03-06devel/R-bit: Import version 1.1.12minskim3-0/+45
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).