pub trait TypeCommon{
type Vec: VecTrait<Self> + Send + Copy + IntoVec<Self::Vec> + Index<usize, Output = Self> + IndexMut<usize> + Sync + Debug + NormalOutUnary + NormalOut<Self::Vec, Output = Self::Vec> + FloatOutUnary + FloatOutBinary + FloatOutBinary<<Self::Vec as FloatOutUnary>::Output, Output = <Self::Vec as FloatOutUnary>::Output>;
const MAX: Self;
const MIN: Self;
const ZERO: Self;
const ONE: Self;
const INF: Self;
const NEG_INF: Self;
const TWO: Self;
const SIX: Self;
const TEN: Self;
const STR: &'static str;
const BYTE_SIZE: usize;
}Expand description
common trait for all data types
This trait is used to define the common properties of all data types
Required Associated Constants§
Sourceconst INF: Self
const INF: Self
the infinity value of the data type, for integer types, it is the maximum value
Required Associated Types§
Sourcetype Vec: VecTrait<Self> + Send + Copy + IntoVec<Self::Vec> + Index<usize, Output = Self> + IndexMut<usize> + Sync + Debug + NormalOutUnary + NormalOut<Self::Vec, Output = Self::Vec> + FloatOutUnary + FloatOutBinary + FloatOutBinary<<Self::Vec as FloatOutUnary>::Output, Output = <Self::Vec as FloatOutUnary>::Output>
type Vec: VecTrait<Self> + Send + Copy + IntoVec<Self::Vec> + Index<usize, Output = Self> + IndexMut<usize> + Sync + Debug + NormalOutUnary + NormalOut<Self::Vec, Output = Self::Vec> + FloatOutUnary + FloatOutBinary + FloatOutBinary<<Self::Vec as FloatOutUnary>::Output, Output = <Self::Vec as FloatOutUnary>::Output>
the simd vector type of the data type
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.