C# 클래스 Lucene.Net.Util.OpenBitSetIterator

An iterator to iterate over set bits in an OpenBitSet. this is faster than nextSetBit() for iterating over the complete set of bits, especially when the density of the bits set is high.
상속: Lucene.Net.Search.DocIdSetIterator
파일 보기 프로젝트 열기: synhershko/lucene.net 1 사용 예제들

공개 메소드들

메소드 설명
Advance ( int target ) : int
DocID ( ) : int
NextDoc ( ) : int

** alternate shift implementations // 32 bit shifts, but a long shift needed at the end private void shift2() { int y = (int)word; if (y==0) {wordShift +=32; y = (int)(word >>>32); } if ((y & 0x0000FFFF) == 0) { wordShift +=16; y>>>=16; } if ((y & 0x000000FF) == 0) { wordShift +=8; y>>>=8; } indexArray = bitlist[y & 0xff]; word >>>= (wordShift +1); } private void shift3() { int lower = (int)word; int lowByte = lower & 0xff; if (lowByte != 0) { indexArray=bitlist[lowByte]; return; } shift(); } ****

OpenBitSetIterator ( OpenBitSet obs ) : System
OpenBitSetIterator ( long bits, int numWords ) : System

비공개 메소드들

메소드 설명
Shift ( ) : void

메소드 상세

Advance() 공개 메소드

public Advance ( int target ) : int
target int
리턴 int

DocID() 공개 메소드

public DocID ( ) : int
리턴 int

NextDoc() 공개 메소드

** alternate shift implementations // 32 bit shifts, but a long shift needed at the end private void shift2() { int y = (int)word; if (y==0) {wordShift +=32; y = (int)(word >>>32); } if ((y & 0x0000FFFF) == 0) { wordShift +=16; y>>>=16; } if ((y & 0x000000FF) == 0) { wordShift +=8; y>>>=8; } indexArray = bitlist[y & 0xff]; word >>>= (wordShift +1); } private void shift3() { int lower = (int)word; int lowByte = lower & 0xff; if (lowByte != 0) { indexArray=bitlist[lowByte]; return; } shift(); } ****
public NextDoc ( ) : int
리턴 int

OpenBitSetIterator() 공개 메소드

public OpenBitSetIterator ( OpenBitSet obs ) : System
obs OpenBitSet
리턴 System

OpenBitSetIterator() 공개 메소드

public OpenBitSetIterator ( long bits, int numWords ) : System
bits long
numWords int
리턴 System