public abstract class ObjectShortVector extends LocalAbstractObject implements ObjectVector<java.lang.Short>, BinarySerializable
ObjectShortVectorL1
or ObjectShortVectorL2
.LocalAbstractObject.DataEqualObject, LocalAbstractObject.TextStreamFactory<T extends LocalAbstractObject>, LocalAbstractObject.TrivialDistanceFunction
Modifier and Type | Field and Description |
---|---|
protected short[] |
data
Data array
|
counterDistanceComputations, counterLowerBoundDistanceComputations, counterPrecomputedDistanceSavings, counterUpperBoundDistanceComputations, MAX_DISTANCE, MIN_DISTANCE, suppData, trivialDistanceFunction, UNKNOWN_DISTANCE
Modifier | Constructor and Description |
---|---|
protected |
ObjectShortVector(BinaryInput input,
BinarySerializator serializator)
Creates a new instance of ObjectShortVector loaded from binary input buffer.
|
|
ObjectShortVector(java.io.BufferedReader stream)
Creates a new instance of ObjectShortVector from text stream.
|
|
ObjectShortVector(int dimension)
Creates a new instance of ObjectShortVector with randomly generated content data.
|
|
ObjectShortVector(int dimension,
short min,
short max)
Creates a new instance of ObjectShortVector with randomly generated content data.
|
|
ObjectShortVector(short[] data)
Creates a new instance of ObjectShortVector.
|
Modifier and Type | Method and Description |
---|---|
int |
binarySerialize(BinaryOutput output,
BinarySerializator serializator)
Binary-serialize this object into the
output . |
LocalAbstractObject |
cloneRandomlyModify(java.lang.Object... args)
Creates and returns a randomly modified copy of this vector.
|
boolean |
dataEquals(java.lang.Object obj)
Indicates whether some other object has the same data as this one.
|
int |
dataHashCode()
Returns a hash code value for the data of this object.
|
int |
getBinarySize(BinarySerializator serializator)
Returns the exact size of the binary-serialized version of this object in bytes.
|
int |
getDimensionality()
Returns the number of dimensions of this vector.
|
static short[][] |
getMinMaxForEveryCoord(AbstractObjectIterator<? extends ObjectShortVector> iterator)
Computes minimum and maximum values over every coordinate of vectors in the collection's
iterator.
|
static short[] |
getMinMaxOverCoords(AbstractObjectIterator<? extends ObjectShortVector> iterator)
Computes minimum and maximum values over all coordinates of vectors in the collection's
iterator.
|
protected short[] |
getMinMaxOverCoords(short[] currRange)
Computes minimum and maximum values over all coordinates of the current vector.
|
int |
getSize()
Returns the size of this object in bytes.
|
short[] |
getVectorData()
Returns the vector of short integer values, which represents the contents of this object.
|
int |
getVectorDataDimension()
Number of dimensions of the vector data.
|
java.lang.Short |
getVectorDataItem(int index)
Access to a single datum of vector data at the given zero-based index.
|
short |
getVectorDataItemShort(int index) |
static short[] |
parseShortVector(java.lang.String line)
Parses a vector of short integers from the given line of text.
|
static short[] |
randomData(int dimension,
short min,
short max)
Generate an array of random short integers using normal distribution of numbers
from interval [min;max).
|
java.lang.String |
toString()
Converts this object to a string representation.
|
protected void |
writeData(java.io.OutputStream stream)
Store this object's data to a text stream.
|
static void |
writeShortVector(short[] data,
java.io.OutputStream stream,
char separator,
char finalSeparator)
Writes the given vector of short integers to the given output stream as text.
|
clearSurplusData, clone, clone, create, create, createMetaDistancesHolder, excludeUsingPrecompDist, getDistance, getDistance, getDistance, getDistanceFilter, getDistanceFilter, getDistanceFilter, getDistanceFilter, getDistanceImpl, getDistanceLowerBound, getDistanceLowerBoundImpl, getDistanceStorePrecomputed, getDistanceStorePrecomputed, getDistanceStorePrecomputed, getDistanceUpperBound, getDistanceUpperBoundImpl, getFieldsForNames, getMaxDistance, getNormDistance, getPrecomputedDistance, getPrecomputedDistance, getRandomChar, getRandomNormal, chainDestroy, chainFilter, includeUsingPrecompDist, isDistanceCompatible, parseObjectComment, peekNextChar, readAttributesFromStream, readObjectComments, readObjectCommentsWithoutData, unchainFilter, write, write, writeAttributesToStream, writeObjectComment
clone, getLocatorURI, getNoDataObject, getObjectKey, getObjectKey, getObjectLocatorURI, setObjectKey
public ObjectShortVector(short[] data)
data
- the data content of the new objectpublic ObjectShortVector(int dimension)
dimension
- number of dimensions to generatepublic ObjectShortVector(int dimension, short min, short max)
dimension
- number of dimensions to generatemin
- lower bound of the random generated values (inclusive)max
- upper bound of the random generated values (exclusive)public ObjectShortVector(java.io.BufferedReader stream) throws java.io.EOFException, java.io.IOException, java.lang.NumberFormatException
stream
- the stream from which to read lines of textjava.io.EOFException
- if the end-of-file of the given stream is reachedjava.io.IOException
- if there was an I/O error during reading from the streamjava.lang.NumberFormatException
- if a line read from the stream does not consist of comma-separated or space-separated numbersprotected ObjectShortVector(BinaryInput input, BinarySerializator serializator) throws java.io.IOException
input
- the buffer to read the ObjectShortVector fromserializator
- the serializator used to write objectsjava.io.IOException
- if there was an I/O error reading from the bufferpublic static short[] parseShortVector(java.lang.String line) throws java.lang.NumberFormatException, java.io.EOFException
line
- the text from which to parse vectorjava.lang.NumberFormatException
- if the given line
does not have comma-separated or space-separated integersjava.io.EOFException
- if a null line
is givenpublic static void writeShortVector(short[] data, java.io.OutputStream stream, char separator, char finalSeparator) throws java.io.IOException
data
- the vector of short integers to outputstream
- the output stream to write the text toseparator
- the char written between the vector numbersfinalSeparator
- the char written at the end of the vectorjava.io.IOException
- if there was an I/O error while writing to the streamprotected void writeData(java.io.OutputStream stream) throws java.io.IOException
LocalAbstractObject
writeData
in class LocalAbstractObject
stream
- the stream to store this object tojava.io.IOException
- if there was an error while writing to streampublic static short[] randomData(int dimension, short min, short max)
dimension
- number of dimensions to generatemin
- lower bound of the random generated values (inclusive)max
- upper bound of the random generated values (exclusive)public boolean dataEquals(java.lang.Object obj)
LocalAbstractObject
dataEquals
in class LocalAbstractObject
obj
- the reference object with which to compare.true
if this object is the same as the obj
argument; false
otherwise.public int dataHashCode()
LocalAbstractObject
dataHashCode
in class LocalAbstractObject
public java.lang.Short getVectorDataItem(int index)
ObjectVector
getVectorDataItem
in interface ObjectVector<java.lang.Short>
index
- zero-base index of the datum to returnpublic int getVectorDataDimension()
ObjectVector
getVectorDataDimension
in interface ObjectVector<java.lang.Short>
public short getVectorDataItemShort(int index)
public short[] getVectorData()
public int getSize()
LocalAbstractObject
getSize
in class LocalAbstractObject
public int getDimensionality()
protected short[] getMinMaxOverCoords(short[] currRange)
currRange
- An optional parameter containing current minimum and maximum values. If null is passed
a new range with minimum and maximum is created, otherwise the passed array is updated.public static short[] getMinMaxOverCoords(AbstractObjectIterator<? extends ObjectShortVector> iterator)
iterator
- Iterator of a collection containing vectors to process.public static short[][] getMinMaxForEveryCoord(AbstractObjectIterator<? extends ObjectShortVector> iterator)
iterator
- Iterator of a collection containing vectors to process.public LocalAbstractObject cloneRandomlyModify(java.lang.Object... args) throws java.lang.CloneNotSupportedException
cloneRandomlyModify
in class LocalAbstractObject
args
- expected size of the array is 2: minVector vector with minimal values in all positions
maxVector vector with maximal values in all positionsjava.lang.CloneNotSupportedException
- if the object's class does not support cloning or there was an errorpublic java.lang.String toString()
super.toString()
is appended.toString
in class AbstractObject
public int binarySerialize(BinaryOutput output, BinarySerializator serializator) throws java.io.IOException
output
.binarySerialize
in interface BinarySerializable
binarySerialize
in class LocalAbstractObject
output
- the data output this object is binary-serialized intoserializator
- the serializator used to write objectsjava.io.IOException
- if there was an I/O error during serializationpublic int getBinarySize(BinarySerializator serializator)
getBinarySize
in interface BinarySerializable
getBinarySize
in class LocalAbstractObject
serializator
- the serializator used to write objects