haar_lib/num/traits.rs
1//! 数の性質のトレイト
2
3macro_rules! implement {
4 ($tr:ty; $($t:ty),*) => {
5 $(
6 impl $tr for $t { }
7 )*
8 }
9}
10
11/// 非負の数値型
12pub trait Unsigned {}
13implement!(Unsigned; u8, u16, u32, u64, u128, usize);
14
15/// 符号付きの数値型
16pub trait Signed {}
17implement!(Signed; i8, i16, i32, i64, i128, isize, f32, f64);
18
19/// 整数型
20pub trait Int {}
21implement!(Int; u8, u16, u32, u64, u128, usize, i8, i16, i32, i64, i128, isize);
22
23/// 浮動小数点型
24pub trait Float {}
25implement!(Float; f32, f64);