DocValuesRangeSupport (Lucene 10.5.1 core API)
Description: declaration: package: org.apache.lucene.internal.vectorization, interface: DocValuesRangeSupport

Package org.apache.lucene.internal.vectorization

# Interface DocValuesRangeSupport

public interface DocValuesRangeSupport
Interface for SIMD-accelerated doc values range operations.

Implementations fill a `FixedBitSet` with the doc IDs in a range whose values satisfy a numeric range predicate. The default scalar implementation is used when the Panama Vector API is unavailable; a SIMD-accelerated implementation is used otherwise.

NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `rangeIntoBitSet(LongValues values, int fromDoc, int toDoc, long minValue, long maxValue, FixedBitSet bitSet, int offset)`
  Fills `bitSet` with the doc IDs in `[fromDoc, toDoc)` whose values (read via `values`) are in `[minValue, maxValue]`.

- ## Method Details

  - ### rangeIntoBitSet

    void rangeIntoBitSet(LongValues values, int fromDoc, int toDoc, long minValue, long maxValue, FixedBitSet bitSet, int offset)
    Fills `bitSet` with the doc IDs in `[fromDoc, toDoc)` whose values (read via `values`) are in `[minValue, maxValue]`.
    Parameters:
      `values` - random-access reader for the doc values
      `fromDoc` - first doc ID to evaluate (inclusive)
      `toDoc` - last doc ID to evaluate (exclusive)
      `minValue` - lower bound of the range (inclusive)
      `maxValue` - upper bound of the range (inclusive)
      `bitSet` - the bitset to fill
      `offset` - subtracted from each doc ID before setting the bit