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

Method encode

nodedb-vector/src/rerank/codecs/binary.rs:53–64  ·  view source on GitHub ↗

Encode a full-precision vector to binary sign bits. The serialized form is the raw `UnifiedQuantizedVector` buffer (`as_bytes()`): 32-byte `QuantHeader` followed by `ceil(dim/8)` bytes of packed sign bits.

(&self, v: &[f32])

Source from the content-addressed store, hash-verified

51 /// (`as_bytes()`): 32-byte `QuantHeader` followed by `ceil(dim/8)` bytes
52 /// of packed sign bits.
53 fn encode(&self, v: &[f32]) -> Result<Vec<u8>, RerankError> {
54 if v.len() != self.dim {
55 return Err(RerankError::BadInput(format!(
56 "binary encode: vector len {} != codec dim {}",
57 v.len(),
58 self.dim
59 )));
60 }
61 use nodedb_codec::vector_quant::codec::VectorCodec as _;
62 let quantized = self.codec.encode(v);
63 Ok(quantized.as_ref().as_bytes().to_vec())
64 }
65
66 /// Prepare the query for repeated distance calls.
67 ///

Calls 4

lenMethod · 0.45
to_vecMethod · 0.45
as_bytesMethod · 0.45
as_refMethod · 0.45