## org.apache.lucene.util
Class BitUtil

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

    public class BitUtil

extends java.lang.Object

A variety of high efficiency bit twiddling routines.

Version:
  $Id$

Field Summary
`static byte[]` `ntzTable` table of number of trailing zeros in a byte

Constructor Summary
`BitUtil()`

Method Summary
`static boolean` `isPowerOfTwo(int v)` returns true if v is a power of two or zero
`static boolean` `isPowerOfTwo(long v)` returns true if v is a power of two or zero
`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 int` `ntz(int val)` Returns number of trailing zeros in a 32 bit int value.
`static int` `ntz(long val)` Returns number of trailing zeros in a 64 bit long value.
`static int` `ntz2(long x)` returns 0 based index of first set bit (only works for x!=0) This is an alternate implementation of ntz()
`static int` `ntz3(long x)` returns 0 based index of first set bit This is an alternate implementation of ntz()
`static long` `pop_andnot(long[] A, long[] B, int wordOffset, int numWords)` Returns the popcount or cardinality of A & ~B Neither array is modified.
`static long` `pop_array(long[] A, int wordOffset, int numWords)` Returns the number of set bits in an array of longs.
`static long` `pop_intersect(long[] A, long[] B, int wordOffset, int numWords)` Returns the popcount or cardinality of the two sets after an intersection.
`static long` `pop_union(long[] A, long[] B, int wordOffset, int numWords)` Returns the popcount or cardinality of the union of two sets.
`static long` `pop_xor(long[] A, long[] B, int wordOffset, int numWords)`
`static int` `pop(long x)` Returns the number of bits set in the long

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### ntzTable

    public static final byte[] ntzTable

  table of number of trailing zeros in a byte

Constructor Detail

### BitUtil

    public BitUtil()

Method Detail

### pop

    public static int pop(long x)

  Returns the number of bits set in the long

### pop_array

    public static long pop_array(long[] A,
                                 int wordOffset,
                                 int numWords)

  Returns the number of set bits in an array of longs.

### pop_intersect

    public static long pop_intersect(long[] A,
                                     long[] B,
                                     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[] A,
                                 long[] B,
                                 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[] A,
                                  long[] B,
                                  int wordOffset,
                                  int numWords)

  Returns the popcount or cardinality of A & ~B Neither array is modified.

### pop_xor

    public static long pop_xor(long[] A,
                               long[] B,
                               int wordOffset,
                               int numWords)

### ntz

    public static int ntz(long val)

  Returns number of trailing zeros in a 64 bit long value.

### ntz

    public static int ntz(int val)

  Returns number of trailing zeros in a 32 bit int value.

### ntz2

    public static int ntz2(long x)

  returns 0 based index of first set bit (only works for x!=0)
  This is an alternate implementation of ntz()

### ntz3

    public static int ntz3(long x)

  returns 0 based index of first set bit
  This is an alternate implementation of ntz()

### isPowerOfTwo

    public static boolean isPowerOfTwo(int v)

  returns true if v is a power of two or zero

### isPowerOfTwo

    public static boolean isPowerOfTwo(long v)

  returns true if v is a power of two or zero

### 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-2011 Apache Software Foundation. All Rights Reserved.