radiate_utils/datatype/
mod.rs1mod arithmetic;
2mod compare;
3pub mod dtype;
4mod scalar;
5pub mod value;
6
7use std::time::Duration;
8
9pub use arithmetic::pow_anyvalue;
10pub use dtype::*;
11pub use scalar::Scalar;
12pub use value::{AnyValue, dedup_slice};
13
14macro_rules! impl_dtype {
15 ($t:ty, $dtype:expr) => {
16 impl DType for $t {
17 fn dtype(&self) -> DataType {
18 $dtype
19 }
20 }
21 };
22}
23
24impl_dtype!(u8, DataType::UInt8);
25impl_dtype!(u16, DataType::UInt16);
26impl_dtype!(u32, DataType::UInt32);
27impl_dtype!(u64, DataType::UInt64);
28impl_dtype!(u128, DataType::UInt128);
29
30impl_dtype!(i8, DataType::Int8);
31impl_dtype!(i16, DataType::Int16);
32impl_dtype!(i32, DataType::Int32);
33impl_dtype!(i64, DataType::Int64);
34impl_dtype!(i128, DataType::Int128);
35
36impl_dtype!(f32, DataType::Float32);
37impl_dtype!(f64, DataType::Float64);
38
39impl_dtype!(usize, DataType::Usize);
40
41impl_dtype!(Duration, DataType::Duration);
42
43impl_dtype!(bool, DataType::Boolean);
44
45impl_dtype!(char, DataType::Char);
46impl_dtype!(String, DataType::String);