Package me.lemire.integercompression
Class S16
java.lang.Object
me.lemire.integercompression.S16
Version of Simple16 for NewPFD and OptPFD.
Adapted by D. Lemire from the Apache Lucene project.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic int
compress
(int[] in, int currentPos, int inlength, int[] out, int tmpoutpos) Compress an integer array using Simple16static final int
compressblock
(int[] out, int outOffset, int[] in, int inOffset, int n) Compress an integer array using Simple16static final int
decompressblock
(int[] out, int outOffset, int[] in, int inOffset, int n) Decompress an integer array using Simple16static int
estimatecompress
(int[] in, int currentPos, int inlength) Estimate size of the compressed output.static void
uncompress
(int[] in, int tmpinpos, int inlength, int[] out, int currentPos, int outlength) Uncompressed data from an input array into an output array
-
Constructor Details
-
S16
public S16()
-
-
Method Details
-
compress
public static int compress(int[] in, int currentPos, int inlength, int[] out, int tmpoutpos) Compress an integer array using Simple16- Parameters:
in
- array to compresscurrentPos
- where to start readinginlength
- how many integers to readout
- output arraytmpoutpos
- location in the output array- Returns:
- the number of 32-bit words written (in compressed form)
-
estimatecompress
public static int estimatecompress(int[] in, int currentPos, int inlength) Estimate size of the compressed output.- Parameters:
in
- array to compresscurrentPos
- where to start readinginlength
- how many integers to read- Returns:
- estimated size of the output (in 32-bit integers)
-
compressblock
public static final int compressblock(int[] out, int outOffset, int[] in, int inOffset, int n) Compress an integer array using Simple16- Parameters:
out
- the compressed outputoutOffset
- the offset of the output in the number of integersin
- the integer input arrayinOffset
- the offset of the input in the number of integersn
- the number of elements to be compressed- Returns:
- the size of the outputs in 32-bit integers
-
decompressblock
public static final int decompressblock(int[] out, int outOffset, int[] in, int inOffset, int n) Decompress an integer array using Simple16- Parameters:
out
- the decompressed outputoutOffset
- the offset of the output in the number of integersin
- the compressed input arrayinOffset
- the offset of the input in the number of integersn
- the number of elements to be compressed- Returns:
- the number of processed integers
-
uncompress
public static void uncompress(int[] in, int tmpinpos, int inlength, int[] out, int currentPos, int outlength) Uncompressed data from an input array into an output array- Parameters:
in
- input array (in compressed form)tmpinpos
- starting location in the compressed input arrayinlength
- how much data we wish the read (in 32-bit words)out
- output array (in decompressed form)currentPos
- current position in the output arrayoutlength
- available data in the output array
-