org.apache.lucene.util
Class BitUtil

java.lang.Object
  extended by org.apache.lucene.util.BitUtil

public final class BitUtil
extends Object

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.

Method Summary
static int bitCount(byte b)
          Return the number of bits sets in b.
static int bitList(byte b)
          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.
static int nextHighestPowerOfTwo(int v)
          returns the next highest power of two, or the current value if it's already a power of two or zero
static long nextHighestPowerOfTwo(long v)
          returns the next highest power of two, or the current value if it's already a power of two or zero
static long pop_andnot(long[] arr1, long[] arr2, int wordOffset, int numWords)
          Returns the popcount or cardinality of A & ~B.
static long pop_array(long[] arr, int wordOffset, int numWords)
          Returns the number of set bits in an array of longs.
static long pop_intersect(long[] arr1, long[] arr2, int wordOffset, int numWords)
          Returns the popcount or cardinality of the two sets after an intersection.
static long pop_union(long[] arr1, long[] arr2, int wordOffset, int numWords)
          Returns the popcount or cardinality of the union of two sets.
static long pop_xor(long[] arr1, long[] arr2, int wordOffset, int numWords)
          Returns the popcount or cardinality of A ^ B Neither array is modified.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

bitCount

public static int bitCount(byte b)
Return the number of bits sets in b.


bitList

public static int bitList(byte b)
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:


pop_array

public static long pop_array(long[] arr,
                             int wordOffset,
                             int numWords)
Returns the number of set bits in an array of longs.


pop_intersect

public static long pop_intersect(long[] arr1,
                                 long[] arr2,
                                 int wordOffset,
                                 int numWords)
Returns the popcount or cardinality of the two sets after an intersection. Neither array is modified.


pop_union

public static long pop_union(long[] arr1,
                             long[] arr2,
                             int wordOffset,
                             int numWords)
Returns the popcount or cardinality of the union of two sets. Neither array is modified.


pop_andnot

public static long pop_andnot(long[] arr1,
                              long[] arr2,
                              int wordOffset,
                              int numWords)
Returns the popcount or cardinality of A & ~B. Neither array is modified.


pop_xor

public static long pop_xor(long[] arr1,
                           long[] arr2,
                           int wordOffset,
                           int numWords)
Returns the popcount or cardinality of A ^ B Neither array is modified.


nextHighestPowerOfTwo

public static int nextHighestPowerOfTwo(int v)
returns the next highest power of two, or the current value if it's already a power of two or zero


nextHighestPowerOfTwo

public static long nextHighestPowerOfTwo(long v)
returns the next highest power of two, or the current value if it's already a power of two or zero



Copyright © 2000-2013 Apache Software Foundation. All Rights Reserved.