Package elki.data
Class DoubleVector
- java.lang.Object
-
- elki.data.DoubleVector
-
- All Implemented Interfaces:
FeatureVector<java.lang.Number>,NumberVector,SpatialComparable
public class DoubleVector extends java.lang.Object implements NumberVector
Vector type usingdouble[]storage for real numbers.- Since:
- 0.1
- Author:
- Arthur Zimek
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classDoubleVector.FactoryFactory for Double vectors.static classDoubleVector.ShortSerializerSerialization class for dense double vectors with up toShort.MAX_VALUEdimensions, by using a short for storing the dimensionality.static classDoubleVector.SmallSerializerSerialization class for dense double vectors with up to 127 dimensions, by using a byte for storing the dimensionality.static classDoubleVector.VariableSerializerSerialization class for variable dimensionality by using VarInt encoding.
-
Field Summary
Fields Modifier and Type Field Description static ByteBufferSerializer<DoubleVector>BYTE_SERIALIZERSerializer for up to 127 dimensions.static DoubleVector.FactoryFACTORYStatic factory instance.static ByteBufferSerializer<DoubleVector>SHORT_SERIALIZERSerializer for up to 2^15-1 dimensions.private double[]valuesStores the values of the real vector.static ByteBufferSerializer<DoubleVector>VARIABLE_SERIALIZERSerializer using varint encoding.-
Fields inherited from interface elki.data.FeatureVector
TYPE
-
Fields inherited from interface elki.data.NumberVector
ATTRIBUTE_SEPARATOR, FIELD, FIELD_1D, FIELD_2D, VARIABLE_LENGTH
-
-
Constructor Summary
Constructors Modifier Constructor Description DoubleVector(double[] values)Create a DoubleVector consisting of the given double values.privateDoubleVector(double[] values, boolean nocopy)Private constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static DoubleVectorcopy(double[] vals)Copy a double array into a new vector.doubledoubleValue(int dimension)Returns the value in the specified dimension as double.intgetDimensionality()The dimensionality of the vector space where of this FeatureVector of V is an element.longlongValue(int dimension)Returns the value in the specified dimension as long.double[]toArray()Returns a double array copy of this vector.java.lang.StringtoString()Returns a String representation of the FeatureVector of V as a line that is suitable to be printed in a sequential file.static DoubleVectorwrap(double[] vals)Wrap a double array as vector (without copying).-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface elki.data.NumberVector
byteValue, floatValue, getMax, getMin, getValue, intValue, shortValue
-
-
-
-
Field Detail
-
FACTORY
public static final DoubleVector.Factory FACTORY
Static factory instance.
-
BYTE_SERIALIZER
public static final ByteBufferSerializer<DoubleVector> BYTE_SERIALIZER
Serializer for up to 127 dimensions.
-
SHORT_SERIALIZER
public static final ByteBufferSerializer<DoubleVector> SHORT_SERIALIZER
Serializer for up to 2^15-1 dimensions.
-
VARIABLE_SERIALIZER
public static final ByteBufferSerializer<DoubleVector> VARIABLE_SERIALIZER
Serializer using varint encoding.
-
values
private final double[] values
Stores the values of the real vector.
-
-
Constructor Detail
-
DoubleVector
private DoubleVector(double[] values, boolean nocopy)Private constructor. NOT for public use.- Parameters:
values- Values to usenocopy- Flag to not copy the array
-
DoubleVector
public DoubleVector(double[] values)
Create a DoubleVector consisting of the given double values.- Parameters:
values- the values to be set as values of the DoubleVector
-
-
Method Detail
-
getDimensionality
public int getDimensionality()
Description copied from interface:FeatureVectorThe dimensionality of the vector space where of this FeatureVector of V is an element.- Specified by:
getDimensionalityin interfaceFeatureVector<java.lang.Number>- Specified by:
getDimensionalityin interfaceSpatialComparable- Returns:
- the number of dimensions of this FeatureVector of V
-
doubleValue
public double doubleValue(int dimension)
Description copied from interface:NumberVectorReturns the value in the specified dimension as double.Note: this might seem redundant with respect to
getValue(dim).doubleValue(), but usually this is much more efficient due to boxing/unboxing cost.- Specified by:
doubleValuein interfaceNumberVector- Parameters:
dimension- the desired dimension, where 0 ≤ dimension <this.getDimensionality()- Returns:
- the value in the specified dimension
-
longValue
public long longValue(int dimension)
Description copied from interface:NumberVectorReturns the value in the specified dimension as long.Note: this might seem redundant with respect to
getValue(dim).longValue(), but usually this is much more efficient due to boxing/unboxing cost.- Specified by:
longValuein interfaceNumberVector- Parameters:
dimension- the desired dimension, where 0 ≤ dimension <this.getDimensionality()- Returns:
- the value in the specified dimension
-
toArray
public double[] toArray()
Description copied from interface:NumberVectorReturns a double array copy of this vector.- Specified by:
toArrayin interfaceNumberVector- Returns:
- Copy as
double[]
-
toString
public java.lang.String toString()
Description copied from interface:FeatureVectorReturns a String representation of the FeatureVector of V as a line that is suitable to be printed in a sequential file.- Specified by:
toStringin interfaceFeatureVector<java.lang.Number>- Overrides:
toStringin classjava.lang.Object- Returns:
- a String representation of the FeatureVector of V
-
copy
public static DoubleVector copy(double[] vals)
Copy a double array into a new vector.- Parameters:
vals- Values- Returns:
- Wrapped vector
-
wrap
public static DoubleVector wrap(double[] vals)
Wrap a double array as vector (without copying).Note: modifying the array afterwards can lead to problems if the data has, e.g., been added to an index, which relies on them being immutable!
- Parameters:
vals- Values- Returns:
- Wrapped vector
-
-