Class ForDeltaUtil

java.lang.Object
org.apache.lucene.codecs.lucene912.ForDeltaUtil

public final class ForDeltaUtil extends Object
Inspired from https://fulmicoton.com/posts/bitpacking/ Encodes multiple integers in a long to get SIMD-like speedups. If bitsPerValue <= 4 then we pack 8 ints per long else if bitsPerValue <= 11 we pack 4 ints per long else we pack 2 ints per long
  • Field Details

    • ONE_BLOCK_SIZE_FOURTH

      private static final int ONE_BLOCK_SIZE_FOURTH
      See Also:
    • TWO_BLOCK_SIZE_FOURTHS

      private static final int TWO_BLOCK_SIZE_FOURTHS
      See Also:
    • THREE_BLOCK_SIZE_FOURTHS

      private static final int THREE_BLOCK_SIZE_FOURTHS
      See Also:
    • ONE_BLOCK_SIZE_EIGHT

      private static final int ONE_BLOCK_SIZE_EIGHT
      See Also:
    • TWO_BLOCK_SIZE_EIGHTS

      private static final int TWO_BLOCK_SIZE_EIGHTS
      See Also:
    • THREE_BLOCK_SIZE_EIGHTS

      private static final int THREE_BLOCK_SIZE_EIGHTS
      See Also:
    • FOUR_BLOCK_SIZE_EIGHTS

      private static final int FOUR_BLOCK_SIZE_EIGHTS
      See Also:
    • FIVE_BLOCK_SIZE_EIGHTS

      private static final int FIVE_BLOCK_SIZE_EIGHTS
      See Also:
    • SIX_BLOCK_SIZE_EIGHTS

      private static final int SIX_BLOCK_SIZE_EIGHTS
      See Also:
    • SEVEN_BLOCK_SIZE_EIGHTS

      private static final int SEVEN_BLOCK_SIZE_EIGHTS
      See Also:
    • IDENTITY_PLUS_ONE

      private static final long[] IDENTITY_PLUS_ONE
    • tmp

      private final long[] tmp
  • Constructor Details

    • ForDeltaUtil

      public ForDeltaUtil()
  • Method Details