Package elki.data
Class FloatVector
- java.lang.Object
-
- elki.data.FloatVector
-
- All Implemented Interfaces:
FeatureVector<java.lang.Number>,NumberVector,SpatialComparable
public class FloatVector extends java.lang.Object implements NumberVector
Vector type usingfloat[]storage, thus needing approximately half as much memory asDoubleVector.- Since:
- 0.1
- Author:
- Elke Achtert
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classFloatVector.FactoryFactory for float vectors.static classFloatVector.ShortSerializerSerialization class for dense float vectors with up toShort.MAX_VALUEdimensions, by using a short for storing the dimensionality.static classFloatVector.SmallSerializerSerialization class for dense float vectors with up to 127 dimensions, by using a byte for storing the dimensionality.static classFloatVector.VariableSerializerSerialization class for variable dimensionality by using VarInt encoding.
-
Field Summary
Fields Modifier and Type Field Description static ByteBufferSerializer<FloatVector>BYTE_SERIALIZERSerializer for up to 127 dimensions.static FloatVector.FactoryFACTORYStatic factory instance.static ByteBufferSerializer<FloatVector>SHORT_SERIALIZERSerializer for up to 2^15-1 dimensions.private float[]valuesKeeps the values of the float vector.static ByteBufferSerializer<FloatVector>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 FloatVector(float[] values)Create a FloatVector consisting of the given float values.privateFloatVector(float[] values, boolean nocopy)Private constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description doubledoubleValue(int dimension)Returns the value in the specified dimension as double.floatfloatValue(int dimension)Returns the value in the specified dimension as float.intgetDimensionality()The dimensionality of the vector space where of this FeatureVector of V is an element.java.lang.FloatgetValue(int dimension)Deprecated.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.-
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, getMax, getMin, intValue, shortValue
-
-
-
-
Field Detail
-
FACTORY
public static final FloatVector.Factory FACTORY
Static factory instance.
-
BYTE_SERIALIZER
public static final ByteBufferSerializer<FloatVector> BYTE_SERIALIZER
Serializer for up to 127 dimensions.
-
SHORT_SERIALIZER
public static final ByteBufferSerializer<FloatVector> SHORT_SERIALIZER
Serializer for up to 2^15-1 dimensions.
-
VARIABLE_SERIALIZER
public static final ByteBufferSerializer<FloatVector> VARIABLE_SERIALIZER
Serializer using varint encoding.
-
values
private final float[] values
Keeps the values of the float vector.
-
-
Constructor Detail
-
FloatVector
private FloatVector(float[] values, boolean nocopy)Private constructor. NOT for public use.- Parameters:
values- Data valuesnocopy- Flag to re-use the values array
-
FloatVector
public FloatVector(float[] values)
Create a FloatVector consisting of the given float values.- Parameters:
values- the values to be set as values of the float vector
-
-
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
-
getValue
@Deprecated public java.lang.Float getValue(int dimension)
Deprecated.Description copied from interface:FeatureVectorReturns the value in the specified dimension.- Specified by:
getValuein interfaceFeatureVector<java.lang.Number>- Specified by:
getValuein interfaceNumberVector- Parameters:
dimension- the desired dimension, where 0 ≤ dimension ≤this.getDimensionality()-1- Returns:
- the value in the specified dimension
-
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
-
floatValue
public float floatValue(int dimension)
Description copied from interface:NumberVectorReturns the value in the specified dimension as float.Note: this might seem redundant with respect to
getValue(dim).floatValue(), but usually this is much more efficient due to boxing/unboxing cost.- Specified by:
floatValuein 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
-
-