java.lang.Object
org.apache.jena.atlas.lib.BitsInt
Utilities for manipulating a bit pattern which are held in a 32 bit int.
Bits are numbered 0 to 31.
Bit 0 is the low bit of the int, and bit 31 the sign bit of the long.
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionstatic final intaccess(int bits, int start, int finish) Get the bits from start (inclusive) to finish (exclusive), leaving them aligned in the int.static final intclear(int bits, int bitIndex) Clear the bit specified.static final intclear(int bits, int start, int finish) Clear the bits specified.static final booleanisSet(int bits, int bitIndex) Test whether a bit is setstatic final intmask(int start, int finish) Create a mask that has ones between bit positions start (inc) and finish (exc), and zeros elsewhere.static final intmaskZero(int start, int finish) Create a mask that has zeros between bit positions start (inc) and finish (exc), and ones elsewherestatic final intpack(int bits, int value, int start, int finish) Place the value into the bit pattern between start and finish and returns the new int.static final intset(int bits, int bitIndex) Set the bits specified.static final intset(int bits, int start, int finish) Set the bits from start (inc) to finish (exc) to onestatic final booleantest(int bits, boolean isSet, int bitIndex) Test whether a bit is the same as isSetstatic final booleantest(int bits, int value, int start, int finish) Test whether a range has a specific value or notstatic final intunpack(int bits, int start, int finish) Extract the value packed into bits start (inclusive) and finish (exclusive).static final intGet bits from a hex string.
-
Method Details
-
unpack
public static final int unpack(int bits, int start, int finish) Extract the value packed into bits start (inclusive) and finish (exclusive). The value is returned in the low part of the returned int. The low bit is bit zero.- Parameters:
bits-start-finish-- Returns:
- int
-
pack
public static final int pack(int bits, int value, int start, int finish) Place the value into the bit pattern between start and finish and returns the new int. Leaves other bits alone.- Parameters:
bits-value-start-finish-- Returns:
- int
-
unpack
Get bits from a hex string.- Parameters:
str-startChar- Index of first character (counted from the left, string style).finishChar- Index after the last character (counted from the left, string style).- Returns:
- int
- See Also:
-
set
public static final int set(int bits, int bitIndex) Set the bits specified.- Parameters:
bits- PatternbitIndex-- Returns:
- Modified pattern
-
set
public static final int set(int bits, int start, int finish) Set the bits from start (inc) to finish (exc) to one- Parameters:
bits- Patternstart- start (inclusive)finish- finish (exclusive)- Returns:
- Modified pattern
-
test
public static final boolean test(int bits, boolean isSet, int bitIndex) Test whether a bit is the same as isSet- Parameters:
bits- PatternisSet- Test whether is set or not.bitIndex- Bit index- Returns:
- Boolean
-
isSet
public static final boolean isSet(int bits, int bitIndex) Test whether a bit is set- Parameters:
bits- PatternbitIndex- Bit index- Returns:
- Boolean
-
test
public static final boolean test(int bits, int value, int start, int finish) Test whether a range has a specific value or not- Parameters:
bits- Patternvalue- Value to test forstart- start (inclusive)finish- finish (exclusive)- Returns:
- Boolean
-
access
public static final int access(int bits, int start, int finish) Get the bits from start (inclusive) to finish (exclusive), leaving them aligned in the int. See alsounpack(int, int, int)which returns the value found at that place.- Parameters:
bits-start-finish-- Returns:
- int
- See Also:
-
clear
public static final int clear(int bits, int bitIndex) Clear the bit specified.- Parameters:
bits-bitIndex-- Returns:
- int
-
clear
public static final int clear(int bits, int start, int finish) Clear the bits specified.- Parameters:
bits-start-finish-- Returns:
- int
-
mask
public static final int mask(int start, int finish) Create a mask that has ones between bit positions start (inc) and finish (exc), and zeros elsewhere.- Parameters:
start-finish-- Returns:
- int
-
maskZero
public static final int maskZero(int start, int finish) Create a mask that has zeros between bit positions start (inc) and finish (exc), and ones elsewhere- Parameters:
start-finish-- Returns:
- int
-