Class SimpleBigSelect

  • All Implemented Interfaces:
    Select, java.io.Serializable

    public class SimpleBigSelect
    extends java.lang.Object
    implements Select
    A big version of SimpleSelect that can only be used with a LongBigArrayBitVector (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 of LongArrayBitVector.
    • 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.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 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 from bits.
      • SimpleBigSelect

        public SimpleBigSelect​(it.unimi.dsi.bits.LongBigArrayBitVector bitVector)
        Creates a new selection structure using the specified instance of LongArrayBitVector.
        Parameters:
        bitVector - an instance of LongArrayBitVector.
    • 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.
        Specified by:
        select in interface Select
        Parameters:
        rank - a rank.
        Returns:
        the position of the bit of given rank; if no such bit exists, behavior is undefined .
      • 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 interface Select
        Parameters:
        rank - the first rank to select.
        dest - the destination array; it will be filled with length positions of consecutive bits starting at position offset; must be of length greater than offset.
        offset - the first bit position written in dest.
        length - the number of bit positions in dest starting at offset.
        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 interface Select
        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 interface Select
        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.

        Specified by:
        bitVector in interface Select
        Returns:
        the bit vector indexed by this structure.