summaryrefslogtreecommitdiff
path: root/src/de/lmu/ifi/dbs/elki/data/IntegerVector.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/de/lmu/ifi/dbs/elki/data/IntegerVector.java')
-rw-r--r--src/de/lmu/ifi/dbs/elki/data/IntegerVector.java21
1 files changed, 10 insertions, 11 deletions
diff --git a/src/de/lmu/ifi/dbs/elki/data/IntegerVector.java b/src/de/lmu/ifi/dbs/elki/data/IntegerVector.java
index aed931ef..cadda5c1 100644
--- a/src/de/lmu/ifi/dbs/elki/data/IntegerVector.java
+++ b/src/de/lmu/ifi/dbs/elki/data/IntegerVector.java
@@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.data;
This file is part of ELKI:
Environment for Developing KDD-Applications Supported by Index-Structures
- Copyright (C) 2013
+ Copyright (C) 2014
Ludwig-Maximilians-Universität München
Lehr- und Forschungseinheit für Datenbanksysteme
ELKI Development Team
@@ -27,18 +27,18 @@ import java.io.IOException;
import java.nio.ByteBuffer;
import de.lmu.ifi.dbs.elki.math.linearalgebra.Vector;
-import de.lmu.ifi.dbs.elki.persistent.ByteArrayUtil;
-import de.lmu.ifi.dbs.elki.persistent.ByteBufferSerializer;
import de.lmu.ifi.dbs.elki.utilities.datastructures.arraylike.ArrayAdapter;
import de.lmu.ifi.dbs.elki.utilities.datastructures.arraylike.NumberArrayAdapter;
+import de.lmu.ifi.dbs.elki.utilities.io.ByteArrayUtil;
+import de.lmu.ifi.dbs.elki.utilities.io.ByteBufferSerializer;
import de.lmu.ifi.dbs.elki.utilities.optionhandling.AbstractParameterizer;
/**
- * An IntegerVector is to store integer values.
+ * Vector type using {@code int[]} storage.
*
* @author Erich Schubert
*/
-public class IntegerVector extends AbstractNumberVector<Integer> {
+public class IntegerVector extends AbstractNumberVector {
/**
* Static instance (object factory).
*/
@@ -80,13 +80,12 @@ public class IntegerVector extends AbstractNumberVector<Integer> {
}
/**
- * Provides an IntegerVector consisting of the given integer values.
+ * Create an IntegerVector consisting of the given integer values.
*
* @param values the values to be set as values of the IntegerVector
*/
public IntegerVector(int[] values) {
- this.values = new int[values.length];
- System.arraycopy(values, 0, this.values, 0, values.length);
+ this.values = values.clone();
}
@Override
@@ -165,13 +164,13 @@ public class IntegerVector extends AbstractNumberVector<Integer> {
*
* @apiviz.has IntegerVector
*/
- public static class Factory extends AbstractNumberVector.Factory<IntegerVector, Integer> {
+ public static class Factory extends AbstractNumberVector.Factory<IntegerVector> {
@Override
- public <A> IntegerVector newFeatureVector(A array, ArrayAdapter<Integer, A> adapter) {
+ public <A> IntegerVector newFeatureVector(A array, ArrayAdapter<? extends Number, A> adapter) {
int dim = adapter.size(array);
int[] values = new int[dim];
for (int i = 0; i < dim; i++) {
- values[i] = adapter.get(array, i);
+ values[i] = adapter.get(array, i).intValue();
}
return new IntegerVector(values, true);
}