diff options
Diffstat (limited to 'src/de/lmu/ifi/dbs/elki/distance/DistanceUtil.java')
-rw-r--r-- | src/de/lmu/ifi/dbs/elki/distance/DistanceUtil.java | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/de/lmu/ifi/dbs/elki/distance/DistanceUtil.java b/src/de/lmu/ifi/dbs/elki/distance/DistanceUtil.java index 7a394b8b..eaa6c96c 100644 --- a/src/de/lmu/ifi/dbs/elki/distance/DistanceUtil.java +++ b/src/de/lmu/ifi/dbs/elki/distance/DistanceUtil.java @@ -23,7 +23,10 @@ package de.lmu.ifi.dbs.elki.distance; along with this program. If not, see <http://www.gnu.org/licenses/>. */ +import de.lmu.ifi.dbs.elki.database.query.distance.DistanceQuery; +import de.lmu.ifi.dbs.elki.distance.distancefunction.DistanceFunction; import de.lmu.ifi.dbs.elki.distance.distancevalue.Distance; +import de.lmu.ifi.dbs.elki.distance.distancevalue.DoubleDistance; /** * Class with distance related utility functions. @@ -89,4 +92,26 @@ public final class DistanceUtil { return d1; } } + + /** + * Test whether a distance function is double-valued. + * + * @param df Distance function + * @return True when the distance function returns double values + */ + public static boolean isDoubleDistanceFunction(DistanceFunction<?, ?> df) { + Object factory = df.getDistanceFactory(); + return (factory == DoubleDistance.FACTORY) || (factory instanceof DoubleDistance); + } + + /** + * Test whether a distance query is double-valued. + * + * @param df Distance function + * @return True when the distance function returns double values + */ + public static boolean isDoubleDistanceFunction(DistanceQuery<?, ?> df) { + Object factory = df.getDistanceFactory(); + return (factory == DoubleDistance.FACTORY) || (factory instanceof DoubleDistance); + } }
\ No newline at end of file |