use crate::{
common,
numeric::Rounding,
scalar::{
CheckedIntNegOps, CheckedIntOps, Float, FloatOps, Int, IntOps, SaturatingIntNegOps,
SaturatingIntOps, Scalar, ScalarOps, Signed, SignedInt, SignedIntOps, SignedOps, Unsigned,
UnsignedInt, WrappingIntNegOps, WrappingIntOps,
},
};
common::impl_marker_trait!(
Scalar,
[usize, isize, u8, u16, u32, u64, u128, i8, i16, i32, i64, i128, f32, f64,]
);
common::impl_marker_trait!(Signed, [isize, i8, i16, i32, i64, i128, f32, f64,]);
common::impl_marker_trait!(Unsigned, [usize, u8, u16, u32, u64, u128,]);
common::impl_marker_trait!(Float, [f32, f64,]);
common::impl_marker_trait!(Int, [usize, isize, u8, u16, u32, u64, u128, i8, i16, i32, i64, i128,]);
common::impl_marker_trait!(SignedInt, [isize, i8, i16, i32, i64, i128,]);
common::impl_marker_trait!(UnsignedInt, [usize, u8, u16, u32, u64, u128,]);
common::impl_marker_trait!(
ScalarOps,
[usize, isize, u8, u16, u32, u64, u128, i8, i16, i32, i64, i128, f32, f64,]
);
common::impl_marker_trait!(SignedOps, [isize, i8, i16, i32, i64, i128, f32, f64,]);
common::impl_marker_trait!(FloatOps, [f32, f64]);
common::impl_marker_trait!(
IntOps,
[usize, isize, u8, u16, u32, u64, u128, i8, i16, i32, i64, i128,]
);
common::impl_marker_trait!(SignedIntOps, [isize, i8, i16, i32, i64, i128]);
common::impl_marker_trait!(
SaturatingIntOps,
[usize, isize, u8, u16, u32, u64, u128, i8, i16, i32, i64, i128,]
);
common::impl_marker_trait!(
WrappingIntOps,
[usize, isize, u8, u16, u32, u64, u128, i8, i16, i32, i64, i128,]
);
common::impl_marker_trait!(
CheckedIntOps,
[usize, isize, u8, u16, u32, u64, u128, i8, i16, i32, i64, i128,]
);
common::impl_marker_trait!(SaturatingIntNegOps, [isize, i8, i16, i32, i64, i128]);
common::impl_marker_trait!(WrappingIntNegOps, [isize, i8, i16, i32, i64, i128]);
common::impl_marker_trait!(CheckedIntNegOps, [isize, i8, i16, i32, i64, i128]);
common::impl_marker_trait!(Rounding, [f32, f64]);