Package com.tdunning.math.stats
Class Simple64
java.lang.Object
com.tdunning.math.stats.Simple64
Very simple variable byte encoding that always uses 64bit units. The idea is that the next few values
are smashed into 64 bits using a few bits to indicate how they are fitted in and the rest of the bits
to fit each value into equal-sized chunks.
In this encoding, 4 bits are used to indicate how the remaining 60 bits are divided. The possible ways are shown
in the following table:
Code | Arrangement |
---|---|
14 | 1 X 60BITS |
13 | 2 X 30BITS |
12 | 3 X 20BITS |
11 | 4 X 15BITS |
10 | 5 X 12BITS |
9 | 6 X 10BITS |
8 | 7 X 8BITS |
7 | 8 X 7BITS |
6 | 10 X 6BITS |
5 | 12 X 5BITS |
4 | 15 X 4BITS |
3 | 20 X 3BITS |
2 | 30 X 2BITS |
1 | 60 X 1BITS |
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private int
private int
private long
private int
private static final int
private final long[]
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
private static final int
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionint
add
(long v, long[] out) static void
compress
(LongBuffer compressedBuffer, long[] unCompressedData, int offset, int size) private static int
compressSingle
(long[] uncompressed, int inOffset, int inSize, LongBuffer compressedBuffer) static int
decompress
(LongBuffer compressedBuffer, long[] unCompressedData) private static int
decompressSingle
(long s9, long[] decompressed, int outOffset) private void
reset()
-
Field Details
-
NUM_DATA_BITS
private static final int NUM_DATA_BITS- See Also:
-
BITS_30_MASK
private static final int BITS_30_MASK- See Also:
-
BITS_20_MASK
private static final int BITS_20_MASK- See Also:
-
BITS_15_MASK
private static final int BITS_15_MASK- See Also:
-
BITS_12_MASK
private static final int BITS_12_MASK- See Also:
-
BITS_11_MASK
private static final int BITS_11_MASK- See Also:
-
BITS_10_MASK
private static final int BITS_10_MASK- See Also:
-
BITS_8_MASK
private static final int BITS_8_MASK- See Also:
-
BITS_7_MASK
private static final int BITS_7_MASK- See Also:
-
BITS_6_MASK
private static final int BITS_6_MASK- See Also:
-
BITS_5_MASK
private static final int BITS_5_MASK- See Also:
-
BITS_4_MASK
private static final int BITS_4_MASK- See Also:
-
BITS_3_MASK
private static final int BITS_3_MASK- See Also:
-
BITS_2_MASK
private static final int BITS_2_MASK- See Also:
-
BITS_1_MASK
private static final int BITS_1_MASK- See Also:
-
STATUS_1NUM_60BITS
private static final int STATUS_1NUM_60BITS- See Also:
-
STATUS_2NUM_30BITS
private static final int STATUS_2NUM_30BITS- See Also:
-
STATUS_3NUM_20BITS
private static final int STATUS_3NUM_20BITS- See Also:
-
STATUS_4NUM_15BITS
private static final int STATUS_4NUM_15BITS- See Also:
-
STATUS_5NUM_12BITS
private static final int STATUS_5NUM_12BITS- See Also:
-
STATUS_6NUM_10BITS
private static final int STATUS_6NUM_10BITS- See Also:
-
STATUS_7NUM_8BITS
private static final int STATUS_7NUM_8BITS- See Also:
-
STATUS_8NUM_7BITS
private static final int STATUS_8NUM_7BITS- See Also:
-
STATUS_10NUM_6BITS
private static final int STATUS_10NUM_6BITS- See Also:
-
STATUS_12NUM_5BITS
private static final int STATUS_12NUM_5BITS- See Also:
-
STATUS_15NUM_4BITS
private static final int STATUS_15NUM_4BITS- See Also:
-
STATUS_20NUM_3BITS
private static final int STATUS_20NUM_3BITS- See Also:
-
STATUS_30NUM_2BITS
private static final int STATUS_30NUM_2BITS- See Also:
-
STATUS_60NUM_1BITS
private static final int STATUS_60NUM_1BITS- See Also:
-
inputCompressable
private int inputCompressable -
minBits
private int minBits -
maxFitPlus1
private long maxFitPlus1 -
pending
private final long[] pending -
inputCount
private int inputCount
-
-
Constructor Details
-
Simple64
public Simple64()
-
-
Method Details
-
reset
private void reset() -
add
public int add(long v, long[] out) -
compressSingle
private static int compressSingle(long[] uncompressed, int inOffset, int inSize, LongBuffer compressedBuffer) -
decompressSingle
private static int decompressSingle(long s9, long[] decompressed, int outOffset) -
compress
public static void compress(LongBuffer compressedBuffer, long[] unCompressedData, int offset, int size) -
decompress
-