@Reference(authors="D. Hilbert", title="Ueber die stetige Abbildung einer Linie auf ein Fl\u00e4chenst\u00fcck", booktitle="Mathematische Annalen, 38(3)", url="http://resolver.sub.uni-goettingen.de/purl?GDZPPN002253135", bibkey="journals/mathann/Hilbert1891") public class HilbertSpatialSorter extends java.lang.Object implements SpatialSorter
Objects are mapped using 31 bits per dimension.
Reference:
D. Hilbert
Ueber 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
Object used in spatial sorting, combining the spatial object and the object
ID.
|
static class |
HilbertSpatialSorter.Parameterizer
Parameterization class.
|
Modifier and Type | Field and Description |
---|---|
static HilbertSpatialSorter |
STATIC
Static instance.
|
Constructor and Description |
---|
HilbertSpatialSorter()
Constructor, use
STATIC instead. |
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.
|
void |
sort(java.util.List<? extends SpatialComparable> objs,
int start,
int end,
double[] minmax,
int[] dims)
Sort part of the list (start to end).
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
computeMinMax, sort
public static final HilbertSpatialSorter STATIC
public HilbertSpatialSorter()
STATIC
instead.public void sort(java.util.List<? extends SpatialComparable> objs, int start, int end, double[] minmax, int[] dims)
SpatialSorter
sort
in interface SpatialSorter
objs
- 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)Copyright © 2019 ELKI Development Team. License information.