diff options
Diffstat (limited to 'src/de/lmu/ifi/dbs/elki/data/IntegerVector.java')
-rw-r--r-- | src/de/lmu/ifi/dbs/elki/data/IntegerVector.java | 21 |
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); } |