public NodeHash(FST <T> fst, FST.BytesReader @in) { Table = new PagedGrowableWriter(16, 1 << 30, 8, PackedInts.COMPACT); Mask = 15; this.Fst = fst; this.@in = @in; }
public NodeHash(FST <T> fst, FST.BytesReader input) { table = new PagedGrowableWriter(16, 1 << 30, 8, PackedInt32s.COMPACT); mask = 15; this.fst = fst; this.input = input; }
private void Add(int doc, long?value) // LUCENENET specific: Marked private instead of public and changed the value parameter type { // TODO: if the Sorter interface changes to take long indexes, we can remove that limitation if (size == int.MaxValue) { throw IllegalStateException.Create("cannot support more than System.Int32.MaxValue doc/value entries"); } long?val = value; if (val == null) { val = NumericDocValuesUpdate.MISSING; } // grow the structures to have room for more elements if (docs.Count == size) { docs = docs.Grow(size + 1); values = values.Grow(size + 1); docsWithField = FixedBitSet.EnsureCapacity(docsWithField, (int)docs.Count); } if (val != NumericDocValuesUpdate.MISSING) { // only mark the document as having a value in that field if the value wasn't set to null (MISSING) docsWithField.Set(size); } docs.Set(size, doc); values.Set(size, val.Value); ++size; }
public override void Add(int doc, object value) { // TODO: if the Sorter interface changes to take long indexes, we can remove that limitation if (size == int.MaxValue) { throw new InvalidOperationException("cannot support more than System.Int32.MaxValue doc/value entries"); } long?val = (long?)value; if (val == null) { val = NumericDocValuesUpdate.MISSING; } // grow the structures to have room for more elements if (docs.Count == size) { docs = docs.Grow(size + 1); values = values.Grow(size + 1); docsWithField = FixedBitSet.EnsureCapacity(docsWithField, (int)docs.Count); } if (val != NumericDocValuesUpdate.MISSING) { // only mark the document as having a value in that field if the value wasn't set to null (MISSING) docsWithField.Set(size); } docs.Set(size, doc); values.Set(size, (long)val); ++size; }
public override void Merge(DocValuesFieldUpdates other) { if (Debugging.AssertsEnabled) { Debugging.Assert(other is NumericDocValuesFieldUpdates); } NumericDocValuesFieldUpdates otherUpdates = (NumericDocValuesFieldUpdates)other; if (size + otherUpdates.size > int.MaxValue) { throw new InvalidOperationException("cannot support more than System.Int32.MaxValue doc/value entries; size=" + size + " other.size=" + otherUpdates.size); } docs = docs.Grow(size + otherUpdates.size); values = values.Grow(size + otherUpdates.size); docsWithField = FixedBitSet.EnsureCapacity(docsWithField, (int)docs.Count); for (int i = 0; i < otherUpdates.size; i++) { int doc = (int)otherUpdates.docs.Get(i); if (otherUpdates.docsWithField.Get(i)) { docsWithField.Set(size); } docs.Set(size, doc); values.Set(size, otherUpdates.values.Get(i)); ++size; } }
public InPlaceMergeSorterAnonymousInnerClassHelper(PagedMutable docs, PagedGrowableWriter offsets, PagedGrowableWriter lengths, FixedBitSet docsWithField) { this.docs = docs; this.offsets = offsets; this.lengths = lengths; this.docsWithField = docsWithField; }
internal Iterator(int size, PagedGrowableWriter values, FixedBitSet docsWithField, PagedMutable docs) { this.Size = size; this.Values = values; this.DocsWithField = docsWithField; this.Docs = docs; }
public override void Merge(DocValuesFieldUpdates other) { BinaryDocValuesFieldUpdates otherUpdates = (BinaryDocValuesFieldUpdates)other; int newSize = size + otherUpdates.size; if (newSize > int.MaxValue) { throw new InvalidOperationException("cannot support more than System.Int32.MaxValue doc/value entries; size=" + size + " other.size=" + otherUpdates.size); } docs = docs.Grow(newSize); offsets = offsets.Grow(newSize); lengths = lengths.Grow(newSize); docsWithField = FixedBitSet.EnsureCapacity(docsWithField, (int)docs.Count); for (int i = 0; i < otherUpdates.size; i++) { int doc = (int)otherUpdates.docs.Get(i); if (otherUpdates.docsWithField.Get(i)) { docsWithField.Set(size); } docs.Set(size, doc); offsets.Set(size, values.Length + otherUpdates.offsets.Get(i)); // correct relative offset lengths.Set(size, otherUpdates.lengths.Get(i)); ++size; } values.Append(otherUpdates.values); }
public InPlaceMergeSorterAnonymousInnerClassHelper(NumericDocValuesFieldUpdates outerInstance, PagedMutable docs, PagedGrowableWriter values, FixedBitSet docsWithField) { this.outerInstance = outerInstance; this.docs = docs; this.values = values; this.docsWithField = docsWithField; }
public override void Merge(DocValuesFieldUpdates other) { BinaryDocValuesFieldUpdates otherUpdates = (BinaryDocValuesFieldUpdates)other; int newSize = Size + otherUpdates.Size; if (newSize > int.MaxValue) { throw new InvalidOperationException("cannot support more than Integer.MAX_VALUE doc/value entries; size=" + Size + " other.size=" + otherUpdates.Size); } Docs = Docs.Grow(newSize); Offsets = Offsets.Grow(newSize); Lengths = Lengths.Grow(newSize); DocsWithField = FixedBitSet.EnsureCapacity(DocsWithField, (int)Docs.Size()); for (int i = 0; i < otherUpdates.Size; i++) { int doc = (int)otherUpdates.Docs.Get(i); if (otherUpdates.DocsWithField.Get(i)) { DocsWithField.Set(Size); } Docs.Set(Size, doc); Offsets.Set(Size, Values.Length + otherUpdates.Offsets.Get(i)); // correct relative offset Lengths.Set(Size, otherUpdates.Lengths.Get(i)); ++Size; } Values.Append(otherUpdates.Values); }
internal Iterator(int size, PagedGrowableWriter values, FixedBitSet docsWithField, PagedMutable docs) { this.size = size; this.values = values; this.docsWithField = docsWithField; this.docs = docs; }
public NumericDocValuesFieldUpdates(string field, int maxDoc) : base(field, DocValuesFieldUpdatesType.NUMERIC) { docsWithField = new FixedBitSet(64); docs = new PagedMutable(1, 1024, PackedInt32s.BitsRequired(maxDoc - 1), PackedInt32s.COMPACT); values = new PagedGrowableWriter(1, 1024, 1, PackedInt32s.FAST); size = 0; }
public InPlaceMergeSorterAnonymousInnerClassHelper(BinaryDocValuesFieldUpdates outerInstance, PagedMutable docs, PagedGrowableWriter offsets, PagedGrowableWriter lengths, FixedBitSet docsWithField) { this.OuterInstance = outerInstance; this.Docs = docs; this.Offsets = offsets; this.Lengths = lengths; this.DocsWithField = docsWithField; }
internal Iterator(int size, PagedGrowableWriter offsets, PagedGrowableWriter lengths, PagedMutable docs, BytesRef values, FixedBitSet docsWithField) { this.Offsets = offsets; this.Size = size; this.Lengths = lengths; this.Docs = docs; this.DocsWithField = docsWithField; Value_Renamed = (BytesRef)values.Clone(); }
internal Iterator(int size, PagedGrowableWriter offsets, PagedGrowableWriter lengths, PagedMutable docs, BytesRef values, FixedBitSet docsWithField) { this.offsets = offsets; this.size = size; this.lengths = lengths; this.docs = docs; this.docsWithField = docsWithField; value = (BytesRef)values.Clone(); }
public BinaryDocValuesFieldUpdates(string field, int maxDoc) : base(field, Type_e.BINARY) { DocsWithField = new FixedBitSet(64); Docs = new PagedMutable(1, 1024, PackedInts.BitsRequired(maxDoc - 1), PackedInts.COMPACT); Offsets = new PagedGrowableWriter(1, 1024, 1, PackedInts.FAST); Lengths = new PagedGrowableWriter(1, 1024, 1, PackedInts.FAST); Values = new BytesRef(16); // start small Size = 0; }
public override DocValuesFieldUpdates.Iterator GetIterator() { PagedMutable docs = this.docs; PagedGrowableWriter values = this.values; FixedBitSet docsWithField = this.docsWithField; new InPlaceMergeSorterAnonymousInnerClassHelper(this, docs, values, docsWithField).Sort(0, size); return(new Iterator(size, values, docsWithField, docs)); }
internal override DocValuesFieldUpdates.Iterator GetIterator() { PagedMutable docs = this.Docs; PagedGrowableWriter offsets = this.Offsets; PagedGrowableWriter lengths = this.Lengths; BytesRef values = this.Values; FixedBitSet docsWithField = this.DocsWithField; new InPlaceMergeSorterAnonymousInnerClassHelper(this, docs, offsets, lengths, docsWithField).Sort(0, Size); return(new Iterator(Size, offsets, lengths, docs, values, docsWithField)); }
public override DocValuesFieldUpdates.Iterator GetIterator() { PagedMutable docs = this.docs; PagedGrowableWriter offsets = this.offsets; PagedGrowableWriter lengths = this.lengths; BytesRef values = this.values; FixedBitSet docsWithField = this.docsWithField; new InPlaceMergeSorterAnonymousClass(docs, offsets, lengths, docsWithField).Sort(0, size); return(new Iterator(size, offsets, lengths, docs, values, docsWithField)); }
private void Rehash() { PagedGrowableWriter oldTable = Table; Table = new PagedGrowableWriter(2 * oldTable.Size(), 1 << 30, PackedInts.BitsRequired(Count), PackedInts.COMPACT); Mask = Table.Size() - 1; for (long idx = 0; idx < oldTable.Size(); idx++) { long address = oldTable.Get(idx); if (address != 0) { AddNew(address); } } }
private void Rehash() { PagedGrowableWriter oldTable = table; table = new PagedGrowableWriter(2 * oldTable.Count, 1 << 30, PackedInt32s.BitsRequired(count), PackedInt32s.COMPACT); mask = table.Count - 1; for (long idx = 0; idx < oldTable.Count; idx++) { long address = oldTable.Get(idx); if (address != 0) { AddNew(address); } } }
public override void Add(int doc, object value) { // TODO: if the Sorter interface changes to take long indexes, we can remove that limitation if (Size == int.MaxValue) { throw new InvalidOperationException("cannot support more than Integer.MAX_VALUE doc/value entries"); } BytesRef val = (BytesRef)value; if (val == null) { val = BinaryDocValuesUpdate.MISSING; } // grow the structures to have room for more elements if (Docs.Size() == Size) { Docs = Docs.Grow(Size + 1); Offsets = Offsets.Grow(Size + 1); Lengths = Lengths.Grow(Size + 1); DocsWithField = FixedBitSet.EnsureCapacity(DocsWithField, (int)Docs.Size()); } if (val != BinaryDocValuesUpdate.MISSING) { // only mark the document as having a value in that field if the value wasn't set to null (MISSING) DocsWithField.Set(Size); } Docs.Set(Size, doc); Offsets.Set(Size, Values.Length); Lengths.Set(Size, val.Length); Values.Append(val); ++Size; }
public override void Merge(DocValuesFieldUpdates other) { Debug.Assert(other is NumericDocValuesFieldUpdates); NumericDocValuesFieldUpdates otherUpdates = (NumericDocValuesFieldUpdates)other; if (Size + otherUpdates.Size > int.MaxValue) { throw new InvalidOperationException("cannot support more than Integer.MAX_VALUE doc/value entries; size=" + Size + " other.size=" + otherUpdates.Size); } Docs = Docs.Grow(Size + otherUpdates.Size); Values = Values.Grow(Size + otherUpdates.Size); DocsWithField = FixedBitSet.EnsureCapacity(DocsWithField, (int)Docs.Size()); for (int i = 0; i < otherUpdates.Size; i++) { int doc = (int)otherUpdates.Docs.Get(i); if (otherUpdates.DocsWithField.Get(i)) { DocsWithField.Set(Size); } Docs.Set(Size, doc); Values.Set(Size, otherUpdates.Values.Get(i)); ++Size; } }
public override void Add(int doc, object value) { // TODO: if the Sorter interface changes to take long indexes, we can remove that limitation if (size == int.MaxValue) { throw IllegalStateException.Create("cannot support more than System.Int32.MaxValue doc/value entries"); } BytesRef val = (BytesRef)value; if (val == null) { val = BinaryDocValuesUpdate.MISSING; } // grow the structures to have room for more elements if (docs.Count == size) { docs = docs.Grow(size + 1); offsets = offsets.Grow(size + 1); lengths = lengths.Grow(size + 1); docsWithField = FixedBitSet.EnsureCapacity(docsWithField, (int)docs.Count); } if (val != BinaryDocValuesUpdate.MISSING) { // only mark the document as having a value in that field if the value wasn't set to null (MISSING) docsWithField.Set(size); } docs.Set(size, doc); offsets.Set(size, values.Length); lengths.Set(size, val.Length); values.Append(val); ++size; }
public InPlaceMergeSorterAnonymousClass(PagedMutable docs, PagedGrowableWriter values, FixedBitSet docsWithField) { this.docs = docs; this.values = values; this.docsWithField = docsWithField; }
public InPlaceMergeSorterAnonymousInnerClassHelper(NumericDocValuesFieldUpdates outerInstance, PagedMutable docs, PagedGrowableWriter values, FixedBitSet docsWithField) { this.OuterInstance = outerInstance; this.Docs = docs; this.Values = values; this.DocsWithField = docsWithField; }
public NumericDocValuesFieldUpdates(string field, int maxDoc) : base(field, Type_e.NUMERIC) { DocsWithField = new FixedBitSet(64); Docs = new PagedMutable(1, 1024, PackedInts.BitsRequired(maxDoc - 1), PackedInts.COMPACT); Values = new PagedGrowableWriter(1, 1024, 1, PackedInts.FAST); Size = 0; }