Package elki.database.query.range
Class LinearScanPrimitiveDistanceRangeByObject<O>
- java.lang.Object
-
- elki.database.query.range.LinearScanPrimitiveDistanceRangeByObject<O>
-
- Type Parameters:
O- relation object type
- All Implemented Interfaces:
LinearScanQuery,RangeSearcher<O>
public class LinearScanPrimitiveDistanceRangeByObject<O> extends java.lang.Object implements RangeSearcher<O>, 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 PrimitiveDistanceQuery<O>distanceDistance query.
-
Constructor Summary
Constructors Constructor Description LinearScanPrimitiveDistanceRangeByObject(PrimitiveDistanceQuery<O> distanceQuery)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ModifiableDoubleDBIDListgetRange(O obj, double range, ModifiableDoubleDBIDList result)Get the neighbors for a particular id in a given query range.-
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 PrimitiveDistanceQuery<O> distance
Distance query.
-
-
Constructor Detail
-
LinearScanPrimitiveDistanceRangeByObject
public LinearScanPrimitiveDistanceRangeByObject(PrimitiveDistanceQuery<O> distanceQuery)
Constructor.- Parameters:
distanceQuery- Distance function to use
-
-
Method Detail
-
getRange
public ModifiableDoubleDBIDList getRange(O obj, double range, ModifiableDoubleDBIDList result)
Description copied from interface:RangeSearcherGet the neighbors for a particular id in a given query range.- Specified by:
getRangein interfaceRangeSearcher<O>- Parameters:
obj- query object IDrange- Query rangeresult- Output data structure- Returns:
- neighbors
-
-