public final class MonotonicBlockPackedWriter extends Object
The sequence is divided into fixed-size blocks and for each block, values are modeled after a linear function f: x → A × x + B. The block encodes deltas from the expected values computed from this function using as few bits as possible. Each block has an overhead between 6 and 14 bytes.
Format:
variable-length long
Float.floatToIntBits(float) on
4 bytes
variable-length int
packed deltas from the expected value (computed from
the function) using exaclty BitsPerValue bits per value
MonotonicBlockPackedReader| Constructor and Description |
|---|
MonotonicBlockPackedWriter(DataOutput out,
int blockSize)
Sole constructor.
|
| Modifier and Type | Method and Description |
|---|---|
void |
add(long l)
Append a new long.
|
void |
finish()
Flush all buffered data to disk.
|
long |
ord()
Return the number of values which have been added.
|
void |
reset(DataOutput out)
Reset this writer to wrap
out. |
public MonotonicBlockPackedWriter(DataOutput out, int blockSize)
blockSize - the number of values of a single block, must be a power of 2public void add(long l)
throws IOException
IOExceptionpublic void reset(DataOutput out)
out. The block size remains unchanged.public void finish()
throws IOException
reset(DataOutput) has
been called.IOExceptionpublic long ord()
Copyright © 2010 - 2020 Adobe. All Rights Reserved