MCPcopy Create free account
hub / github.com/NGT-labs/NGT / ComparatorNormalizedL2

Class ComparatorNormalizedL2

lib/NGT/ObjectSpaceRepository.h:169–192  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

167#endif
168
169 class ComparatorNormalizedL2 : public Comparator {
170 public:
171#ifdef NGT_SHARED_MEMORY_ALLOCATOR
172 ComparatorNormalizedL2(size_t d, SharedMemoryAllocator &a) : Comparator(d, a) {}
173 double operator()(Object &objecta, Object &objectb) {
174 return PrimitiveComparator::compareNormalizedL2((OBJECT_TYPE *)&objecta[0], (OBJECT_TYPE *)&objectb[0],
175 dimension);
176 }
177 double operator()(Object &objecta, PersistentObject &objectb) {
178 return PrimitiveComparator::compareNormalizedL2((OBJECT_TYPE *)&objecta[0],
179 (OBJECT_TYPE *)&objectb.at(0, allocator), dimension);
180 }
181 double operator()(PersistentObject &objecta, PersistentObject &objectb) {
182 return PrimitiveComparator::compareNormalizedL2((OBJECT_TYPE *)&objecta.at(0, allocator),
183 (OBJECT_TYPE *)&objectb.at(0, allocator), dimension);
184 }
185#else
186 ComparatorNormalizedL2(size_t d) : Comparator(d) {}
187 double operator()(Object &objecta, Object &objectb) {
188 return PrimitiveComparator::compareNormalizedL2((OBJECT_TYPE *)&objecta[0], (OBJECT_TYPE *)&objectb[0],
189 dimension);
190 }
191#endif
192 };
193
194 class ComparatorHammingDistance : public Comparator {
195 public:

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected