Package it.unimi.dsi.sux4j.bits
Class SimpleBigSelect
- java.lang.Object
-
- it.unimi.dsi.sux4j.bits.SimpleBigSelect
-
- All Implemented Interfaces:
Select
,java.io.Serializable
public class SimpleBigSelect extends java.lang.Object implements Select
A big version ofSimpleSelect
that can only be used with aLongBigArrayBitVector
(or long big arrays).- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description SimpleBigSelect(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.SimpleBigSelect(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.LongBigArrayBitVector
bitVector()
Returns the bit vector indexed by this structure.long
numBits()
Returns the overall number of bits allocated by this structure.long
select(long rank)
Returns the position of the bit of given rank.long[]
select(long rank, long[] dest)
Performs a bulk select of consecutive ranks into a given array.long[]
select(long rank, long[] dest, int offset, int length)
Performs a bulk select of consecutive ranks into a given array fragment.
-
-
-
Constructor Detail
-
SimpleBigSelect
public SimpleBigSelect(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
.
-
SimpleBigSelect
public SimpleBigSelect(it.unimi.dsi.bits.LongBigArrayBitVector bitVector)
Creates a new selection structure using the specified instance ofLongArrayBitVector
.- Parameters:
bitVector
- an instance ofLongArrayBitVector
.
-
-
Method Detail
-
select
public long select(long rank)
Description copied from interface:Select
Returns the position of the bit of given rank. Equivalently, returns the greatest position that is preceded by the specified number of ones.
-
select
public long[] select(long rank, long[] dest, int offset, int length)
Description copied from interface:Select
Performs a bulk select of consecutive ranks into a given array fragment.- Specified by:
select
in interfaceSelect
- Parameters:
rank
- the first rank to select.dest
- the destination array; it will be filled withlength
positions 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 indest
starting atoffset
.- Returns:
dest
- See Also:
Select.select(long, long[])
-
select
public long[] select(long rank, long[] dest)
Description copied from interface:Select
Performs a bulk select of consecutive ranks into a given array.- Specified by:
select
in interfaceSelect
- Parameters:
rank
- the first rank to select.dest
- the destination array; it will be filled with position of consecutive bits.- Returns:
dest
- See Also:
Select.select(long, long[], int, int)
-
numBits
public long numBits()
Description copied from interface:Select
Returns the overall number of bits allocated by this structure.- Specified by:
numBits
in interfaceSelect
- 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:Select
Returns the bit vector indexed by this structure.Note that you are not supposed to modify the returned vector.
-
-