package library.distance;

public interface IDistanceTo<TSemStore> {

	double getDistanceTo(TSemStore semantics);

	/**
	 * Calculates distance from this object to the given semantics. The calculation is terminated if the distance
	 * exceeds the given upper bound. In such a case, the method is obligated to return Double.NaN.
	 * 
	 * @param semantics
	 * @param upperBound
	 * @return
	 */
	double getDistanceTo(TSemStore semantics, double upperBound);
}
