MCPcopy Create free account
hub / github.com/apache/paimon-rust / encode_delta_varints_write

Function encode_delta_varints_write

crates/paimon/src/arrow/format/blob.rs:746–758  ·  view source on GitHub ↗
(values: &[i64])

Source from the content-addressed store, hash-verified

744}
745
746fn encode_delta_varints_write(values: &[i64]) -> Vec<u8> {
747 if values.is_empty() {
748 return Vec::new();
749 }
750 let mut encoded = Vec::new();
751 let mut previous = 0_i64;
752 for (idx, &value) in values.iter().enumerate() {
753 let delta = if idx == 0 { value } else { value - previous };
754 previous = value;
755 encode_varint(delta, &mut encoded);
756 }
757 encoded
758}
759
760fn encode_varint(value: i64, out: &mut Vec<u8>) {
761 let mut remaining = ((value << 1) ^ (value >> 63)) as u64;

Callers 2

closeMethod · 0.85

Calls 3

encode_varintFunction · 0.70
is_emptyMethod · 0.45
iterMethod · 0.45