(&self, q: &TernaryQuery, v: &Self::Quantized)
| 103 | } |
| 104 | |
| 105 | fn exact_asymmetric_distance(&self, q: &TernaryQuery, v: &Self::Quantized) -> f32 { |
| 106 | let vh = v.0.header(); |
| 107 | |
| 108 | let v_hot = ensure_hot(v.0.packed_bits(), vh.quant_mode, self.dim); |
| 109 | |
| 110 | let dot = ternary_dot(&q.trits_hot, &v_hot, self.dim); |
| 111 | let norm_q = scaled_norm_sq(&q.trits_hot, self.dim, q.scale); |
| 112 | let norm_v = scaled_norm_sq(&v_hot, self.dim, vh.global_scale); |
| 113 | l2_from_dot(dot, norm_q, norm_v, q.scale, vh.global_scale) |
| 114 | } |
| 115 | } |
| 116 | |
| 117 | #[cfg(test)] |
nothing calls this directly
no test coverage detected