public BytesRefIteratorAnonymousClass(BytesRefArray outerInstance, IComparer <BytesRef> comp, BytesRef spare, int size, int[] indices) { this.outerInstance = outerInstance; this.comp = comp; this.spare = spare; this.size = size; this.indices = indices; pos = 0; }
public BytesRefIteratorAnonymousInnerClassHelper(BytesRefArray outerInstance, IComparer <BytesRef> comp, BytesRef spare, int size, int[] indices) { this.OuterInstance = outerInstance; this.Comp = comp; this.Spare = spare; this.Size = size; this.Indices = indices; pos = 0; }
public IntroSorterAnonymousClass(BytesRefArray outerInstance, IComparer <BytesRef> comp, int[] orderedEntries) { this.outerInstance = outerInstance; this.comp = comp; this.orderedEntries = orderedEntries; pivot = new BytesRef(); scratch1 = new BytesRef(); scratch2 = new BytesRef(); }
public Enumerator(BytesRefArray bytesRefArray, IComparer <BytesRef> comparer, int size, int[] indices) { this.spare = new BytesRef(); this.pos = 0; this.Current = null; this.bytesRefArray = bytesRefArray; this.comparer = comparer; this.size = size; this.indices = indices; }
public virtual void TestAppendIterator() { Random random = Random; BytesRefArray list = new BytesRefArray(Util.Counter.NewCounter()); IList <string> stringList = new JCG.List <string>(); for (int j = 0; j < 2; j++) { if (j > 0 && random.NextBoolean()) { list.Clear(); stringList.Clear(); } int entries = AtLeast(500); BytesRef spare = new BytesRef(); int initSize = list.Length; for (int i = 0; i < entries; i++) { string randomRealisticUnicodeString = TestUtil.RandomRealisticUnicodeString(random); spare.CopyChars(randomRealisticUnicodeString); Assert.AreEqual(i + initSize, list.Append(spare)); stringList.Add(randomRealisticUnicodeString); } for (int i = 0; i < entries; i++) { Assert.IsNotNull(list.Get(spare, i)); Assert.AreEqual(stringList[i], spare.Utf8ToString(), "entry " + i + " doesn't match"); } // check random for (int i = 0; i < entries; i++) { int e = random.Next(entries); Assert.IsNotNull(list.Get(spare, e)); Assert.AreEqual(stringList[e], spare.Utf8ToString(), "entry " + i + " doesn't match"); } for (int i = 0; i < 2; i++) { IBytesRefEnumerator iterator = list.GetEnumerator(); foreach (string @string in stringList) { Assert.IsTrue(iterator.MoveNext()); Assert.AreEqual(@string, iterator.Current.Utf8ToString()); } } } }
public virtual void TestAppend() { Random random = Random(); BytesRefArray list = new BytesRefArray(Util.Counter.NewCounter()); IList<string> stringList = new List<string>(); for (int j = 0; j < 2; j++) { if (j > 0 && random.NextBoolean()) { list.Clear(); stringList.Clear(); } int entries = AtLeast(500); BytesRef spare = new BytesRef(); int initSize = list.Size(); for (int i = 0; i < entries; i++) { string randomRealisticUnicodeString = TestUtil.RandomRealisticUnicodeString(random); spare.CopyChars(randomRealisticUnicodeString); Assert.AreEqual(i + initSize, list.Append(spare)); stringList.Add(randomRealisticUnicodeString); } for (int i = 0; i < entries; i++) { Assert.IsNotNull(list.Get(spare, i)); Assert.AreEqual(stringList[i], spare.Utf8ToString(), "entry " + i + " doesn't match"); } // check random for (int i = 0; i < entries; i++) { int e = random.Next(entries); Assert.IsNotNull(list.Get(spare, e)); Assert.AreEqual(stringList[e], spare.Utf8ToString(), "entry " + i + " doesn't match"); } for (int i = 0; i < 2; i++) { BytesRefIterator iterator = list.Iterator(); foreach (string @string in stringList) { Assert.AreEqual(@string, iterator.Next().Utf8ToString()); } } } }
/// <summary> /// All-details constructor. /// </summary> #pragma warning disable IDE0060 // Remove unused parameter public OfflineSorter(IComparer <BytesRef> comparer, BufferSize ramBufferSize, DirectoryInfo tempDirectory, int maxTempfiles) #pragma warning restore IDE0060 // Remove unused parameter { buffer = new BytesRefArray(bufferBytesUsed); if (ramBufferSize.bytes < ABSOLUTE_MIN_SORT_BUFFER_SIZE) { throw new ArgumentException(MIN_BUFFER_SIZE_MSG + ": " + ramBufferSize.bytes); } if (maxTempfiles < 2) { throw new ArgumentException("maxTempFiles must be >= 2"); } this.ramBufferSize = ramBufferSize; this.maxTempFiles = maxTempfiles; this.comparer = comparer; }
/// <summary> /// All-details constructor. /// </summary> #pragma warning disable IDE0060 // Remove unused parameter public OfflineSorter(IComparer <BytesRef> comparer, BufferSize ramBufferSize, DirectoryInfo tempDirectory, int maxTempfiles) #pragma warning restore IDE0060 // Remove unused parameter { buffer = new BytesRefArray(bufferBytesUsed); if (ramBufferSize.bytes < ABSOLUTE_MIN_SORT_BUFFER_SIZE) { throw new ArgumentException(MIN_BUFFER_SIZE_MSG + ": " + ramBufferSize.bytes); } if (maxTempfiles < 2) { throw new ArgumentOutOfRangeException(nameof(maxTempfiles), "maxTempFiles must be >= 2"); // LUCENENET specific - changed from IllegalArgumentException to ArgumentOutOfRangeException (.NET convention) } this.ramBufferSize = ramBufferSize; this.maxTempFiles = maxTempfiles; this.comparer = comparer; }
public virtual void TestSort() { Random random = Random; BytesRefArray list = new BytesRefArray(Util.Counter.NewCounter()); List <string> stringList = new List <string>(); for (int j = 0; j < 2; j++) { if (j > 0 && random.NextBoolean()) { list.Clear(); stringList.Clear(); } int entries = AtLeast(500); BytesRef spare = new BytesRef(); int initSize = list.Length; for (int i = 0; i < entries; i++) { string randomRealisticUnicodeString = TestUtil.RandomRealisticUnicodeString(random); spare.CopyChars(randomRealisticUnicodeString); Assert.AreEqual(initSize + i, list.Append(spare)); stringList.Add(randomRealisticUnicodeString); } // LUCENENET NOTE: Must sort using ArrayUtil.GetNaturalComparator<T>() // to ensure culture isn't taken into consideration during the sort, // which will match the sort order of BytesRef.UTF8SortedAsUTF16Comparer. CollectionUtil.TimSort(stringList); #pragma warning disable 612, 618 IBytesRefIterator iter = list.GetIterator(BytesRef.UTF8SortedAsUTF16Comparer); #pragma warning restore 612, 618 int a = 0; while ((spare = iter.Next()) != null) { Assert.AreEqual(stringList[a], spare.Utf8ToString(), "entry " + a + " doesn't match"); a++; } Assert.IsNull(iter.Next()); Assert.AreEqual(a, stringList.Count); } }
public virtual void TestSort() { Random random = Random(); BytesRefArray list = new BytesRefArray(Util.Counter.NewCounter()); List<string> stringList = new List<string>(); for (int j = 0; j < 2; j++) { if (j > 0 && random.NextBoolean()) { list.Clear(); stringList.Clear(); } int entries = AtLeast(500); BytesRef spare = new BytesRef(); int initSize = list.Size(); for (int i = 0; i < entries; i++) { string randomRealisticUnicodeString = TestUtil.RandomRealisticUnicodeString(random); spare.CopyChars(randomRealisticUnicodeString); Assert.AreEqual(initSize + i, list.Append(spare)); stringList.Add(randomRealisticUnicodeString); } stringList.Sort(); BytesRefIterator iter = list.Iterator(BytesRef.UTF8SortedAsUTF16Comparer); int a = 0; while ((spare = iter.Next()) != null) { Assert.AreEqual(stringList[a], spare.Utf8ToString(), "entry " + a + " doesn't match"); a++; } Assert.IsNull(iter.Next()); Assert.AreEqual(a, stringList.Count); } }
public virtual void TestSort() { Random random = Random(); BytesRefArray list = new BytesRefArray(Util.Counter.NewCounter()); List <string> stringList = new List <string>(); for (int j = 0; j < 2; j++) { if (j > 0 && random.NextBoolean()) { list.Clear(); stringList.Clear(); } int entries = AtLeast(500); BytesRef spare = new BytesRef(); int initSize = list.Size(); for (int i = 0; i < entries; i++) { string randomRealisticUnicodeString = TestUtil.RandomRealisticUnicodeString(random); spare.CopyChars(randomRealisticUnicodeString); Assert.AreEqual(initSize + i, list.Append(spare)); stringList.Add(randomRealisticUnicodeString); } stringList.Sort(); BytesRefIterator iter = list.Iterator(BytesRef.UTF8SortedAsUTF16Comparer); int a = 0; while ((spare = iter.Next()) != null) { Assert.AreEqual(stringList[a], spare.Utf8ToString(), "entry " + a + " doesn't match"); a++; } Assert.IsNull(iter.Next()); Assert.AreEqual(a, stringList.Count); } }
private void InitializeInstanceFields() { Buffer = new BytesRefArray(BufferBytesUsed); }
public IntroSorterAnonymousInnerClassHelper(BytesRefArray outerInstance, IComparer<BytesRef> comp, int[] orderedEntries) { this.OuterInstance = outerInstance; this.Comp = comp; this.OrderedEntries = orderedEntries; pivot = new BytesRef(); scratch1 = new BytesRef(); scratch2 = new BytesRef(); }
public BytesRefIteratorAnonymousInnerClassHelper(BytesRefArray outerInstance, IComparer<BytesRef> comp, BytesRef spare, int size, int[] indices) { this.OuterInstance = outerInstance; this.Comp = comp; this.Spare = spare; this.Size = size; this.Indices = indices; pos = 0; }