diff options
author | jonmv <venstad@gmail.com> | 2022-10-25 11:46:47 +0200 |
---|---|---|
committer | jonmv <venstad@gmail.com> | 2022-10-26 12:07:18 +0200 |
commit | 731208d1aef2d3fb107b9f4fbfc4a733f8569841 (patch) | |
tree | 35cec9078c40f5fc9f0c219e12afaf4e95c1f346 /vespajlib/src/main/java/com | |
parent | 74ab1c364fb11c46811cc12ed92807d06da674ff (diff) |
Add IntegerCompressor.compressionMode
Diffstat (limited to 'vespajlib/src/main/java/com')
-rw-r--r-- | vespajlib/src/main/java/com/yahoo/compress/IntegerCompressor.java | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/vespajlib/src/main/java/com/yahoo/compress/IntegerCompressor.java b/vespajlib/src/main/java/com/yahoo/compress/IntegerCompressor.java index fada7243b95..42178fa3ffd 100644 --- a/vespajlib/src/main/java/com/yahoo/compress/IntegerCompressor.java +++ b/vespajlib/src/main/java/com/yahoo/compress/IntegerCompressor.java @@ -10,6 +10,14 @@ import java.nio.ByteBuffer; */ public class IntegerCompressor { + public enum Mode { NONE, COMPRESSED, COMPRESSED_POSITIVE; } + + public static Mode compressionMode(int min, int max) { + if (min >= 0 && max < 1 << 30) return Mode.COMPRESSED_POSITIVE; + if (min > -1 << 29 && max < 1 << 29) return Mode.COMPRESSED; + return Mode.NONE; + } + public static void putCompressedNumber(int n, ByteBuffer buf) { int negative = n < 0 ? 0x80 : 0x0; if (negative != 0) { |