1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
use crate::prelude::*;
use crate::series::unstable::UnstableSeries;
pub fn _to_physical_and_bit_repr(s: &[Series]) -> Vec<Series> {
s.iter()
.map(|s| {
let physical = s.to_physical_repr();
match physical.dtype() {
DataType::Int64 => physical.bit_repr_large().into_series(),
DataType::Int32 => physical.bit_repr_small().into_series(),
DataType::Float32 => physical.bit_repr_small().into_series(),
DataType::Float64 => physical.bit_repr_large().into_series(),
_ => physical.into_owned(),
}
})
.collect()
}
pub fn with_unstable_series<F, T>(dtype: &DataType, f: F) -> T
where
F: Fn(&mut UnstableSeries) -> T,
{
let mut container = Series::full_null("", 0, dtype);
let mut us = UnstableSeries::new(&mut container);
f(&mut us)
}