Package gnu.math
Class BitOps
- java.lang.Object
-
- gnu.math.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
All Methods Static Methods Concrete Methods Modifier and Type Method Description 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 intlowestBitSet(int i)static intlowestBitSet(IntNum x)static IntNummakeMask(int startBit, int endBit)Create a mask with bits true form bits form startBit to endBit.static IntNumnot(IntNum x)Return the logical (bit-wise) negation of an IntNum.static IntNumreverseBits(IntNum x, int start, int end)static voidsetBitOp(IntNum result, int op, IntNum x, IntNum y)Do one the the 16 possible bit-wise operations of two IntNums.static IntNumsetBitValue(IntNum x, int bitno, int newValue)Set the value of a specified bit in an IntNum.static intshift(int x, int count)static longshift(long x, int count)static intshiftUnsigned(int x, int count)static longshiftUnsigned(long x, int count)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
-
bitValue
public static boolean bitValue(IntNum x, int bitno)
Return the value of a specified bit in an IntNum.
-
setBitValue
public static IntNum setBitValue(IntNum x, int bitno, int newValue)
Set the value of a specified bit in an IntNum.
-
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.
-
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.
-
ior
public static IntNum ior(IntNum x, IntNum y)
Return the logical (bit-wise) "(inclusive) or" of two IntNums.
-
xor
public static IntNum xor(IntNum x, IntNum y)
Return the logical (bit-wise) "exclusive or" 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).
-
bitOp
public static IntNum bitOp(int op, IntNum x, IntNum y)
Do one the the 16 possible bit-wise operations of two IntNums.
-
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.
-
makeMask
public static IntNum makeMask(int startBit, int endBit)
Create a mask with bits true form bits form startBit to endBit.
-
extract
public static IntNum extract(IntNum x, int startBit, int endBit)
Extract a bit-field as an unsigned integer.
-
lowestBitSet
public static int lowestBitSet(int i)
-
lowestBitSet
public static int lowestBitSet(IntNum x)
-
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.
-
shift
public static int shift(int x, int count)
-
shiftUnsigned
public static int shiftUnsigned(int x, int count)
-
shift
public static long shift(long x, int count)
-
shiftUnsigned
public static long shiftUnsigned(long x, int count)
-
-