Interface PackedInts.Encoder

  • Enclosing class:
    PackedInts

    public static interface PackedInts.Encoder
    An encoder for packed integers.
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      int byteBlockCount()
      The minimum number of byte blocks to encode in a single iteration, when using byte encoding.
      int byteValueCount()
      The number of values that can be stored in byteBlockCount() byte blocks.
      void encode​(int[] values, int valuesOffset, byte[] blocks, int blocksOffset, int iterations)
      Read iterations * valueCount() values from values, encode them and write 8 * iterations * blockCount() blocks into blocks.
      void encode​(int[] values, int valuesOffset, long[] blocks, int blocksOffset, int iterations)
      Read iterations * valueCount() values from values, encode them and write iterations * blockCount() blocks into blocks.
      void encode​(long[] values, int valuesOffset, byte[] blocks, int blocksOffset, int iterations)
      Read iterations * valueCount() values from values, encode them and write 8 * iterations * blockCount() blocks into blocks.
      void encode​(long[] values, int valuesOffset, long[] blocks, int blocksOffset, int iterations)
      Read iterations * valueCount() values from values, encode them and write iterations * blockCount() blocks into blocks.
      int longBlockCount()
      The minimum number of long blocks to encode in a single iteration, when using long encoding.
      int longValueCount()
      The number of values that can be stored in longBlockCount() long blocks.
    • Method Detail

      • longBlockCount

        int longBlockCount()
        The minimum number of long blocks to encode in a single iteration, when using long encoding.
      • longValueCount

        int longValueCount()
        The number of values that can be stored in longBlockCount() long blocks.
      • byteBlockCount

        int byteBlockCount()
        The minimum number of byte blocks to encode in a single iteration, when using byte encoding.
      • byteValueCount

        int byteValueCount()
        The number of values that can be stored in byteBlockCount() byte blocks.
      • encode

        void encode​(long[] values,
                    int valuesOffset,
                    long[] blocks,
                    int blocksOffset,
                    int iterations)
        Read iterations * valueCount() values from values, encode them and write iterations * blockCount() blocks into blocks.
        Parameters:
        blocks - the long blocks that hold packed integer values
        blocksOffset - the offset where to start writing blocks
        values - the values buffer
        valuesOffset - the offset where to start reading values
        iterations - controls how much data to encode
      • encode

        void encode​(long[] values,
                    int valuesOffset,
                    byte[] blocks,
                    int blocksOffset,
                    int iterations)
        Read iterations * valueCount() values from values, encode them and write 8 * iterations * blockCount() blocks into blocks.
        Parameters:
        blocks - the long blocks that hold packed integer values
        blocksOffset - the offset where to start writing blocks
        values - the values buffer
        valuesOffset - the offset where to start reading values
        iterations - controls how much data to encode
      • encode

        void encode​(int[] values,
                    int valuesOffset,
                    long[] blocks,
                    int blocksOffset,
                    int iterations)
        Read iterations * valueCount() values from values, encode them and write iterations * blockCount() blocks into blocks.
        Parameters:
        blocks - the long blocks that hold packed integer values
        blocksOffset - the offset where to start writing blocks
        values - the values buffer
        valuesOffset - the offset where to start reading values
        iterations - controls how much data to encode
      • encode

        void encode​(int[] values,
                    int valuesOffset,
                    byte[] blocks,
                    int blocksOffset,
                    int iterations)
        Read iterations * valueCount() values from values, encode them and write 8 * iterations * blockCount() blocks into blocks.
        Parameters:
        blocks - the long blocks that hold packed integer values
        blocksOffset - the offset where to start writing blocks
        values - the values buffer
        valuesOffset - the offset where to start reading values
        iterations - controls how much data to encode