Package elki.clustering.kmedoids
Class CLARA.CachedDistanceQuery<V>
- java.lang.Object
-
- elki.clustering.kmedoids.CLARA.CachedDistanceQuery<V>
-
- Type Parameters:
V- Data type
- All Implemented Interfaces:
elki.database.query.distance.DistanceQuery<V>
protected static class CLARA.CachedDistanceQuery<V> extends java.lang.Object implements elki.database.query.distance.DistanceQuery<V>Cached distance query.- Author:
- Erich Schubert
-
-
Constructor Summary
Constructors Constructor Description CachedDistanceQuery(elki.database.query.distance.DistanceQuery<V> inner, int size)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclear()Clear the distance cache.doubledistance(elki.database.ids.DBIDRef id1, elki.database.ids.DBIDRef id2)doubledistance(elki.database.ids.DBIDRef id1, V o2)doubledistance(V o1, elki.database.ids.DBIDRef id2)doubledistance(V o1, V o2)elki.distance.Distance<? super V>getDistance()elki.database.relation.Relation<? extends V>getRelation()booleanhasUncachedQueries()Check if any queries were uncached (not using DBIDs).
-
-
-
Field Detail
-
inner
elki.database.query.distance.DistanceQuery<V> inner
Inner distance query
-
cache
it.unimi.dsi.fastutil.longs.Long2DoubleOpenHashMap cache
Cache
-
bad
int bad
Number of uncacheable queries
-
-
Constructor Detail
-
CachedDistanceQuery
public CachedDistanceQuery(elki.database.query.distance.DistanceQuery<V> inner, int size)
Constructor.- Parameters:
inner- Inner querysize- Initial size of map
-
-
Method Detail
-
hasUncachedQueries
public boolean hasUncachedQueries()
Check if any queries were uncached (not using DBIDs).- Returns:
- True if uncached distances were used
-
clear
public void clear()
Clear the distance cache.
-
distance
public double distance(elki.database.ids.DBIDRef id1, elki.database.ids.DBIDRef id2)- Specified by:
distancein interfaceelki.database.query.distance.DistanceQuery<V>
-
distance
public double distance(V o1, elki.database.ids.DBIDRef id2)
- Specified by:
distancein interfaceelki.database.query.distance.DistanceQuery<V>
-
distance
public double distance(elki.database.ids.DBIDRef id1, V o2)- Specified by:
distancein interfaceelki.database.query.distance.DistanceQuery<V>
-
distance
public double distance(V o1, V o2)
- Specified by:
distancein interfaceelki.database.query.distance.DistanceQuery<V>
-
getDistance
public elki.distance.Distance<? super V> getDistance()
- Specified by:
getDistancein interfaceelki.database.query.distance.DistanceQuery<V>
-
-