mirror of https://github.com/apache/lucene.git
LUCENE-3892: use PackedInt's VERSION constants
git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/branches/pforcodec_3892@1374985 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
44bf43fef6
commit
32126e22d8
|
@ -40,8 +40,6 @@ final class ForUtil {
|
|||
* Special number of bits per value used whenever all values to encode are equal.
|
||||
*/
|
||||
private static final int ALL_VALUES_EQUAL = 0;
|
||||
private static final int PACKED_INTS_VERSION_START = 0;
|
||||
private static final int PACKED_INTS_VERSION_CURRENT = PACKED_INTS_VERSION_START;
|
||||
|
||||
/**
|
||||
* Upper limit of the number of bytes that might be required to stored
|
||||
|
@ -58,14 +56,16 @@ final class ForUtil {
|
|||
static final int MAX_DATA_SIZE;
|
||||
static {
|
||||
int maxDataSize = 0;
|
||||
for (PackedInts.Format format : PackedInts.Format.values()) {
|
||||
for (int bpv = 1; bpv <= 32; ++bpv) {
|
||||
if (!format.isSupported(bpv)) {
|
||||
continue;
|
||||
for(int version=PackedInts.VERSION_START;version<=PackedInts.VERSION_CURRENT;version++) {
|
||||
for (PackedInts.Format format : PackedInts.Format.values()) {
|
||||
for (int bpv = 1; bpv <= 32; ++bpv) {
|
||||
if (!format.isSupported(bpv)) {
|
||||
continue;
|
||||
}
|
||||
final PackedInts.Decoder decoder = PackedInts.getDecoder(format, version, bpv);
|
||||
final int iterations = (int) Math.ceil((float) BLOCK_SIZE / decoder.valueCount());
|
||||
maxDataSize = Math.max(maxDataSize, iterations * decoder.valueCount());
|
||||
}
|
||||
final PackedInts.Decoder decoder = PackedInts.getDecoder(format, PACKED_INTS_VERSION_START, bpv);
|
||||
final int iterations = (int) Math.ceil((float) BLOCK_SIZE / decoder.valueCount());
|
||||
maxDataSize = Math.max(maxDataSize, iterations * decoder.valueCount());
|
||||
}
|
||||
}
|
||||
MAX_DATA_SIZE = maxDataSize;
|
||||
|
@ -96,7 +96,7 @@ final class ForUtil {
|
|||
* Create a new {@link ForUtil} instance and save state into <code>out</code>.
|
||||
*/
|
||||
ForUtil(float acceptableOverheadRatio, DataOutput out) throws IOException {
|
||||
out.writeVInt(PACKED_INTS_VERSION_CURRENT);
|
||||
out.writeVInt(PackedInts.VERSION_CURRENT);
|
||||
encodedSizes = new int[33];
|
||||
encoders = new PackedInts.Encoder[33];
|
||||
decoders = new PackedInts.Decoder[33];
|
||||
|
@ -109,9 +109,9 @@ final class ForUtil {
|
|||
assert formatAndBits.bitsPerValue <= 32;
|
||||
encodedSizes[bpv] = encodedSize(formatAndBits.format, formatAndBits.bitsPerValue);
|
||||
encoders[bpv] = PackedInts.getEncoder(
|
||||
formatAndBits.format, PACKED_INTS_VERSION_CURRENT, formatAndBits.bitsPerValue);
|
||||
formatAndBits.format, PackedInts.VERSION_CURRENT, formatAndBits.bitsPerValue);
|
||||
decoders[bpv] = PackedInts.getDecoder(
|
||||
formatAndBits.format, PACKED_INTS_VERSION_CURRENT, formatAndBits.bitsPerValue);
|
||||
formatAndBits.format, PackedInts.VERSION_CURRENT, formatAndBits.bitsPerValue);
|
||||
iterations[bpv] = computeIterations(decoders[bpv]);
|
||||
|
||||
out.writeVInt(formatAndBits.format.getId() << 5 | (formatAndBits.bitsPerValue - 1));
|
||||
|
@ -123,8 +123,8 @@ final class ForUtil {
|
|||
*/
|
||||
ForUtil(DataInput in) throws IOException {
|
||||
int packedIntsVersion = in.readVInt();
|
||||
if (packedIntsVersion != PACKED_INTS_VERSION_START) {
|
||||
throw new CorruptIndexException("expected version=" + PACKED_INTS_VERSION_START + " but got version=" + packedIntsVersion);
|
||||
if (packedIntsVersion != PackedInts.VERSION_START) {
|
||||
throw new CorruptIndexException("expected version=" + PackedInts.VERSION_START + " but got version=" + packedIntsVersion);
|
||||
}
|
||||
encodedSizes = new int[33];
|
||||
encoders = new PackedInts.Encoder[33];
|
||||
|
|
|
@ -675,6 +675,9 @@ public class PackedInts {
|
|||
* @return a decoder
|
||||
*/
|
||||
public static Decoder getDecoder(Format format, int version, int bitsPerValue) {
|
||||
if (version != VERSION_START) {
|
||||
throw new IllegalArgumentException("only VERSION_START is valid (got " + version + ")");
|
||||
}
|
||||
return BulkOperation.of(format, bitsPerValue);
|
||||
}
|
||||
|
||||
|
@ -687,6 +690,9 @@ public class PackedInts {
|
|||
* @return an encoder
|
||||
*/
|
||||
public static Encoder getEncoder(Format format, int version, int bitsPerValue) {
|
||||
if (version != VERSION_START) {
|
||||
throw new IllegalArgumentException("only VERSION_START is valid (got " + version + ")");
|
||||
}
|
||||
return BulkOperation.of(format, bitsPerValue);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue