Class LinearScanPrimitiveDistanceRangeByObject<O>

  • Type Parameters:
    O - relation object type
    All Implemented Interfaces:
    elki.database.query.LinearScanQuery, elki.database.query.range.RangeSearcher<O>

    public class LinearScanPrimitiveDistanceRangeByObject<O>
    extends java.lang.Object
    implements elki.database.query.range.RangeSearcher<O>, elki.database.query.LinearScanQuery
    Default linear scan range query class.

    Subtle optimization: for primitive distances, retrieve the query object only once from the relation.

    Since:
    0.4.0
    Author:
    Erich Schubert
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private elki.database.query.distance.PrimitiveDistanceQuery<O> distance
      Distance query.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      elki.database.ids.ModifiableDoubleDBIDList getRange​(O obj, double range, elki.database.ids.ModifiableDoubleDBIDList result)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface elki.database.query.range.RangeSearcher

        getRange
    • Field Detail

      • distance

        private elki.database.query.distance.PrimitiveDistanceQuery<O> distance
        Distance query.
    • Constructor Detail

      • LinearScanPrimitiveDistanceRangeByObject

        public LinearScanPrimitiveDistanceRangeByObject​(elki.database.query.distance.PrimitiveDistanceQuery<O> distanceQuery)
        Constructor.
        Parameters:
        distanceQuery - Distance function to use
    • Method Detail

      • getRange

        public elki.database.ids.ModifiableDoubleDBIDList getRange​(O obj,
                                                                   double range,
                                                                   elki.database.ids.ModifiableDoubleDBIDList result)
        Specified by:
        getRange in interface elki.database.query.range.RangeSearcher<O>