当前位置: 首页>>代码示例>>C#>>正文


C# Bits.Get方法代码示例

本文整理汇总了C#中Bits.Get方法的典型用法代码示例。如果您正苦于以下问题:C# Bits.Get方法的具体用法?C# Bits.Get怎么用?C# Bits.Get使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Bits的用法示例。


在下文中一共展示了Bits.Get方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: NextDeletedDoc

 private static int NextDeletedDoc(int doc, Bits liveDocs, int maxDoc)
 {
     if (liveDocs == null)
     {
         return maxDoc;
     }
     while (doc < maxDoc && liveDocs.Get(doc))
     {
         ++doc;
     }
     return doc;
 }
开发者ID:joyanta,项目名称:lucene.net,代码行数:12,代码来源:CompressingStoredFieldsWriter.cs

示例2: AssertEquals

 private void AssertEquals(Bits expected, Bits actual)
 {
     Assert.AreEqual(expected.Length(), actual.Length());
     for (int i = 0; i < expected.Length(); i++)
     {
         Assert.AreEqual(expected.Get(i), actual.Get(i));
     }
 }
开发者ID:ChristopherHaws,项目名称:lucenenet,代码行数:8,代码来源:BaseDocValuesFormatTestCase.cs

示例3: PrintDelDocs

 public static void PrintDelDocs(Bits bits)
 {
     if (bits == null)
     {
         return;
     }
     for (int x = 0; x < bits.Length(); x++)
     {
         Console.WriteLine(x + ":" + bits.Get(x));
     }
 }
开发者ID:joyanta,项目名称:lucene.net,代码行数:11,代码来源:TestPerSegmentDeletes.cs

示例4: Build

 public static DocMap Build(int maxDoc, Bits liveDocs)
 {
     Debug.Assert(liveDocs != null);
     MonotonicAppendingLongBuffer docMap = new MonotonicAppendingLongBuffer();
     int del = 0;
     for (int i = 0; i < maxDoc; ++i)
     {
         docMap.Add(i - del);
         if (!liveDocs.Get(i))
         {
             ++del;
         }
     }
     docMap.Freeze();
     int numDeletedDocs = del;
     Debug.Assert(docMap.Size() == maxDoc);
     return new DocMapAnonymousInnerClassHelper(maxDoc, liveDocs, docMap, numDeletedDocs);
 }
开发者ID:joyanta,项目名称:lucene.net,代码行数:18,代码来源:MergeState.cs

示例5: CheckNumericDocValues

 private static void CheckNumericDocValues(string fieldName, AtomicReader reader, NumericDocValues ndv, Bits docsWithField)
 {
     for (int i = 0; i < reader.MaxDoc; i++)
     {
         long value = ndv.Get(i);
         if (docsWithField.Get(i) == false && value != 0)
         {
             throw new Exception("dv for field: " + fieldName + " is marked missing but has value=" + value + " for doc: " + i);
         }
     }
 }
开发者ID:Cefa68000,项目名称:lucenenet,代码行数:11,代码来源:CheckIndex.cs

示例6: CheckSortedSetDocValues

        private static void CheckSortedSetDocValues(string fieldName, AtomicReader reader, SortedSetDocValues dv, Bits docsWithField)
        {
            long maxOrd = dv.ValueCount - 1;
            LongBitSet seenOrds = new LongBitSet(dv.ValueCount);
            long maxOrd2 = -1;
            for (int i = 0; i < reader.MaxDoc; i++)
            {
                dv.Document = i;
                long lastOrd = -1;
                long ord;
                if (docsWithField.Get(i))
                {
                    int ordCount = 0;
                    while ((ord = dv.NextOrd()) != SortedSetDocValues.NO_MORE_ORDS)
                    {
                        if (ord <= lastOrd)
                        {
                            throw new Exception("ords out of order: " + ord + " <= " + lastOrd + " for doc: " + i);
                        }
                        if (ord < 0 || ord > maxOrd)
                        {
                            throw new Exception("ord out of bounds: " + ord);
                        }
                        if (dv is RandomAccessOrds)
                        {
                            long ord2 = ((RandomAccessOrds)dv).OrdAt(ordCount);
                            if (ord != ord2)
                            {
                                throw new Exception("ordAt(" + ordCount + ") inconsistent, expected=" + ord + ",got=" + ord2 + " for doc: " + i);
                            }
                        }
                        lastOrd = ord;
                        maxOrd2 = Math.Max(maxOrd2, ord);
                        seenOrds.Set(ord);
                        ordCount++;
                    }
                    if (ordCount == 0)
                    {
                        throw new Exception("dv for field: " + fieldName + " has no ordinals but is not marked missing for doc: " + i);
                    }
                    if (dv is RandomAccessOrds)
                    {
                        long ordCount2 = ((RandomAccessOrds)dv).Cardinality();
                        if (ordCount != ordCount2)
                        {
                            throw new Exception("cardinality inconsistent, expected=" + ordCount + ",got=" + ordCount2 + " for doc: " + i);
                        }
                    }
                }
                else
                {
                    long o = dv.NextOrd();
                    if (o != SortedSetDocValues.NO_MORE_ORDS)
                    {
                        throw new Exception("dv for field: " + fieldName + " is marked missing but has ord=" + o + " for doc: " + i);
                    }
                    if (dv is RandomAccessOrds)
                    {
                        long ordCount2 = ((RandomAccessOrds)dv).Cardinality();
                        if (ordCount2 != 0)
                        {
                            throw new Exception("dv for field: " + fieldName + " is marked missing but has cardinality " + ordCount2 + " for doc: " + i);
                        }
                    }
                }
            }
            if (maxOrd != maxOrd2)
            {
                throw new Exception("dv for field: " + fieldName + " reports wrong maxOrd=" + maxOrd + " but this is not the case: " + maxOrd2);
            }
            if (seenOrds.Cardinality() != dv.ValueCount)
            {
                throw new Exception("dv for field: " + fieldName + " has holes in its ords, valueCount=" + dv.ValueCount + " but only used: " + seenOrds.Cardinality());
            }

            BytesRef lastValue = null;
            BytesRef scratch = new BytesRef();
            for (long i = 0; i <= maxOrd; i++)
            {
                dv.LookupOrd(i, scratch);
                Debug.Assert(scratch.Valid);
                if (lastValue != null)
                {
                    if (scratch.CompareTo(lastValue) <= 0)
                    {
                        throw new Exception("dv for field: " + fieldName + " has ords out of order: " + lastValue + " >=" + scratch);
                    }
                }
                lastValue = BytesRef.DeepCopyOf(scratch);
            }
        }
