Package it.unimi.dsi.sux4j.bits
Class SimpleBigSelectZero
- java.lang.Object
-
- it.unimi.dsi.sux4j.bits.SimpleBigSelectZero
-
- All Implemented Interfaces:
SelectZero,java.io.Serializable
public class SimpleBigSelectZero extends java.lang.Object implements SelectZero
A big version ofSimpleSelectZerothat can only be used with aLongBigArrayBitVector(or long big arrays).- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description SimpleBigSelectZero(long[][] bits, long length)Creates a new selection structure using a bit vector specified by a big array of longs and a number of bits.SimpleBigSelectZero(it.unimi.dsi.bits.LongBigArrayBitVector bitVector)Creates a new selection structure using the specified instance ofLongArrayBitVector.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description it.unimi.dsi.bits.LongBigArrayBitVectorbitVector()Returns the bit vector indexed by this structure.longnumBits()Returns the overall number of bits allocated by this structure.longselectZero(long rank)Returns the position of the bit of given zero rank.long[]selectZero(long rank, long[] dest)Performs a bulk select of consecutive zero ranks into a given array.long[]selectZero(long rank, long[] dest, int offset, int length)Performs a bulk select of consecutive zero ranks into a given array fragment.
-
-
-
Constructor Detail
-
SimpleBigSelectZero
public SimpleBigSelectZero(long[][] bits, long length)Creates a new selection structure using a bit vector specified by a big array of longs and a number of bits.- Parameters:
bits- a big array of longs representing a bit array.length- the number of bits to use frombits.
-
SimpleBigSelectZero
public SimpleBigSelectZero(it.unimi.dsi.bits.LongBigArrayBitVector bitVector)
Creates a new selection structure using the specified instance ofLongArrayBitVector.- Parameters:
bitVector- an instance ofLongArrayBitVector.
-
-
Method Detail
-
selectZero
public long selectZero(long rank)
Description copied from interface:SelectZeroReturns the position of the bit of given zero rank. Equivalently, returns the greatest position that is preceded by the specified number of zeroes.- Specified by:
selectZeroin interfaceSelectZero- Parameters:
rank- a zero rank.- Returns:
- the position of the bit of given zero rank; if no such bit exists, behavior is undefined .
-
selectZero
public long[] selectZero(long rank, long[] dest, int offset, int length)Description copied from interface:SelectZeroPerforms a bulk select of consecutive zero ranks into a given array fragment.- Specified by:
selectZeroin interfaceSelectZero- Parameters:
rank- the first zero rank to select.dest- the destination array; it will be filled withlengthpositions of consecutive bits starting at positionoffset; must be of length greater thanoffset.offset- the first bit position written indest.length- the number of bit positions indeststarting atoffset.- Returns:
dest- See Also:
SelectZero.selectZero(long, long[])
-
selectZero
public long[] selectZero(long rank, long[] dest)Description copied from interface:SelectZeroPerforms a bulk select of consecutive zero ranks into a given array.- Specified by:
selectZeroin interfaceSelectZero- Parameters:
rank- the first zero rank to select.dest- the destination array; it will be filled with position of consecutive bits.- Returns:
dest- See Also:
SelectZero.selectZero(long, long[], int, int)
-
numBits
public long numBits()
Description copied from interface:SelectZeroReturns the overall number of bits allocated by this structure.- Specified by:
numBitsin interfaceSelectZero- Returns:
- the overall number of bits allocated by this structure (not including the bits of the indexed vector).
-
bitVector
public it.unimi.dsi.bits.LongBigArrayBitVector bitVector()
Description copied from interface:SelectZeroReturns the bit vector indexed by this structure.Note that you are not supposed to modify the returned vector.
- Specified by:
bitVectorin interfaceSelectZero- Returns:
- the bit vector indexed by this structure.
-
-