Numeric

Trait Numeric 

Source
pub trait Numeric {
Show 28 associated items type AsU8; type AsU16; type AsU32; type AsU64; type AsU128; type AsUSize; type AsI8; type AsI16; type AsI32; type AsI64; type AsI128; type AsISize; type AsF32; type AsF64; // Required methods fn to_u8(self) -> Self::AsU8; fn to_u16(self) -> Self::AsU16; fn to_u32(self) -> Self::AsU32; fn to_u64(self) -> Self::AsU64; fn to_u128(self) -> Self::AsU128; fn to_usize(self) -> Self::AsUSize; fn to_i8(self) -> Self::AsI8; fn to_i16(self) -> Self::AsI16; fn to_i32(self) -> Self::AsI32; fn to_i64(self) -> Self::AsI64; fn to_i128(self) -> Self::AsI128; fn to_isize(self) -> Self::AsISize; fn to_f32(self) -> Self::AsF32; fn to_f64(self) -> Self::AsF64;
}
Expand description

A numeric type that can be casted.

Since all components of this type are the same primitive number type, we can provide methods to cast the entire object to different ones.

Required Associated Types§

Required Methods§

Source

fn to_u8(self) -> Self::AsU8

Source

fn to_u16(self) -> Self::AsU16

Source

fn to_u32(self) -> Self::AsU32

Source

fn to_u64(self) -> Self::AsU64

Source

fn to_u128(self) -> Self::AsU128

Source

fn to_usize(self) -> Self::AsUSize

Source

fn to_i8(self) -> Self::AsI8

Source

fn to_i16(self) -> Self::AsI16

Source

fn to_i32(self) -> Self::AsI32

Source

fn to_i64(self) -> Self::AsI64

Source

fn to_i128(self) -> Self::AsI128

Source

fn to_isize(self) -> Self::AsISize

Source

fn to_f32(self) -> Self::AsF32

Source

fn to_f64(self) -> Self::AsF64

Implementations on Foreign Types§

Source§

impl Numeric for f32

Source§

impl Numeric for f64

Source§

impl Numeric for i8

Source§

impl Numeric for i16

Source§

impl Numeric for i32

Source§

impl Numeric for i64

Source§

impl Numeric for i128

Source§

impl Numeric for isize

Source§

impl Numeric for u8

Source§

impl Numeric for u16

Source§

impl Numeric for u32

Source§

impl Numeric for u64

Source§

impl Numeric for u128

Source§

impl Numeric for usize

Source§

impl<T, U8, U16, U32, U64, U128, USize, I8, I16, I32, I64, I128, ISize, F32, F64, const N: usize> Numeric for [T; N]
where T: Numeric<AsU8 = U8, AsU16 = U16, AsU32 = U32, AsU64 = U64, AsU128 = U128, AsUSize = USize, AsI8 = I8, AsI16 = I16, AsI32 = I32, AsI64 = I64, AsI128 = I128, AsISize = ISize, AsF32 = F32, AsF64 = F64>,

Implementors§

Source§

impl<T: Num> Numeric for Polygon<T>

Source§

impl<T: Numeric<AsU8 = u8, AsU16 = u16, AsU32 = u32, AsU64 = u64, AsU128 = u128, AsUSize = usize, AsI8 = i8, AsI16 = i16, AsI32 = i32, AsI64 = i64, AsI128 = i128, AsISize = isize, AsF32 = f32, AsF64 = f64>> Numeric for Affine2<T>

Source§

impl<T: Numeric<AsU8 = u8, AsU16 = u16, AsU32 = u32, AsU64 = u64, AsU128 = u128, AsUSize = usize, AsI8 = i8, AsI16 = i16, AsI32 = i32, AsI64 = i64, AsI128 = i128, AsISize = isize, AsF32 = f32, AsF64 = f64>> Numeric for Affine3<T>

Source§

impl<T: Numeric<AsU8 = u8, AsU16 = u16, AsU32 = u32, AsU64 = u64, AsU128 = u128, AsUSize = usize, AsI8 = i8, AsI16 = i16, AsI32 = i32, AsI64 = i64, AsI128 = i128, AsISize = isize, AsF32 = f32, AsF64 = f64>> Numeric for Circle<T>

Source§

impl<T: Numeric<AsU8 = u8, AsU16 = u16, AsU32 = u32, AsU64 = u64, AsU128 = u128, AsUSize = usize, AsI8 = i8, AsI16 = i16, AsI32 = i32, AsI64 = i64, AsI128 = i128, AsISize = isize, AsF32 = f32, AsF64 = f64>> Numeric for Degrees<T>

Source§

impl<T: Numeric<AsU8 = u8, AsU16 = u16, AsU32 = u32, AsU64 = u64, AsU128 = u128, AsUSize = usize, AsI8 = i8, AsI16 = i16, AsI32 = i32, AsI64 = i64, AsI128 = i128, AsISize = isize, AsF32 = f32, AsF64 = f64>> Numeric for Line<T>

Source§

