MCPcopy Create free account
hub / github.com/NodeDB-Lab/nodedb / fast_symmetric_distance

Method fast_symmetric_distance

nodedb-vector/src/quantize/pq_codec.rs:124–138  ·  view source on GitHub ↗
(&self, q: &Self::Quantized, v: &Self::Quantized)

Source from the content-addressed store, hash-verified

122 /// its nearest centroids, and the distance is computed in FP32.
123 #[inline]
124 fn fast_symmetric_distance(&self, q: &Self::Quantized, v: &Self::Quantized) -> f32 {
125 let dq_a = self
126 .decode(packed_bits_of(q))
127 .expect("PqCodec::fast_symmetric_distance: decode failed");
128 let dq_b = self
129 .decode(packed_bits_of(v))
130 .expect("PqCodec::fast_symmetric_distance: decode failed");
131 dq_a.iter()
132 .zip(dq_b.iter())
133 .map(|(&a, &b)| {
134 let d = a - b;
135 d * d
136 })
137 .sum()
138 }
139
140 /// Asymmetric ADC distance: precomputed distance table vs stored code.
141 ///

Calls 5

sumMethod · 0.80
packed_bits_ofFunction · 0.70
expectMethod · 0.45
decodeMethod · 0.45
iterMethod · 0.45