evaluate

fun evaluate(segmentNumber: Long, predicate: ColumnPredicate): ColumnMatch

Evaluates predicate against one segment's column, opening no document.

Two bitmaps, and the distinction is the honest half. ColumnMatch.matches are ordinals whose stored value satisfies the predicate — a fact, decided without leaving the mapping — and ColumnMatch.residuals are ordinals whose value is not in the column at all, which the caller must resolve from the document. A column ruled out by its segment bound still reports its residuals, because a bound makes no claim about values it did not store.