Combine every (Dimensions - 1) bits to re-create a single dimension.
Combine every (Dimensions - 1) bits to re-create a single dimension. Opposite of split.
value to combine
Is the value contained in the range.
Is the value contained in the range. Considers user-space.
range
value to be tested
Does the value overlap with the range.
Does the value overlap with the range. Considers user-space.
range
value to be tested
Insert (Dimensions - 1) zeros between each bit to create a zvalue from a single dimension.
Insert (Dimensions - 1) zeros between each bit to create a zvalue from a single dimension. Only the first BitsPerDimension can be considered.
value to split
Is the value contained in the range.
Is the value contained in the range. Considers user-space.
range
value to be tested
Cuts Z-Range in two and trims based on user space, can be used to perform augmented binary search
Calculates the longest common binary prefix between two z longs
Calculates the longest common binary prefix between two z longs
(common prefix, number of bits in common)
Returns (litmax, bigmin) for the given range and point
Returns (litmax, bigmin) for the given range and point
point
minimum value
maximum value
(litmax, bigmin)
Calculates ranges in index space that match any of the input bounds.
Calculates ranges in index space that match any of the input bounds. Uses breadth-first searching to allow a limit on the number of ranges returned.
To improve performance, the following decisions have been made: uses loops instead of foreach/maps uses java queues instead of scala queues allocates initial sequences of decent size sorts once at the end before merging
search space
precision to consider, in bits (max 64)
loose cap on the number of ranges to return. A higher number of ranges will have less false positives, but require more processing.
max levels of recursion to apply before stopping
ranges covering the search space
N-dimensional z-curve base class