Class IntegerUtil
java.lang.Object
ca.spottedleaf.concurrentutil.util.IntegerUtil
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionstatic intbranchlessAbs(int val) static longbranchlessAbs(long val) static intceilLog2(int value) static longceilLog2(long value) static intfloorLog2(int value) static intfloorLog2(long value) static intgetDivisorMultiple(long numbers) static longgetDivisorNumbers(int d) static intgetDivisorShift(long numbers) static intgetTrailingBit(int n) static longgetTrailingBit(long n) static longgetUnsignedDivisorMagic(long divisor, int bits) Usage:static booleanisPowerOfTwo(int n) static booleanisPowerOfTwo(long n) static introundCeilLog2(int value) static longroundCeilLog2(long value) static introundFloorLog2(int value) static longroundFloorLog2(long value) static inttrailingZeros(int n) static inttrailingZeros(long n)
-
Field Details
-
HIGH_BIT_U32
public static final int HIGH_BIT_U32- See Also:
-
HIGH_BIT_U64
public static final long HIGH_BIT_U64- See Also:
-
-
Method Details
-
ceilLog2
public static int ceilLog2(int value) -
ceilLog2
public static long ceilLog2(long value) -
floorLog2
public static int floorLog2(int value) -
floorLog2
public static int floorLog2(long value) -
roundCeilLog2
public static int roundCeilLog2(int value) -
roundCeilLog2
public static long roundCeilLog2(long value) -
roundFloorLog2
public static int roundFloorLog2(int value) -
roundFloorLog2
public static long roundFloorLog2(long value) -
isPowerOfTwo
public static boolean isPowerOfTwo(int n) -
isPowerOfTwo
public static boolean isPowerOfTwo(long n) -
getTrailingBit
public static int getTrailingBit(int n) -
getTrailingBit
public static long getTrailingBit(long n) -
trailingZeros
public static int trailingZeros(int n) -
trailingZeros
public static int trailingZeros(long n) -
getDivisorMultiple
public static int getDivisorMultiple(long numbers) -
getDivisorShift
public static int getDivisorShift(long numbers) -
getDivisorNumbers
public static long getDivisorNumbers(int d) -
branchlessAbs
public static int branchlessAbs(int val) -
branchlessAbs
public static long branchlessAbs(long val) -
getUnsignedDivisorMagic
public static long getUnsignedDivisorMagic(long divisor, int bits) Usage:static final long mult = getSimpleMultiplier(divisor, bits); long x = ...; long magic = x * mult; long divQ = magic >>> bits; long divR = ((magic & ((1L << bits) - 1L)) * divisor) >>> bits;- Parameters:
bits- The number of bits of precision for the returned result.
-