Lucene.Net.Util.OpenBitSet.NextSetBit C# (CSharp) Method

NextSetBit() public method

Returns the index of the first set bit starting at the index specified. -1 is returned if there are no more set bits.
public NextSetBit ( int index ) : int
index int
return int
		public virtual int NextSetBit(int index)
		{
			int i = index >> 6;
			if (i >= wlen)
				return - 1;
			int subIndex = index & 0x3f; // index within the word
			long word = internalbits[i] >> subIndex; // skip all the bits to the right of index
			
			if (word != 0)
			{
				return (i << 6) + subIndex + BitUtil.Ntz(word);
			}
			
			while (++i < wlen)
			{
				word = internalbits[i];
				if (word != 0)
					return (i << 6) + BitUtil.Ntz(word);
			}
			
			return - 1;
		}
		

Same methods

OpenBitSet::NextSetBit ( long index ) : long

Usage Example

Example #1
0
        public WAH8DocIdSet CopyOf(OpenBitSet bs, int length)
        {
            int indexInterval = TestUtil.NextInt32(Random, 8, 256);

            WAH8DocIdSet.Builder builder = (WAH8DocIdSet.Builder)(new WAH8DocIdSet.Builder()).SetIndexInterval(indexInterval);
            for (int i = bs.NextSetBit(0); i != -1; i = bs.NextSetBit(i + 1))
            {
                builder.Add(i);
            }
            return(builder.Build());
        }
All Usage Examples Of Lucene.Net.Util.OpenBitSet::NextSetBit