Package it.unimi.dsi.bits
package it.unimi.dsi.bits
Main classes manipulating bits
The BitVector
interface is the basis for bit vector manipulation.
The LongArrayBitVector
implementation is its main implementation.
The idea is to offer an efficent but easytouse bitvector class by allowing access under many different views. For instance,
a bit vector can be seen as a LongBigList
of integers of fixed width. Or as a sorted set of
integers, where the positions of the bits set to one represent elements.
Whenever another object has to be turned into a bit string, you can provide a
TransformationStrategy
to that purpose. The static container
TransformationStrategies
has several readymade transformations,
and some useful wrapping methods.

ClassDescriptionAn abstract implementation of a
BitVector
.A listofintegers view of a bit vector.A view of a bit vector as a sorted set of long integers.A subvector of a given bit vector, specified by an initial and a final bit.A vector of bits, a.k.a. bit sequence, bit string, binary word, etc.A class providing static methods and objects that do useful things with bit vectors.A booleanlist based implementation ofBitVector
.Allpurpose optimised bitfiddling staticmethod container class.A transformation strategy mapping strings to their HuTucker encoding.A bit vector implementation based on arrays of longs.A listofintegers view of a bit vector.A bit vector implementation based on a big arrays of longs.A listofintegers view of a bit vector.A transformation strategy mapping strings using a prefixfree encoder.A class providing static methods and objects that do useful things with transformation strategies.A generic transformation from objects of a given type to bit vector.