Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
pola-rs
GitHub Repository: pola-rs/polars
Path: blob/main/crates/polars-ops/src/series/ops/reinterpret.rs
6939 views
1
use polars_core::prelude::*;
2
3
pub fn reinterpret(s: &Series, signed: bool) -> PolarsResult<Series> {
4
Ok(match (s.dtype(), signed) {
5
(DataType::UInt64, true) => s.u64().unwrap().reinterpret_signed().into_series(),
6
(DataType::UInt64, false) => s.clone(),
7
(DataType::Int64, false) => s.i64().unwrap().reinterpret_unsigned().into_series(),
8
(DataType::Int64, true) => s.clone(),
9
(DataType::UInt32, true) => s.u32().unwrap().reinterpret_signed().into_series(),
10
(DataType::UInt32, false) => s.clone(),
11
(DataType::Int32, false) => s.i32().unwrap().reinterpret_unsigned().into_series(),
12
(DataType::Int32, true) => s.clone(),
13
_ => polars_bail!(
14
ComputeError:
15
"reinterpret is only allowed for 64-bit/32-bit integers types, use cast otherwise"
16
),
17
})
18
}
19
20