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