Package org.apache.lucene.util.packed

# Interface PackedInts.Decoder

Enclosing class:
  `PackedInts`

public static interface PackedInts.Decoder
A decoder for packed integers.

- ## Method Summary

  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`
  `decode(byte[] blocks, int blocksOffset, int[] values, int valuesOffset, int iterations)`
  Read `8 * iterations * blockCount()` blocks from `blocks`, decode them and write `iterations * valueCount()` values into `values`.
  `void`
  `decode(byte[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations)`
  Read `8 * iterations * blockCount()` blocks from `blocks`, decode them and write `iterations * valueCount()` values into `values`.
  `void`
  `decode(long[] blocks, int blocksOffset, int[] values, int valuesOffset, int iterations)`
  Read `iterations * blockCount()` blocks from `blocks`, decode them and write `iterations * valueCount()` values into `values`.
  `void`
  `decode(long[] blocks, int blocksOffset, long[] values, int valuesOffset, int iterations)`
  Read `iterations * blockCount()` blocks from `blocks`, decode them and write `iterations * valueCount()` values into `values`.
  `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 Details

  - ### 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.

  - ### decode

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

  - ### decode

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

  - ### decode

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

  - ### decode

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