aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortota <tota@FreeBSD.org>2015-08-09 15:33:33 +0800
committertota <tota@FreeBSD.org>2015-08-09 15:33:33 +0800
commitcd38a5e45503e2d819db917e79eb0149a33caad4 (patch)
tree1f7b06db3ca3d0830203e7c41b9ee8300bd59d7b
parent281717ca708dd516d47731bc1a9492324f61ac25 (diff)
downloadfreebsd-ports-gnome-cd38a5e45503e2d819db917e79eb0149a33caad4.tar.gz
freebsd-ports-gnome-cd38a5e45503e2d819db917e79eb0149a33caad4.tar.zst
freebsd-ports-gnome-cd38a5e45503e2d819db917e79eb0149a33caad4.zip
- Add new port: devel/R-cran-bit
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). WWW: https://cran.r-project.org/web/packages/bit/
-rw-r--r--devel/Makefile1
-rw-r--r--devel/R-cran-bit/Makefile16
-rw-r--r--devel/R-cran-bit/distinfo2
-rw-r--r--devel/R-cran-bit/pkg-descr23
4 files changed, 42 insertions, 0 deletions
diff --git a/devel/Makefile b/devel/Makefile
index 53f949ec30d7..a2bf6d897c42 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -12,6 +12,7 @@
SUBDIR += R-cran-Hmisc
SUBDIR += R-cran-RUnit
SUBDIR += R-cran-Rcpp
+ SUBDIR += R-cran-bit
SUBDIR += R-cran-bitops
SUBDIR += R-cran-caTools
SUBDIR += R-cran-caret
diff --git a/devel/R-cran-bit/Makefile b/devel/R-cran-bit/Makefile
new file mode 100644
index 000000000000..9a89ac32cb7e
--- /dev/null
+++ b/devel/R-cran-bit/Makefile
@@ -0,0 +1,16 @@
+# Created by: TAKATSU Tomonari <tota@FreeBSD.org>
+# $FreeBSD$
+
+PORTNAME= bit
+DISTVERSION= 1.1-12
+CATEGORIES= devel
+DISTNAME= ${PORTNAME}_${DISTVERSION}
+
+MAINTAINER= tota@FreeBSD.org
+COMMENT= Class for vectors of 1-bit booleans
+
+LICENSE= GPLv2
+
+USES= cran:auto-plist
+
+.include <bsd.port.mk>
diff --git a/devel/R-cran-bit/distinfo b/devel/R-cran-bit/distinfo
new file mode 100644
index 000000000000..c47af7db95e4
--- /dev/null
+++ b/devel/R-cran-bit/distinfo
@@ -0,0 +1,2 @@
+SHA256 (bit_1.1-12.tar.gz) = ce281c87fb7602bf1a599e72f3e25f9ff7a13e390c124a4506087f69ad79d128
+SIZE (bit_1.1-12.tar.gz) = 53737
diff --git a/devel/R-cran-bit/pkg-descr b/devel/R-cran-bit/pkg-descr
new file mode 100644
index 000000000000..2f7f34e3bf13
--- /dev/null
+++ b/devel/R-cran-bit/pkg-descr
@@ -0,0 +1,23 @@
+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).
+
+WWW: https://cran.r-project.org/web/packages/bit/