package edu.cmu.sphinx.util.machlearn;
import java.io.Serializable;
import java.util.Arrays;
/** An real-valued observation. */
@SuppressWarnings("serial")
public class OVector implements Cloneable, Serializable {
protected final double[] values;
/** Constructs a new observation for a given feature-vector.
* @param values vector values
*/
public OVector(double[] values) {
this.values = values;
}
/** Creates a one-dimensional instance of this class.
* @param value vector value
*/
public OVector(double value) {
this(new double[]{value});
}
/**
* Returns the values of this observation.
*
* @return the values
*/
public double[] getValues() {
return values;
}
/** @return the dimension of this observation. */
public int dimension() {
return getValues().length;
}
@Override
public boolean equals(Object obj) {
return obj instanceof OVector && Arrays.equals(values, ((OVector) obj).values);
}
@Override
public int hashCode() {
return Arrays.hashCode(values);
}
@Override
public String toString() {
return Arrays.toString(values);
}
}