Projects / Bit::Vector


Bit::Vector is a (stand-alone) C library and an object-oriented Perl module (with overloaded operators) which allows you to handle bit vectors, sets (of integers), "big integer arithmetic" (e.g. for cryptography), and boolean matrices (all of arbitrary size) very efficiently.

Operating Systems

RSS Recent releases

  •  30 Sep 2009 06:31

Release Notes: This release adds the prefix "BV_" to all global identifiers in "BitVector.c", "BitVector.h", and "Vector.xs".

  •  24 Aug 2009 21:47

Release Notes: This release fixes two minor bugs: one in GCD2() related to null-sized bitvectors (possible write outside of allocated buffer), and a sporadic one under MacOS (Darwin) related to the calculated number of bits in an unsigned long. It adds test cases for these issues.

Release Notes: This release fixes a potential problem with data exchange between systems of different endianness (by replacing Storable::freeze with Storable::nfreeze), adds more test cases for Storable, and adds a proof-of-concept example of how to freeze/thaw bit vectors with Data::Dumper (currently not recommendable though).

Release Notes: This release fixes a bug that caused Storable to not reconstruct nested data structures properly that contain several references to the same Bit::Vector object, fixes a potential problem with a hard-coded constant in BitVector.c, and updates the documentation.

Release Notes: This release automatically supports persistence (serialization) using "Storable". It fixes a glitch that made it thread-unsafe, fixes another one that made it leak memory, and fixes a problem with the Boolean C type in combination with Mac OS X.

RSS Recent comments

17 May 2010 09:45 UPi

Why is this project tagged with multimedia, Graphics, Sound/Audio, Scientific/Engineering etc? It has absolutely nothing to do with those!

12 Oct 2004 02:38 Avatar stbey

Similar project
A similar project is "libBitvector", which implements arbitrary-sized vectors of zero and one flags (bit vectors or bit strings) that can be operated on with AND, OR, XOR, NOT, LSHIFT, and RSHIFT operators.


Project Spotlight


A framework for distributed industrial automation and control.


Project Spotlight

GNU recutils

A set of tools and libraries to access human-editable text-based databases called recfiles.