summaryrefslogtreecommitdiff
path: root/elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves
diff options
context:
space:
mode:
Diffstat (limited to 'elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves')
-rw-r--r--elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves/AbstractSpatialSorter.java1
-rw-r--r--elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves/BinarySplitSpatialSorter.java1
-rw-r--r--elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves/HilbertSpatialSorter.java1
-rw-r--r--elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves/PeanoSpatialSorter.java25
-rw-r--r--elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves/SpatialSorter.java1
-rw-r--r--elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves/ZCurveSpatialSorter.java1
-rw-r--r--elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves/ZCurveTransformer.java1
7 files changed, 20 insertions, 11 deletions
diff --git a/elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves/AbstractSpatialSorter.java b/elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves/AbstractSpatialSorter.java
index 8c5a580f..7a9e4d31 100644
--- a/elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves/AbstractSpatialSorter.java
+++ b/elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves/AbstractSpatialSorter.java
@@ -31,6 +31,7 @@ import de.lmu.ifi.dbs.elki.data.spatial.SpatialComparable;
* Abstract base class for spatial sorters, offering shared functionality.
*
* @author Erich Schubert
+ * @since 0.5.0
*/
public abstract class AbstractSpatialSorter implements SpatialSorter {
/**
diff --git a/elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves/BinarySplitSpatialSorter.java b/elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves/BinarySplitSpatialSorter.java
index a1b8ea9b..e549c072 100644
--- a/elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves/BinarySplitSpatialSorter.java
+++ b/elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves/BinarySplitSpatialSorter.java
@@ -47,6 +47,7 @@ import de.lmu.ifi.dbs.elki.utilities.documentation.Reference;
* </p>
*
* @author Erich Schubert
+ * @since 0.5.0
*/
@Reference(authors = "J. L. Bentley", title = "Multidimensional binary search trees used for associative searching", booktitle = "Communications of the ACM, Vol. 18 Issue 9, Sept. 1975", url = "http://dx.doi.org/10.1145/361002.361007")
public class BinarySplitSpatialSorter extends AbstractSpatialSorter {
diff --git a/elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves/HilbertSpatialSorter.java b/elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves/HilbertSpatialSorter.java
index f3207233..b8eebf17 100644
--- a/elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves/HilbertSpatialSorter.java
+++ b/elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves/HilbertSpatialSorter.java
@@ -44,6 +44,7 @@ import de.lmu.ifi.dbs.elki.utilities.documentation.Reference;
* </p>
*
* @author Erich Schubert
+ * @since 0.5.0
*
* @apiviz.composedOf HilbertRef
*/
diff --git a/elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves/PeanoSpatialSorter.java b/elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves/PeanoSpatialSorter.java
index 490c9470..2b9f6982 100644
--- a/elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves/PeanoSpatialSorter.java
+++ b/elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves/PeanoSpatialSorter.java
@@ -31,9 +31,9 @@ import de.lmu.ifi.dbs.elki.utilities.documentation.Reference;
/**
* Bulk-load an R-tree index by presorting the objects with their position on
* the Peano curve.
- *
+ *
* The basic shape of this space-filling curve looks like this:
- *
+ *
* <pre>
* 3---4 9
* | | |
@@ -41,14 +41,14 @@ import de.lmu.ifi.dbs.elki.utilities.documentation.Reference;
* | | |
* 1 6---7
* </pre>
- *
+ *
* Which then expands to the next level as:
- *
+ *
* <pre>
* +-+ +-+ +-+ +-+ E
* | | | | | | | | |
* | +-+ +-+ | | +-+
- * | | |
+ * | | |
* | +-+ +-+ | | +-+
* | | | | | | | | |
* +-+ | | +-+ +-+ |
@@ -57,19 +57,22 @@ import de.lmu.ifi.dbs.elki.utilities.documentation.Reference;
* | | | | | | | | |
* S +-+ +-+ +-+ +-+
* </pre>
- *
+ *
* and so on.
- *
+ *
* Reference:
* <p>
* G. Peano<br />
* Sur une courbe, qui remplit toute une aire plane<br />
* Mathematische Annalen, 36(1)
* </p>
- *
+ *
* @author Erich Schubert
+ * @since 0.5.0
*/
-@Reference(authors = "G. Peano", title = "Sur une courbe, qui remplit toute une aire plane", booktitle = "Mathematische Annalen, 36(1)")
+@Reference(authors = "G. Peano", //
+title = "Sur une courbe, qui remplit toute une aire plane", //
+booktitle = "Mathematische Annalen, 36(1)")
public class PeanoSpatialSorter extends AbstractSpatialSorter {
/**
* Constructor.
@@ -80,12 +83,12 @@ public class PeanoSpatialSorter extends AbstractSpatialSorter {
@Override
public <T extends SpatialComparable> void sort(List<T> objs, int start, int end, double[] minmax, int[] dims) {
- peanoSort(objs, start, end, minmax, dims, 0, BitsUtil.zero(dims.length), false);
+ peanoSort(objs, start, end, minmax, dims, 0, BitsUtil.zero(minmax.length >> 1), false);
}
/**
* Sort by Peano curve.
- *
+ *
* @param objs Objects
* @param start Start index
* @param end End
diff --git a/elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves/SpatialSorter.java b/elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves/SpatialSorter.java
index 0745729c..14139f97 100644
--- a/elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves/SpatialSorter.java
+++ b/elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves/SpatialSorter.java
@@ -31,6 +31,7 @@ import de.lmu.ifi.dbs.elki.data.spatial.SpatialComparable;
* Interface for spatial sorting - ZCurves, Peano curves, Hilbert curves, ...
*
* @author Erich Schubert
+ * @since 0.5.0
*/
public interface SpatialSorter {
/**
diff --git a/elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves/ZCurveSpatialSorter.java b/elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves/ZCurveSpatialSorter.java
index d5fd10cf..08b68c5f 100644
--- a/elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves/ZCurveSpatialSorter.java
+++ b/elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves/ZCurveSpatialSorter.java
@@ -32,6 +32,7 @@ import de.lmu.ifi.dbs.elki.data.spatial.SpatialComparable;
* materialization of the Z indexes.
*
* @author Erich Schubert
+ * @since 0.5.0
*/
public class ZCurveSpatialSorter extends AbstractSpatialSorter {
private static final double STOPVAL = 1E-10;
diff --git a/elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves/ZCurveTransformer.java b/elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves/ZCurveTransformer.java
index 29c8ae72..94a6b12c 100644
--- a/elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves/ZCurveTransformer.java
+++ b/elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves/ZCurveTransformer.java
@@ -35,6 +35,7 @@ import de.lmu.ifi.dbs.elki.database.relation.RelationUtil;
* Class to transform a relation to its Z coordinates.
*
* @author Erich Schubert
+ * @since 0.5.0
*/
public class ZCurveTransformer {
/**