impl<T: Numeric<AsU8 = u8, AsU16 = u16, AsU32 = u32, AsU64 = u64, AsU128 = u128, AsUSize = usize, AsI8 = i8, AsI16 = i16, AsI32 = i32, AsI64 = i64, AsI128 = i128, AsISize = isize, AsF32 = f32, AsF64 = f64>> Numeric for Mat2<T>

Source§

impl<T: Numeric<AsU8 = u8, AsU16 = u16, AsU32 = u32, AsU64 = u64, AsU128 = u128, AsUSize = usize, AsI8 = i8, AsI16 = i16, AsI32 = i32, AsI64 = i64, AsI128 = i128, AsISize = isize, AsF32 = f32, AsF64 = f64>> Numeric for Mat3<T>

Source§

impl<T: Numeric<AsU8 = u8, AsU16 = u16, AsU32 = u32, AsU64 = u64, AsU128 = u128, AsUSize = usize, AsI8 = i8, AsI16 = i16, AsI32 = i32, AsI64 = i64, AsI128 = i128, AsISize = isize, AsF32 = f32, AsF64 = f64>> Numeric for Mat4<T>

Source§

impl<T: Numeric<AsU8 = u8, AsU16 = u16, AsU32 = u32, AsU64 = u64, AsU128 = u128, AsUSize = usize, AsI8 = i8, AsI16 = i16, AsI32 = i32, AsI64 = i64, AsI128 = i128, AsISize = isize, AsF32 = f32, AsF64 = f64>> Numeric for Projection<T>

Source§

impl<T: Numeric<AsU8 = u8, AsU16 = u16, AsU32 = u32, AsU64 = u64, AsU128 = u128, AsUSize = usize, AsI8 = i8, AsI16 = i16, AsI32 = i32, AsI64 = i64, AsI128 = i128, AsISize = isize, AsF32 = f32, AsF64 = f64>> Numeric for Quad<T>

Source§

impl<T: Numeric<AsU8 = u8, AsU16 = u16, AsU32 = u32, AsU64 = u64, AsU128 = u128, AsUSize = usize, AsI8 = i8, AsI16 = i16, AsI32 = i32, AsI64 = i64, AsI128 = i128, AsISize = isize, AsF32 = f32, AsF64 = f64>> Numeric for Radians<T>

Source§

impl<T: Numeric<AsU8 = u8, AsU16 = u16, AsU32 = u32, AsU64 = u64, AsU128 = u128, AsUSize = usize, AsI8 = i8, AsI16 = i16, AsI32 = i32, AsI64 = i64, AsI128 = i128, AsISize = isize, AsF32 = f32, AsF64 = f64>> Numeric for Ray<T>

Source§

impl<T: Numeric<AsU8 = u8, AsU16 = u16, AsU32 = u32, AsU64 = u64, AsU128 = u128, AsUSize = usize, AsI8 = i8, AsI16 = i16, AsI32 = i32, AsI64 = i64, AsI128 = i128, AsISize = isize, AsF32 = f32, AsF64 = f64>> Numeric for RayHit<T>

Source§

impl<T: Numeric<AsU8 = u8, AsU16 = u16, AsU32 = u32, AsU64 = u64, AsU128 = u128, AsUSize = usize, AsI8 = i8, AsI16 = i16, AsI32 = i32, AsI64 = i64, AsI128 = i128, AsISize = isize, AsF32 = f32, AsF64 = f64>> Numeric for Rect<T>

Source§

impl<T: Numeric<AsU8 = u8, AsU16 = u16, AsU32 = u32, AsU64 = u64, AsU128 = u128, AsUSize = usize, AsI8 = i8, AsI16 = i16, AsI32 = i32, AsI64 = i64, AsI128 = i128, AsISize = isize, AsF32 = f32, AsF64 = f64>> Numeric for Rotations<T>

Source§

impl<T: Numeric<AsU8 = u8, AsU16 = u16, AsU32 = u32, AsU64 = u64, AsU128 = u128, AsUSize = usize, AsI8 = i8, AsI16 = i16, AsI32 = i32, AsI64 = i64, AsI128 = i128, AsISize = isize, AsF32 = f32, AsF64 = f64>> Numeric for Triangle<T>

Source§

impl<T: Numeric<AsU8 = u8, AsU16 = u16, AsU32 = u32, AsU64 = u64, AsU128 = u128, AsUSize = usize, AsI8 = i8, AsI16 = i16, AsI32 = i32, AsI64 = i64, AsI128 = i128, AsISize = isize, AsF32 = f32, AsF64 = f64>> Numeric for Vec2<T>

Source§

impl<T: Numeric<AsU8 = u8, AsU16 = u16, AsU32 = u32, AsU64 = u64, AsU128 = u128, AsUSize = usize, AsI8 = i8, AsI16 = i16, AsI32 = i32, AsI64 = i64, AsI128 = i128, AsISize = isize, AsF32 = f32, AsF64 = f64>> Numeric for Vec3<T>

Source§

impl<T: Numeric<AsU8 = u8, AsU16 = u16, AsU32 = u32, AsU64 = u64, AsU128 = u128, AsUSize = usize, AsI8 = i8, AsI16 = i16, AsI32 = i32, AsI64 = i64, AsI128 = i128, AsISize = isize, AsF32 = f32, AsF64 = f64>> Numeric for Vec4<T>