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.
| Tags | multimedia Graphics Sound/Audio Scientific/Engineering Mathematics Security Cryptography Software Development Code Generators Compilers Interpreters Libraries |
|---|---|
| Licenses | Artistic GPL LGPL |
| Operating Systems | OS Independent |
| Implementation | C Perl |
Recent releases


Changes: This release features C++ compiler directives, an improved method Norm(), a new module for generic string import/export plus corresponding tests, fixes a bug in sign extension in the method Copy(), and removes the module Carp::Clan from the distribution, which is available separately.


Changes: This version adds the possibility to create more than one bit vector at a time with "new()", optionally provides the extension (linear combination of input values) of Euclid's GCD algorithm, and reduces code size by 20% (which means it should load a little faster now).


Changes: This release fixes GCD(), adds regression tests and documentation, eradicates compiler warnings, and adds new (C level) error handlers and a C play-with demo.


Changes: The problem which caused some of the tests with overloaded operators to fail under Perl 5.7.1 and Perl 5.7.2 was fixed, as well as the problem with the VMS linker, which is unable to distinguish case.


Changes: The XS and Perl (overloaded operators) part was split for better performance. Handling of overflow in arithmetic routines (in the C part) was corrected, and add() and subtract() were changed accordingly. inc() and dec() were added. from_Dec() now allows positive numbers larger than 2**(#bits-1).
An affiliate program creator and affiliate network manager for Joomla! and Virtuemart.
- All comments
Recent commentsSimilar 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.