Project Release Information
This release adds the prefix "BV_" to all global identifiers in "BitVector.c", "BitVector.h", and "Vector.xs".
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.
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).
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.
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.
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.