Lucene.Net.Index.DocTermOrds.OrdWrappedTermsEnum.SeekExact C# (CSharp) Method

SeekExact() public method

public SeekExact ( long targetOrd ) : void
targetOrd long
return void
            public override void SeekExact(long targetOrd)
            {
                int delta = (int)(targetOrd - OuterInstance.OrdBase - Ord_Renamed);
                //System.out.println("  seek(ord) targetOrd=" + targetOrd + " delta=" + delta + " ord=" + ord + " ii=" + indexInterval);
                if (delta < 0 || delta > OuterInstance.IndexInterval)
                {
                    int idx = (int)((long)((ulong)targetOrd >> OuterInstance.IndexIntervalBits));
                    BytesRef @base = OuterInstance.IndexedTermsArray[idx];
                    //System.out.println("  do seek term=" + base.utf8ToString());
                    Ord_Renamed = idx << OuterInstance.IndexIntervalBits;
                    delta = (int)(targetOrd - Ord_Renamed);
                    TermsEnum.SeekStatus seekStatus = TermsEnum.SeekCeil(@base);
                    Debug.Assert(seekStatus == TermsEnum.SeekStatus.FOUND);
                }
                else
                {
                    //System.out.println("seek w/in block");
                }

                while (--delta >= 0)
                {
                    BytesRef br = TermsEnum.Next();
                    if (br == null)
                    {
                        Debug.Assert(false);
                        return;
                    }
                    Ord_Renamed++;
                }

                SetTerm();
                Debug.Assert(Term_Renamed != null);
            }