Class BitUtil
A variety of high efficiency bit twiddling routines.
Note
This API is for internal purposes only and might change in incompatible ways in the next release.
Inheritance
System.Object
BitUtil
Inherited Members
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()
Assembly: Lucene.Net.dll
Syntax
public static class BitUtil
Methods
|
Improve this Doc
View Source
BitCount(Byte)
Return the number of bits sets in b
.
Declaration
public static int BitCount(byte b)
Parameters
Type |
Name |
Description |
System.Byte |
b |
|
Returns
Type |
Description |
System.Int32 |
|
|
Improve this Doc
View Source
BitList(Byte)
Return the list of bits which are set in b
encoded as followed:
(i >>> (4 * n)) & 0x0F
is the offset of the n-th set bit of
the given byte plus one, or 0 if there are n or less bits set in the given
byte. For example
bitList(12)
returns 0x43:
0x43 & 0x0F
is 3, meaning the the first bit set is at offset 3-1 = 2,(0x43 >>> 4) & 0x0F
is 4, meaning there is a second bit set at offset 4-1=3,(0x43 >>> 8) & 0x0F
is 0, meaning there is no more bit set in this byte.
Declaration
public static int BitList(byte b)
Parameters
Type |
Name |
Description |
System.Byte |
b |
|
Returns
Type |
Description |
System.Int32 |
|
|
Improve this Doc
View Source
NextHighestPowerOfTwo(Int32)
Returns the next highest power of two, or the current value if it's already a power of two or zero
Declaration
public static int NextHighestPowerOfTwo(int v)
Parameters
Type |
Name |
Description |
System.Int32 |
v |
|
Returns
Type |
Description |
System.Int32 |
|
|
Improve this Doc
View Source
NextHighestPowerOfTwo(Int64)
Returns the next highest power of two, or the current value if it's already a power of two or zero
Declaration
public static long NextHighestPowerOfTwo(long v)
Parameters
Type |
Name |
Description |
System.Int64 |
v |
|
Returns
Type |
Description |
System.Int64 |
|
|
Improve this Doc
View Source
Pop_AndNot(Int64[], Int64[], Int32, Int32)
Returns the popcount or cardinality of A & ~B.
Neither array is modified.
Declaration
public static long Pop_AndNot(long[] arr1, long[] arr2, int wordOffset, int numWords)
Parameters
Type |
Name |
Description |
System.Int64[] |
arr1 |
|
System.Int64[] |
arr2 |
|
System.Int32 |
wordOffset |
|
System.Int32 |
numWords |
|
Returns
Type |
Description |
System.Int64 |
|
|
Improve this Doc
View Source
Pop_Array(Int64[], Int32, Int32)
Returns the number of set bits in an array of System.Int64s.
Declaration
public static long Pop_Array(long[] arr, int wordOffset, int numWords)
Parameters
Type |
Name |
Description |
System.Int64[] |
arr |
|
System.Int32 |
wordOffset |
|
System.Int32 |
numWords |
|
Returns
Type |
Description |
System.Int64 |
|
|
Improve this Doc
View Source
Pop_Intersect(Int64[], Int64[], Int32, Int32)
Returns the popcount or cardinality of the two sets after an intersection.
Neither array is modified.
Declaration
public static long Pop_Intersect(long[] arr1, long[] arr2, int wordOffset, int numWords)
Parameters
Type |
Name |
Description |
System.Int64[] |
arr1 |
|
System.Int64[] |
arr2 |
|
System.Int32 |
wordOffset |
|
System.Int32 |
numWords |
|
Returns
Type |
Description |
System.Int64 |
|
|
Improve this Doc
View Source
Pop_Union(Int64[], Int64[], Int32, Int32)
Returns the popcount or cardinality of the union of two sets.
Neither array is modified.
Declaration
public static long Pop_Union(long[] arr1, long[] arr2, int wordOffset, int numWords)
Parameters
Type |
Name |
Description |
System.Int64[] |
arr1 |
|
System.Int64[] |
arr2 |
|
System.Int32 |
wordOffset |
|
System.Int32 |
numWords |
|
Returns
Type |
Description |
System.Int64 |
|
|
Improve this Doc
View Source
Pop_Xor(Int64[], Int64[], Int32, Int32)
Returns the popcount or cardinality of A ^ B
Neither array is modified.
Declaration
public static long Pop_Xor(long[] arr1, long[] arr2, int wordOffset, int numWords)
Parameters
Type |
Name |
Description |
System.Int64[] |
arr1 |
|
System.Int64[] |
arr2 |
|
System.Int32 |
wordOffset |
|
System.Int32 |
numWords |
|
Returns
Type |
Description |
System.Int64 |
|