internal AnonymousClassFieldCacheDocIdSet(FieldCache.Int16s values, short inclusiveLowerPoint, short inclusiveUpperPoint, int maxDoc, IBits acceptDocs) : base(maxDoc, acceptDocs) { this.values = values; this.inclusiveLowerPoint = inclusiveLowerPoint; this.inclusiveUpperPoint = inclusiveUpperPoint; }
public override DocIdSet GetDocIdSet(AtomicReaderContext context, IBits acceptDocs) { short inclusiveLowerPoint, inclusiveUpperPoint; if (lowerVal != null) { short i = (short)lowerVal; if (!includeLower && i == short.MaxValue) { return(null); } inclusiveLowerPoint = (short)(includeLower ? i : (i + 1)); } else { inclusiveLowerPoint = short.MinValue; } if (upperVal != null) { short i = (short)upperVal; if (!includeUpper && i == short.MinValue) { return(null); } inclusiveUpperPoint = (short)(includeUpper ? i : (i - 1)); } else { inclusiveUpperPoint = short.MaxValue; } if (inclusiveLowerPoint > inclusiveUpperPoint) { return(null); } #pragma warning disable 612, 618 FieldCache.Int16s values = FieldCache.DEFAULT.GetInt16s(context.AtomicReader, field, (FieldCache.IInt16Parser)parser, false); #pragma warning restore 612, 618 // we only request the usage of termDocs, if the range contains 0 return(new FieldCacheDocIdSet(context.Reader.MaxDoc, acceptDocs, (doc) => { short value = values.Get(doc); return value >= inclusiveLowerPoint && value <= inclusiveUpperPoint; })); }