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

Function distance_non_negative_finite

nodedb-codec/src/vector_quant/rabitq.rs:452–464  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

450
451 #[test]
452 fn distance_non_negative_finite() {
453 let dim = 64;
454 let vecs: Vec<Vec<f32>> = (0..8).map(|i| random_vec(i as u64, dim)).collect();
455 let refs: Vec<&[f32]> = vecs.iter().map(|v| v.as_slice()).collect();
456 let codec = RaBitQCodec::calibrate(&refs, dim, 7);
457 let v1 = codec.encode(&random_vec(100, dim));
458 let v2 = codec.encode(&random_vec(200, dim));
459 let sym = codec.fast_symmetric_distance(&v1, &v2);
460 assert!(sym.is_finite() && sym >= 0.0, "sym distance: {sym}");
461 let q = codec.prepare_query(&random_vec(300, dim));
462 let asym = codec.exact_asymmetric_distance(&q, &v2);
463 assert!(asym.is_finite() && asym >= 0.0, "asym distance: {asym}");
464 }
465
466 #[test]
467 fn calibrate_identical_vectors_zero_residual() {

Callers

nothing calls this directly

Calls 8

random_vecFunction · 0.85
collectMethod · 0.80
iterMethod · 0.45
as_sliceMethod · 0.45
encodeMethod · 0.45
prepare_queryMethod · 0.45

Tested by

no test coverage detected