Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
pola-rs
GitHub Repository: pola-rs/polars
Path: blob/main/crates/polars-arrow/src/io/avro/read/util.rs
7884 views
1
use std::io::Read;
2
3
use polars_error::PolarsResult;
4
5
use super::super::avro_decode;
6
7
pub fn zigzag_i64<R: Read>(reader: &mut R) -> PolarsResult<i64> {
8
let z = decode_variable(reader)?;
9
Ok(if z & 0x1 == 0 {
10
(z >> 1) as i64
11
} else {
12
!(z >> 1) as i64
13
})
14
}
15
16
fn decode_variable<R: Read>(reader: &mut R) -> PolarsResult<u64> {
17
avro_decode!(reader)
18
}
19
20