gnu.math

Class BitOps

public class BitOps extends Object

Implements logical (bit-wise) operations on infinite-precision integers. There are no BitOps object - all the functions here are static. The semantics used are the same as for Common Lisp.
Method Summary
static IntNumand(IntNum x, int y)
Return the logical (bit-wise) "and" of an IntNum and an int.
static IntNumand(IntNum x, IntNum y)
Return the logical (bit-wise) "and" of two IntNums.
static intbitCount(int i)
static intbitCount(int[] x, int len)
static intbitCount(IntNum x)
Count one bits in an IntNum.
static IntNumbitOp(int op, IntNum x, IntNum y)
Do one the the 16 possible bit-wise operations of two IntNums.
static booleanbitValue(IntNum x, int bitno)
Return the value of a specified bit in an IntNum.
static IntNumextract(IntNum x, int startBit, int endBit)
Extract a bit-field as an unsigned integer.
static IntNumior(IntNum x, IntNum y)
Return the logical (bit-wise) "(inclusive) or" of two IntNums.
static IntNumnot(IntNum x)
Return the logical (bit-wise) negation of an IntNum.
static voidsetBitOp(IntNum result, int op, IntNum x, IntNum y)
Do one the the 16 possible bit-wise operations of two IntNums.
static intswappedOp(int op)
Return the boolean opcode (for bitOp) for swapped operands.
static booleantest(IntNum x, int y)
Return true iff an IntNum and an int have any true bits in common.
static booleantest(IntNum x, IntNum y)
Return true iff two IntNums have any true bits in common.
static IntNumxor(IntNum x, IntNum y)
Return the logical (bit-wise) "exclusive or" of two IntNums.

Method Detail

and

public static IntNum and(IntNum x, int y)
Return the logical (bit-wise) "and" of an IntNum and an int.

and

public static IntNum and(IntNum x, IntNum y)
Return the logical (bit-wise) "and" of two IntNums.

bitCount

public static int bitCount(int i)

bitCount

public static int bitCount(int[] x, int len)

bitCount

public static int bitCount(IntNum x)
Count one bits in an IntNum. If argument is negative, count zero bits instead.

bitOp

public static IntNum bitOp(int op, IntNum x, IntNum y)
Do one the the 16 possible bit-wise operations of two IntNums.

bitValue

public static boolean bitValue(IntNum x, int bitno)
Return the value of a specified bit in an IntNum.

extract

public static IntNum extract(IntNum x, int startBit, int endBit)
Extract a bit-field as an unsigned integer.

ior

public static IntNum ior(IntNum x, IntNum y)
Return the logical (bit-wise) "(inclusive) or" of two IntNums.

not

public static IntNum not(IntNum x)
Return the logical (bit-wise) negation of an IntNum.

setBitOp

public static void setBitOp(IntNum result, int op, IntNum x, IntNum y)
Do one the the 16 possible bit-wise operations of two IntNums.

swappedOp

public static int swappedOp(int op)
Return the boolean opcode (for bitOp) for swapped operands. I.e. bitOp (swappedOp(op), x, y) == bitOp (op, y, x).

test

public static boolean test(IntNum x, int y)
Return true iff an IntNum and an int have any true bits in common.

test

public static boolean test(IntNum x, IntNum y)
Return true iff two IntNums have any true bits in common.

xor

public static IntNum xor(IntNum x, IntNum y)
Return the logical (bit-wise) "exclusive or" of two IntNums.