elk-util-parent/elk-util-collections/src/main/java/org/semanticweb/elk/util/collections/ArraySlicedSet.java
static int getFragment(byte sl, int[] masks, int pos) {
		/*
		 * one element of the masks table stores fragments for 32/(2^sl)
		 * elements; since it is a power of 2, we can divide on this value and
		 * compute the remainder efficiently
		 */
		int shift = (5 - sl);
		int p = pos >> shift; // = pos / (32/(2^sl))
		int r = (p << shift) ^ pos; // the remainder after the devision
		// extract the r-th fragment of the length 2^sl
		return (masks[p] >> (r << sl)) & MSK_[sl];
	}
static int getFragment(byte sl, int[] masks, int pos) {
		/*
		 * one element of the masks table stores fragments for 32/(2^sl)
		 * elements; since it is a power of 2, we can divide on this value and
		 * compute the remainder efficiently
		 */
		int shift = (5 - sl);
		int p = pos >> shift; // = pos / (32/(2^sl))
		int r = (p << shift) ^ pos; // the remainder after the devision
		// extract the r-th fragment of the length 2^sl
		return (masks[p] >> (r << sl)) & MSK_[sl];
	}
Returns the bit fragment that encodes the membership of an element for
the given position in slices. The returned fragment is an integer whose
lower bits correspond to whether an element occurs in the slice or not
(the lowest bit corresponds to the membership in slice = 0, next bit in
slice = 1, etc)

@param sl
the logarithm of the number of slices
@param masks
the table storing all masks encoding the membership of
elements in slices
@param pos
the position of an element in the table for which the fragment
should be returned
@return the integer whose bits encode membership of the element at the
given position in slices