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

Versions

  • 1.1_12

License

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.

about:
  home: http://ff.r-forge.r-project.org/
  license: GPL-2
  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).
# License: GPL-2
# LazyLoad: yes
# ByteCompile: yes
# Encoding: latin1
# URL: http://ff.r-forge.r-project.org/
# Packaged: 2014-04-08 21:51:43 UTC; jens
# NeedsCompilation: yes
# Repository: CRAN
# Date/Publication: 2014-04-09 09:54:10

# See
# http://docs.continuum.io/conda/build.html for
# more information about meta.yaml