pub trait Vector4dMath: Sized {
// Required methods
fn v4_neg(this: Vector4d<Self>) -> Vector4d<Self>;
fn v4_add(this: Vector4d<Self>, this: Vector4d<Self>) -> Vector4d<Self>;
fn v4_mul_scalar(this: Vector4d<Self>, k: Self) -> Vector4d<Self>;
fn v4_div_scalar(this: Vector4d<Self>, k: Self) -> Vector4d<Self>;
fn v4_mul_elementwise(
this: Vector4d<Self>,
other: Vector4d<Self>,
) -> Vector4d<Self>;
fn v4_div_elementwise(
this: Vector4d<Self>,
other: Vector4d<Self>,
) -> Vector4d<Self>;
fn v4_mul_add(
this: Vector4d<Self>,
k: Self,
other: Vector4d<Self>,
) -> Vector4d<Self>;
fn v4_norm_squared(this: Vector4d<Self>) -> Self;
fn v4_is_normalized(this: Vector4d<Self>) -> bool;
fn v4_max(this: Vector4d<Self>) -> Self;
fn v4_min(this: Vector4d<Self>) -> Self;
fn v4_dot(this: Vector4d<Self>, other: Vector4d<Self>) -> Self;
}Expand description
Math functions for Vector4d, using SIMD accelerations for f32.
Required Methods§
fn v4_neg(this: Vector4d<Self>) -> Vector4d<Self>
fn v4_add(this: Vector4d<Self>, this: Vector4d<Self>) -> Vector4d<Self>
fn v4_mul_scalar(this: Vector4d<Self>, k: Self) -> Vector4d<Self>
fn v4_div_scalar(this: Vector4d<Self>, k: Self) -> Vector4d<Self>
fn v4_mul_elementwise( this: Vector4d<Self>, other: Vector4d<Self>, ) -> Vector4d<Self>
fn v4_div_elementwise( this: Vector4d<Self>, other: Vector4d<Self>, ) -> Vector4d<Self>
fn v4_mul_add( this: Vector4d<Self>, k: Self, other: Vector4d<Self>, ) -> Vector4d<Self>
fn v4_norm_squared(this: Vector4d<Self>) -> Self
fn v4_is_normalized(this: Vector4d<Self>) -> bool
fn v4_max(this: Vector4d<Self>) -> Self
fn v4_min(this: Vector4d<Self>) -> Self
fn v4_dot(this: Vector4d<Self>, other: Vector4d<Self>) -> Self
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".