Class CLARA.CachedDistanceQuery<V>

  • Type Parameters:
    V - Data type
    All Implemented Interfaces:
    elki.database.query.distance.DistanceQuery<V>
    Enclosing class:
    CLARA<V>

    protected static class CLARA.CachedDistanceQuery<V>
    extends java.lang.Object
    implements elki.database.query.distance.DistanceQuery<V>
    Cached distance query.
    Author:
    Erich Schubert
    • Field Summary

      Fields 
      Modifier and Type Field Description
      (package private) int bad
      Number of uncacheable queries
      (package private) it.unimi.dsi.fastutil.longs.Long2DoubleOpenHashMap cache
      Cache
      (package private) elki.database.query.distance.DistanceQuery<V> inner
      Inner distance query
    • 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
      void clear()
      Clear the distance cache.
      double distance​(elki.database.ids.DBIDRef id1, elki.database.ids.DBIDRef id2)  
      double distance​(elki.database.ids.DBIDRef id1, V o2)  
      double distance​(V o1, elki.database.ids.DBIDRef id2)  
      double distance​(V o1, V o2)  
      elki.distance.Distance<? super V> getDistance()  
      elki.database.relation.Relation<? extends V> getRelation()  
      boolean hasUncachedQueries()
      Check if any queries were uncached (not using DBIDs).
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 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 query
        size - 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:
        distance in interface elki.database.query.distance.DistanceQuery<V>
      • distance

        public double distance​(V o1,
                               elki.database.ids.DBIDRef id2)
        Specified by:
        distance in interface elki.database.query.distance.DistanceQuery<V>
      • distance

        public double distance​(elki.database.ids.DBIDRef id1,
                               V o2)
        Specified by:
        distance in interface elki.database.query.distance.DistanceQuery<V>
      • distance

        public double distance​(V o1,
                               V o2)
        Specified by:
        distance in interface elki.database.query.distance.DistanceQuery<V>
      • getDistance

        public elki.distance.Distance<? super V> getDistance()
        Specified by:
        getDistance in interface elki.database.query.distance.DistanceQuery<V>
      • getRelation

        public elki.database.relation.Relation<? extends V> getRelation()
        Specified by:
        getRelation in interface elki.database.query.distance.DistanceQuery<V>