pub trait Scalar:
Copy
+ Clone
+ Send
+ Sync
+ 'static
+ Default
+ PartialOrd
+ Add<Output = Self>
+ Sub<Output = Self>
+ Mul<Output = Self>
+ Div<Output = Self>
+ Rem<Output = Self>
+ Neg<Output = Self>
+ AddAssign
+ SubAssign
+ MulAssign
+ DivAssign
+ Debug {
const ZERO: Self;
const ONE: Self;
const MIN: Self;
const MAX: Self;
// Required methods
fn abs(self) -> Self;
fn min(self, other: Self) -> Self;
fn max(self, other: Self) -> Self;
fn clamp(self, min: Self, max: Self) -> Self;
}Expand description
Базовый числовой трейт для любых скалярных типов.
Включает арифметику, min/max/clamp, abs. Реализован для f32, f64 и всех целых типов (i8/i16/i32/i64, u8/u16/u32/u64).
Required Associated Constants§
Required Methods§
fn abs(self) -> Self
fn min(self, other: Self) -> Self
fn max(self, other: Self) -> Self
fn clamp(self, min: Self, max: Self) -> Self
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.