开发者ID:Cefa68000,项目名称:lucenenet,代码行数:91,代码来源:CheckIndex.cs

示例7: CheckSortedDocValues

 private static void CheckSortedDocValues(string fieldName, AtomicReader reader, SortedDocValues dv, Bits docsWithField)
 {
     CheckBinaryDocValues(fieldName, reader, dv, docsWithField);
     int maxOrd = dv.ValueCount - 1;
     FixedBitSet seenOrds = new FixedBitSet(dv.ValueCount);
     int maxOrd2 = -1;
     for (int i = 0; i < reader.MaxDoc; i++)
     {
         int ord = dv.GetOrd(i);
         if (ord == -1)
         {
             if (docsWithField.Get(i))
             {
                 throw new Exception("dv for field: " + fieldName + " has -1 ord but is not marked missing for doc: " + i);
             }
         }
         else if (ord < -1 || ord > maxOrd)
         {
             throw new Exception("ord out of bounds: " + ord);
         }
         else
         {
             if (!docsWithField.Get(i))
             {
                 throw new Exception("dv for field: " + fieldName + " is missing but has ord=" + ord + " for doc: " + i);
             }
             maxOrd2 = Math.Max(maxOrd2, ord);
             seenOrds.Set(ord);
         }
     }
     if (maxOrd != maxOrd2)
     {
         throw new Exception("dv for field: " + fieldName + " reports wrong maxOrd=" + maxOrd + " but this is not the case: " + maxOrd2);
     }
     if (seenOrds.Cardinality() != dv.ValueCount)
     {
         throw new Exception("dv for field: " + fieldName + " has holes in its ords, valueCount=" + dv.ValueCount + " but only used: " + seenOrds.Cardinality());
     }
     BytesRef lastValue = null;
     BytesRef scratch = new BytesRef();
     for (int i = 0; i <= maxOrd; i++)
     {
         dv.LookupOrd(i, scratch);
         Debug.Assert(scratch.Valid);
         if (lastValue != null)
         {
             if (scratch.CompareTo(lastValue) <= 0)
             {
                 throw new Exception("dv for field: " + fieldName + " has ords out of order: " + lastValue + " >=" + scratch);
             }
         }
         lastValue = BytesRef.DeepCopyOf(scratch);
     }
 }
开发者ID:Cefa68000,项目名称:lucenenet,代码行数:54,代码来源:CheckIndex.cs

示例8: CheckBinaryDocValues

 private static void CheckBinaryDocValues(string fieldName, AtomicReader reader, BinaryDocValues dv, Bits docsWithField)
 {
     BytesRef scratch = new BytesRef();
     for (int i = 0; i < reader.MaxDoc; i++)
     {
         dv.Get(i, scratch);
         Debug.Assert(scratch.Valid);
         if (docsWithField.Get(i) == false && scratch.Length > 0)
         {
             throw new Exception("dv for field: " + fieldName + " is missing but has value=" + scratch + " for doc: " + i);
         }
     }
 }
开发者ID:Cefa68000,项目名称:lucenenet,代码行数:13,代码来源:CheckIndex.cs


注:本文中的Bits.Get方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。