@Reference(authors="D. Hilbert", title="\u00dcber die stetige Abbildung einer Linie auf ein Fl\u00e4chenst\u00fcck", booktitle="Mathematische Annalen, 38(3)") public class HilbertSpatialSorter extends AbstractSpatialSorter
D. Hilbert
Über die stetige Abbildung einer Linie auf ein Flächenstück
In: Mathematische Annalen, 38(3)
Modifier and Type | Class and Description |
---|---|
private static class |
HilbertSpatialSorter.HilbertRef<T extends SpatialComparable>
Object used in spatial sorting, combining the spatial object and the object
ID.
|
Constructor and Description |
---|
HilbertSpatialSorter()
Constructor.
|
Modifier and Type | Method and Description |
---|---|
static long[] |
coordinatesToHilbert(byte[] coords,
int bitsperdim,
int offset)
Interleave one byte per dimension (using the "bitsperdim" highest bits) to
a hilbert address.
|
static long[] |
coordinatesToHilbert(int[] coords,
int bitsperdim,
int offset)
Interleave one int per dimension (using the "bitsperdim" highest bits) to a
hilbert address.
|
static long[] |
coordinatesToHilbert(long[] coords,
int bitsperdim,
int offset)
Interleave one long per dimension (using the "bitsperdim" highest bits) to
a hilbert address.
|
static long[] |
coordinatesToHilbert(short[] coords,
int bitsperdim,
int offset)
Interleave one short per dimension (using the "bitsperdim" highest bits) to
a hilbert address.
|
static long[] |
interleaveBits(byte[] coords,
int iter)
Select the "iter" highest bit from each dimension.
|
static long[] |
interleaveBits(int[] coords,
int iter)
Select the "iter" highest bit from each dimension.
|
static long[] |
interleaveBits(long[] coords,
int iter)
Select the "iter" highest bit from each dimension.
|
static long[] |
interleaveBits(short[] coords,
int iter)
Select the "iter" highest bit from each dimension.
|
<T extends SpatialComparable> |
sort(List<T> objs,
int start,
int end,
double[] minmax,
int[] dims)
Sort part of the list (start to end).
|
computeMinMax, pivotizeList1D, sort
public <T extends SpatialComparable> void sort(List<T> objs, int start, int end, double[] minmax, int[] dims)
SpatialSorter
T
- actual type we sortobjs
- the spatial objects to be sortedstart
- First index to sort (e.g. 0)end
- End of range (e.g. site()
)minmax
- Array with dim pairs of (min, max) of value rangesdims
- Dimensions to sort by, for indexing vectors and minmax
.public static long[] coordinatesToHilbert(long[] coords, int bitsperdim, int offset)
coords
- Original coordinatesbitsperdim
- Number of bits to use.offset
- offsetpublic static long[] coordinatesToHilbert(int[] coords, int bitsperdim, int offset)
coords
- Original coordinatesbitsperdim
- Number of bits to use.offset
- offsetpublic static long[] coordinatesToHilbert(short[] coords, int bitsperdim, int offset)
coords
- Original coordinatesbitsperdim
- Number of bits to use.offset
- offsetpublic static long[] coordinatesToHilbert(byte[] coords, int bitsperdim, int offset)
coords
- Original coordinatesbitsperdim
- Number of bits to use.offset
- offsetpublic static long[] interleaveBits(long[] coords, int iter)
coords
- Input coordinatesiter
- Bit position (from highest position)public static long[] interleaveBits(int[] coords, int iter)
coords
- Input coordinatesiter
- Bit position (from highest position)public static long[] interleaveBits(short[] coords, int iter)
coords
- Input coordinatesiter
- Bit position (from highest position)public static long[] interleaveBits(byte[] coords, int iter)
coords
- Input coordinatesiter
- Bit position (from highest position)