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

Function encode_delta_fastlanes_rans

nodedb-codec/src/pipeline.rs:303–316  ·  view source on GitHub ↗

Delta → FastLanes → rANS: i64 cold tier.

(values: &[i64])

Source from the content-addressed store, hash-verified

301
302/// Delta → FastLanes → rANS: i64 cold tier.
303fn encode_delta_fastlanes_rans(values: &[i64]) -> Result<Vec<u8>, CodecError> {
304 if values.is_empty() {
305 return Ok(crate::rans::encode(&crate::fastlanes::encode(&[])));
306 }
307
308 let mut deltas = Vec::with_capacity(values.len());
309 deltas.push(values[0]);
310 for i in 1..values.len() {
311 deltas.push(values[i].wrapping_sub(values[i - 1]));
312 }
313
314 let packed = crate::fastlanes::encode(&deltas);
315 Ok(crate::rans::encode(&packed))
316}
317
318fn decode_delta_fastlanes_rans(data: &[u8]) -> Result<Vec<i64>, CodecError> {
319 let packed = crate::rans::decode(data)?;

Callers 1

encode_i64_pipelineFunction · 0.85

Calls 4

encodeFunction · 0.70
is_emptyMethod · 0.45
lenMethod · 0.45
pushMethod · 0.45

Tested by

no test coverage detected