pub struct NumericChunk<'a> {
pub data: &'a [f64],
pub validity: Option<ValidityMask<'a>>, }
pub enum ValidityMask<'a> {
Bits(&'a [u64]),
Bools(&'a [bool]),
}
pub enum CellChunk<'a> {
Mixed(&'a [formualizer_common::LiteralValue]),
Numbers(&'a [f64]),
}
impl<'a> NumericChunk<'a> {
pub fn len(&self) -> usize {
self.data.len()
}
pub fn is_empty(&self) -> bool {
self.data.is_empty()
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn basic_numeric_chunk_properties() {
let buf = [1.0, 2.0, 3.0];
let ch = NumericChunk {
data: &buf,
validity: None,
};
assert_eq!(ch.len(), 3);
assert!(!ch.is_empty());
}
}