#[repr(C)]pub struct Vector4<U: Unit = f32> {
pub x: U::Scalar,
pub y: U::Scalar,
pub z: U::Scalar,
pub w: U::Scalar,
}Expand description
4D vector.
§Alignment
This is always has the same alignment as the scalar component type, and
not the “normal” 128-bit alignment. This is due to limitations in the
#[repr(align(...))] attribute when combined with generics.
Fields§
§x: U::ScalarX coordinate
y: U::ScalarY coordinate
z: U::ScalarZ coordinate
w: U::ScalarW coordinate
Implementations§
Source§impl<T: Unit> Vector4<T>
impl<T: Unit> Vector4<T>
Sourcepub fn from_point(point: Point4<T>) -> Self
pub fn from_point(point: Point4<T>) -> Self
Instantiate from point.
Sourcepub fn as_point_mut(&mut self) -> &mut Point4<T>
pub fn as_point_mut(&mut self) -> &mut Point4<T>
Reinterpret as point.
Source§impl<T: Unit> Vector4<T>
impl<T: Unit> Vector4<T>
Sourcepub fn min_element(self) -> T::Scalar
pub fn min_element(self) -> T::Scalar
Min element.
Sourcepub fn max_element(self) -> T::Scalar
pub fn max_element(self) -> T::Scalar
Max element.
Sourcepub fn write_to_slice(self, slice: &mut [T::Scalar])
pub fn write_to_slice(self, slice: &mut [T::Scalar])
Write this vector type to a slice.
Sourcepub fn element_sum(self) -> T::Scalar
pub fn element_sum(self) -> T::Scalar
Sum of all elements.
Sourcepub fn element_product(self) -> T::Scalar
pub fn element_product(self) -> T::Scalar
Product of all elements.
Sourcepub fn as_array_mut(&mut self) -> &mut [T::Scalar; 4]
pub fn as_array_mut(&mut self) -> &mut [T::Scalar; 4]
Reinterpret as mutable array.
Sourcepub fn map<F: Fn(T::Scalar) -> T::Scalar>(self, f: F) -> Self
pub fn map<F: Fn(T::Scalar) -> T::Scalar>(self, f: F) -> Self
Returns a vector containing each element of self modified by a mapping function f.
Sourcepub fn from_untyped(untyped: Vector4<T::Scalar>) -> Vector4<T>
pub fn from_untyped(untyped: Vector4<T::Scalar>) -> Vector4<T>
Bitcast an untyped instance to self.
Sourcepub fn to_untyped(self) -> Vector4<T::Scalar>
pub fn to_untyped(self) -> Vector4<T::Scalar>
Bitcast self to an untyped instance.
Sourcepub fn as_untyped(&self) -> &Vector4<T::Scalar>
pub fn as_untyped(&self) -> &Vector4<T::Scalar>
Reinterpret cast self as the untyped variant.
Sourcepub fn as_untyped_mut(&mut self) -> &mut Vector4<T::Scalar>
pub fn as_untyped_mut(&mut self) -> &mut Vector4<T::Scalar>
Reinterpret cast self as the untyped variant.
Sourcepub fn cast<T2>(self) -> Vector4<T2>
pub fn cast<T2>(self) -> Vector4<T2>
Cast to a different coordinate space with the same underlying scalar type.
Sourcepub fn cast_ref<T2>(&self) -> &Vector4<T2>
pub fn cast_ref<T2>(&self) -> &Vector4<T2>
Cast to a different coordinate space with the same underlying scalar type.
Sourcepub fn cast_mut<T2>(&mut self) -> &mut Vector4<T2>
pub fn cast_mut<T2>(&mut self) -> &mut Vector4<T2>
Cast to a different coordinate space with the same underlying scalar type.
Sourcepub fn as_<T2>(self) -> Vector4<T2>
pub fn as_<T2>(self) -> Vector4<T2>
Cast to a different coordinate space with scalar type conversion through the as operator (potentially narrowing or losing precision).
Sourcepub fn try_cast<T2>(self) -> Option<Vector4<T2>>where
T2: Unit,
pub fn try_cast<T2>(self) -> Option<Vector4<T2>>where
T2: Unit,
Cast to a different coordinate space with scalar type conversion. Returns None if any component could not be converted to the target scalar type.
Source§impl<T: FloatUnit> Vector4<T>
impl<T: FloatUnit> Vector4<T>
Sourcepub fn fract(self) -> Self
pub fn fract(self) -> Self
See (e.g.) glam::Vec2::fract()
Sourcepub fn fract_gl(self) -> Self
pub fn fract_gl(self) -> Self
See (e.g.) glam::Vec2::fract_gl()
Source§impl<T: SignedUnit> Vector4<T>
impl<T: SignedUnit> Vector4<T>
Sourcepub fn abs(self) -> Self
pub fn abs(self) -> Self
Returns a vector containing the absolute value of each element of self.
Sourcepub fn rem_euclid(self, rhs: Self) -> Self
pub fn rem_euclid(self, rhs: Self) -> Self
Returns the element-wise remainder of Euclidean division of self`` by rhs`.
§Panics
This function will panic if any rhs element is 0 or the division results in overflow.
Source§impl<T: IntUnit> Vector4<T>
impl<T: IntUnit> Vector4<T>
Sourcepub fn saturating_add(self, rhs: Self) -> Self
pub fn saturating_add(self, rhs: Self) -> Self
Returns a vector containing the saturating addition of self and rhs.
Sourcepub fn saturating_sub(self, rhs: Self) -> Self
pub fn saturating_sub(self, rhs: Self) -> Self
Returns a vector containing the saturating subtraction of self and rhs.
Sourcepub fn saturating_mul(self, rhs: Self) -> Self
pub fn saturating_mul(self, rhs: Self) -> Self
Returns a vector containing the saturating multiplication of self and rhs.
Sourcepub fn saturating_div(self, rhs: Self) -> Self
pub fn saturating_div(self, rhs: Self) -> Self
Returns a vector containing the saturating division of self and rhs.
Sourcepub fn wrapping_add(self, rhs: Self) -> Self
pub fn wrapping_add(self, rhs: Self) -> Self
Returns a vector containing the wrapping addition of self and rhs.
Sourcepub fn wrapping_sub(self, rhs: Self) -> Self
pub fn wrapping_sub(self, rhs: Self) -> Self
Returns a vector containing the wrapping subtraction of self and rhs.
Sourcepub fn wrapping_mul(self, rhs: Self) -> Self
pub fn wrapping_mul(self, rhs: Self) -> Self
Returns a vector containing the wrapping multiplication of self and rhs.
Sourcepub fn wrapping_div(self, rhs: Self) -> Self
pub fn wrapping_div(self, rhs: Self) -> Self
Returns a vector containing the wrapping division of self and rhs.
Source§impl<T: Unit> Vector4<T>
impl<T: Unit> Vector4<T>
Source§impl<T: SignedUnit> Vector4<T>
impl<T: SignedUnit> Vector4<T>
Source§impl<T: FloatUnit> Vector4<T>
impl<T: FloatUnit> Vector4<T>
Sourcepub const NEG_INFINITY: Self
pub const NEG_INFINITY: Self
All negative infinity.
Sourcepub fn is_nan_mask(self) -> BVec4
pub fn is_nan_mask(self) -> BVec4
Return a mask where each bit is set if the corresponding component is NaN.
Sourcepub fn is_finite_mask(self) -> BVec4
pub fn is_finite_mask(self) -> BVec4
Performs is_finite on each element of self, returning a vector mask of the results.
Source§impl<T: Unit> Vector4<T>
impl<T: Unit> Vector4<T>
Sourcepub fn from_array(array: [T::Scalar; 4]) -> Self
pub fn from_array(array: [T::Scalar; 4]) -> Self
Creates a new vector from an array.
Sourcepub fn cmpeq(self, rhs: Self) -> BVec4
pub fn cmpeq(self, rhs: Self) -> BVec4
Returns a vector mask containing the result of a == comparison for each element of self and rhs.
Sourcepub fn cmpne(self, rhs: Self) -> BVec4
pub fn cmpne(self, rhs: Self) -> BVec4
Returns a vector mask containing the result of a != comparison for each element of self and rhs.
Sourcepub fn cmpge(self, rhs: Self) -> BVec4
pub fn cmpge(self, rhs: Self) -> BVec4
Returns a vector mask containing the result of a >= comparison for each element of self and rhs.
Sourcepub fn cmpgt(self, rhs: Self) -> BVec4
pub fn cmpgt(self, rhs: Self) -> BVec4
Returns a vector mask containing the result of a > comparison for each element of self and rhs.
Sourcepub fn cmple(self, rhs: Self) -> BVec4
pub fn cmple(self, rhs: Self) -> BVec4
Returns a vector mask containing the result of a <= comparison for each element of self and rhs.
Sourcepub fn cmplt(self, rhs: Self) -> BVec4
pub fn cmplt(self, rhs: Self) -> BVec4
Returns a vector mask containing the result of a < comparison for each element of self and rhs.
Source§impl<T: Unit> Vector4<T>
impl<T: Unit> Vector4<T>
Sourcepub fn dot_into_vec(self, other: Self) -> Self
pub fn dot_into_vec(self, other: Self) -> Self
Returns a vector where every component is the dot product of self and rhs.
Source§impl<T: SignedUnit> Vector4<T>
impl<T: SignedUnit> Vector4<T>
Sourcepub fn div_euclid(self, rhs: Self) -> Self
pub fn div_euclid(self, rhs: Self) -> Self
Returns the element-wise quotient of Euclidean division of self`` by rhs`.
§Panics
This function will panic if any rhs element is 0 or the division results in overflow.
Source§impl<T: FloatUnit> Vector4<T>
impl<T: FloatUnit> Vector4<T>
Sourcepub fn clamp_length_max(self, min: T::Scalar) -> Self
pub fn clamp_length_max(self, min: T::Scalar) -> Self
Clamp length
Sourcepub fn clamp_length_min(self, min: T::Scalar) -> Self
pub fn clamp_length_min(self, min: T::Scalar) -> Self
Clamp length
Sourcepub fn clamp_length(self, min: T::Scalar, max: T::Scalar) -> Self
pub fn clamp_length(self, min: T::Scalar, max: T::Scalar) -> Self
Clamp length
Sourcepub fn length_squared(self) -> T::Scalar
pub fn length_squared(self) -> T::Scalar
Squared length of the vector
Sourcepub fn length_recip(self) -> T::Scalar
pub fn length_recip(self) -> T::Scalar
Reciprocal length of the vector
Sourcepub fn normalize_or_zero(self) -> Self
pub fn normalize_or_zero(self) -> Self
Normalize the vector, returning zero if the length was already (very close to) zero.
Sourcepub fn normalize(self) -> Self
pub fn normalize(self) -> Self
Normalize the vector. Undefined results in the vector’s length is (very close to) zero.
Sourcepub fn normalize_or(self, fallback: Self) -> Self
pub fn normalize_or(self, fallback: Self) -> Self
Returns self normalized to length 1.0 if possible, else returns a fallback value.
Sourcepub fn try_normalize(self) -> Option<Self>
pub fn try_normalize(self) -> Option<Self>
Normalize the vector, returning None if the length was already (very close to) zero.
Sourcepub fn is_normalized(self) -> bool
pub fn is_normalized(self) -> bool
True if the vector is normalized.
Sourcepub fn project_onto_normalized(self, other: Self) -> Self
pub fn project_onto_normalized(self, other: Self) -> Self
See (e.g.) glam::Vec2::project_onto_normalized()
Sourcepub fn project_onto(self, other: Self) -> Self
pub fn project_onto(self, other: Self) -> Self
See (e.g.) glam::Vec2::project_onto()
Sourcepub fn reject_from_normalized(self, other: Self) -> Self
pub fn reject_from_normalized(self, other: Self) -> Self
See (e.g.) glam::Vec2::reject_from_normalized()
Sourcepub fn reject_from(self, other: Self) -> Self
pub fn reject_from(self, other: Self) -> Self
See (e.g.) glam::Vec2::reject_from()
Sourcepub fn reflect(self, normal: Self) -> Self
pub fn reflect(self, normal: Self) -> Self
Returns the reflection vector for a given incident vector self and surface normal normal.
normal must be normalized.
Sourcepub fn refract(self, normal: Self, eta: T::Scalar) -> Self
pub fn refract(self, normal: Self, eta: T::Scalar) -> Self
Returns the refraction direction for a given incident vector
self, surface normal normal and ratio of indices of refraction,
eta. When total internal reflection occurs, a zero vector will
be returned.
self and normal must be normalized.
Trait Implementations§
Source§impl<T: FloatUnit> AbsDiffEq for Vector4<T>
impl<T: FloatUnit> AbsDiffEq for Vector4<T>
Source§type Epsilon = <<T as Unit>::Scalar as AbsDiffEq>::Epsilon
type Epsilon = <<T as Unit>::Scalar as AbsDiffEq>::Epsilon
Source§fn default_epsilon() -> Self::Epsilon
fn default_epsilon() -> Self::Epsilon
Source§fn abs_diff_eq(&self, other: &Self, epsilon: Self::Epsilon) -> bool
fn abs_diff_eq(&self, other: &Self, epsilon: Self::Epsilon) -> bool
Source§fn abs_diff_ne(&self, other: &Self, epsilon: Self::Epsilon) -> bool
fn abs_diff_ne(&self, other: &Self, epsilon: Self::Epsilon) -> bool
AbsDiffEq::abs_diff_eq.Source§impl<T: Unit> AddAssign<&Vector4<T>> for Point4<T>
impl<T: Unit> AddAssign<&Vector4<T>> for Point4<T>
Source§fn add_assign(&mut self, rhs: &Vector4<T>)
fn add_assign(&mut self, rhs: &Vector4<T>)
+= operation. Read moreSource§impl<T: Unit> AddAssign<&Vector4<T>> for Vector4<T>
impl<T: Unit> AddAssign<&Vector4<T>> for Vector4<T>
Source§fn add_assign(&mut self, rhs: &Vector4<T>)
fn add_assign(&mut self, rhs: &Vector4<T>)
+= operation. Read moreSource§impl<T: Unit<Scalar = f32>> AddAssign<&f32> for Vector4<T>
impl<T: Unit<Scalar = f32>> AddAssign<&f32> for Vector4<T>
Source§fn add_assign(&mut self, rhs: &f32)
fn add_assign(&mut self, rhs: &f32)
+= operation. Read moreSource§impl<T: Unit<Scalar = f64>> AddAssign<&f64> for Vector4<T>
impl<T: Unit<Scalar = f64>> AddAssign<&f64> for Vector4<T>
Source§fn add_assign(&mut self, rhs: &f64)
fn add_assign(&mut self, rhs: &f64)
+= operation. Read moreSource§impl<T: Unit<Scalar = i16>> AddAssign<&i16> for Vector4<T>
impl<T: Unit<Scalar = i16>> AddAssign<&i16> for Vector4<T>
Source§fn add_assign(&mut self, rhs: &i16)
fn add_assign(&mut self, rhs: &i16)
+= operation. Read moreSource§impl<T: Unit<Scalar = i32>> AddAssign<&i32> for Vector4<T>
impl<T: Unit<Scalar = i32>> AddAssign<&i32> for Vector4<T>
Source§fn add_assign(&mut self, rhs: &i32)
fn add_assign(&mut self, rhs: &i32)
+= operation. Read moreSource§impl<T: Unit<Scalar = i64>> AddAssign<&i64> for Vector4<T>
impl<T: Unit<Scalar = i64>> AddAssign<&i64> for Vector4<T>
Source§fn add_assign(&mut self, rhs: &i64)
fn add_assign(&mut self, rhs: &i64)
+= operation. Read moreSource§impl<T: Unit<Scalar = u16>> AddAssign<&u16> for Vector4<T>
impl<T: Unit<Scalar = u16>> AddAssign<&u16> for Vector4<T>
Source§fn add_assign(&mut self, rhs: &u16)
fn add_assign(&mut self, rhs: &u16)
+= operation. Read moreSource§impl<T: Unit<Scalar = u32>> AddAssign<&u32> for Vector4<T>
impl<T: Unit<Scalar = u32>> AddAssign<&u32> for Vector4<T>
Source§fn add_assign(&mut self, rhs: &u32)
fn add_assign(&mut self, rhs: &u32)
+= operation. Read moreSource§impl<T: Unit<Scalar = u64>> AddAssign<&u64> for Vector4<T>
impl<T: Unit<Scalar = u64>> AddAssign<&u64> for Vector4<T>
Source§fn add_assign(&mut self, rhs: &u64)
fn add_assign(&mut self, rhs: &u64)
+= operation. Read moreSource§impl<T: Unit> AddAssign<Vector4<T>> for Point4<T>
impl<T: Unit> AddAssign<Vector4<T>> for Point4<T>
Source§fn add_assign(&mut self, rhs: Vector4<T>)
fn add_assign(&mut self, rhs: Vector4<T>)
+= operation. Read moreSource§impl<T: Unit<Scalar = f32>> AddAssign<f32> for Vector4<T>
impl<T: Unit<Scalar = f32>> AddAssign<f32> for Vector4<T>
Source§fn add_assign(&mut self, rhs: f32)
fn add_assign(&mut self, rhs: f32)
+= operation. Read moreSource§impl<T: Unit<Scalar = f64>> AddAssign<f64> for Vector4<T>
impl<T: Unit<Scalar = f64>> AddAssign<f64> for Vector4<T>
Source§fn add_assign(&mut self, rhs: f64)
fn add_assign(&mut self, rhs: f64)
+= operation. Read moreSource§impl<T: Unit<Scalar = i16>> AddAssign<i16> for Vector4<T>
impl<T: Unit<Scalar = i16>> AddAssign<i16> for Vector4<T>
Source§fn add_assign(&mut self, rhs: i16)
fn add_assign(&mut self, rhs: i16)
+= operation. Read moreSource§impl<T: Unit<Scalar = i32>> AddAssign<i32> for Vector4<T>
impl<T: Unit<Scalar = i32>> AddAssign<i32> for Vector4<T>
Source§fn add_assign(&mut self, rhs: i32)
fn add_assign(&mut self, rhs: i32)
+= operation. Read moreSource§impl<T: Unit<Scalar = i64>> AddAssign<i64> for Vector4<T>
impl<T: Unit<Scalar = i64>> AddAssign<i64> for Vector4<T>
Source§fn add_assign(&mut self, rhs: i64)
fn add_assign(&mut self, rhs: i64)
+= operation. Read moreSource§impl<T: Unit<Scalar = u16>> AddAssign<u16> for Vector4<T>
impl<T: Unit<Scalar = u16>> AddAssign<u16> for Vector4<T>
Source§fn add_assign(&mut self, rhs: u16)
fn add_assign(&mut self, rhs: u16)
+= operation. Read moreSource§impl<T: Unit<Scalar = u32>> AddAssign<u32> for Vector4<T>
impl<T: Unit<Scalar = u32>> AddAssign<u32> for Vector4<T>
Source§fn add_assign(&mut self, rhs: u32)
fn add_assign(&mut self, rhs: u32)
+= operation. Read moreSource§impl<T: Unit<Scalar = u64>> AddAssign<u64> for Vector4<T>
impl<T: Unit<Scalar = u64>> AddAssign<u64> for Vector4<T>
Source§fn add_assign(&mut self, rhs: u64)
fn add_assign(&mut self, rhs: u64)
+= operation. Read moreSource§impl<T: Unit> AddAssign for Vector4<T>
impl<T: Unit> AddAssign for Vector4<T>
Source§fn add_assign(&mut self, rhs: Vector4<T>)
fn add_assign(&mut self, rhs: Vector4<T>)
+= operation. Read moreSource§impl<T: Unit> DivAssign<&Vector4<T>> for Vector4<T>
impl<T: Unit> DivAssign<&Vector4<T>> for Vector4<T>
Source§fn div_assign(&mut self, rhs: &Vector4<T>)
fn div_assign(&mut self, rhs: &Vector4<T>)
/= operation. Read moreSource§impl<T: Unit<Scalar = f32>> DivAssign<&f32> for Vector4<T>
impl<T: Unit<Scalar = f32>> DivAssign<&f32> for Vector4<T>
Source§fn div_assign(&mut self, rhs: &f32)
fn div_assign(&mut self, rhs: &f32)
/= operation. Read moreSource§impl<T: Unit<Scalar = f64>> DivAssign<&f64> for Vector4<T>
impl<T: Unit<Scalar = f64>> DivAssign<&f64> for Vector4<T>
Source§fn div_assign(&mut self, rhs: &f64)
fn div_assign(&mut self, rhs: &f64)
/= operation. Read moreSource§impl<T: Unit<Scalar = i16>> DivAssign<&i16> for Vector4<T>
impl<T: Unit<Scalar = i16>> DivAssign<&i16> for Vector4<T>
Source§fn div_assign(&mut self, rhs: &i16)
fn div_assign(&mut self, rhs: &i16)
/= operation. Read moreSource§impl<T: Unit<Scalar = i32>> DivAssign<&i32> for Vector4<T>
impl<T: Unit<Scalar = i32>> DivAssign<&i32> for Vector4<T>
Source§fn div_assign(&mut self, rhs: &i32)
fn div_assign(&mut self, rhs: &i32)
/= operation. Read moreSource§impl<T: Unit<Scalar = i64>> DivAssign<&i64> for Vector4<T>
impl<T: Unit<Scalar = i64>> DivAssign<&i64> for Vector4<T>
Source§fn div_assign(&mut self, rhs: &i64)
fn div_assign(&mut self, rhs: &i64)
/= operation. Read moreSource§impl<T: Unit<Scalar = u16>> DivAssign<&u16> for Vector4<T>
impl<T: Unit<Scalar = u16>> DivAssign<&u16> for Vector4<T>
Source§fn div_assign(&mut self, rhs: &u16)
fn div_assign(&mut self, rhs: &u16)
/= operation. Read moreSource§impl<T: Unit<Scalar = u32>> DivAssign<&u32> for Vector4<T>
impl<T: Unit<Scalar = u32>> DivAssign<&u32> for Vector4<T>
Source§fn div_assign(&mut self, rhs: &u32)
fn div_assign(&mut self, rhs: &u32)
/= operation. Read moreSource§impl<T: Unit<Scalar = u64>> DivAssign<&u64> for Vector4<T>
impl<T: Unit<Scalar = u64>> DivAssign<&u64> for Vector4<T>
Source§fn div_assign(&mut self, rhs: &u64)
fn div_assign(&mut self, rhs: &u64)
/= operation. Read moreSource§impl<T: Unit<Scalar = f32>> DivAssign<f32> for Vector4<T>
impl<T: Unit<Scalar = f32>> DivAssign<f32> for Vector4<T>
Source§fn div_assign(&mut self, rhs: f32)
fn div_assign(&mut self, rhs: f32)
/= operation. Read moreSource§impl<T: Unit<Scalar = f64>> DivAssign<f64> for Vector4<T>
impl<T: Unit<Scalar = f64>> DivAssign<f64> for Vector4<T>
Source§fn div_assign(&mut self, rhs: f64)
fn div_assign(&mut self, rhs: f64)
/= operation. Read moreSource§impl<T: Unit<Scalar = i16>> DivAssign<i16> for Vector4<T>
impl<T: Unit<Scalar = i16>> DivAssign<i16> for Vector4<T>
Source§fn div_assign(&mut self, rhs: i16)
fn div_assign(&mut self, rhs: i16)
/= operation. Read moreSource§impl<T: Unit<Scalar = i32>> DivAssign<i32> for Vector4<T>
impl<T: Unit<Scalar = i32>> DivAssign<i32> for Vector4<T>
Source§fn div_assign(&mut self, rhs: i32)
fn div_assign(&mut self, rhs: i32)
/= operation. Read moreSource§impl<T: Unit<Scalar = i64>> DivAssign<i64> for Vector4<T>
impl<T: Unit<Scalar = i64>> DivAssign<i64> for Vector4<T>
Source§fn div_assign(&mut self, rhs: i64)
fn div_assign(&mut self, rhs: i64)
/= operation. Read moreSource§impl<T: Unit<Scalar = u16>> DivAssign<u16> for Vector4<T>
impl<T: Unit<Scalar = u16>> DivAssign<u16> for Vector4<T>
Source§fn div_assign(&mut self, rhs: u16)
fn div_assign(&mut self, rhs: u16)
/= operation. Read moreSource§impl<T: Unit<Scalar = u32>> DivAssign<u32> for Vector4<T>
impl<T: Unit<Scalar = u32>> DivAssign<u32> for Vector4<T>
Source§fn div_assign(&mut self, rhs: u32)
fn div_assign(&mut self, rhs: u32)
/= operation. Read moreSource§impl<T: Unit<Scalar = u64>> DivAssign<u64> for Vector4<T>
impl<T: Unit<Scalar = u64>> DivAssign<u64> for Vector4<T>
Source§fn div_assign(&mut self, rhs: u64)
fn div_assign(&mut self, rhs: u64)
/= operation. Read moreSource§impl<T: Unit> DivAssign for Vector4<T>
impl<T: Unit> DivAssign for Vector4<T>
Source§fn div_assign(&mut self, rhs: Vector4<T>)
fn div_assign(&mut self, rhs: Vector4<T>)
/= operation. Read moreSource§impl<T: Unit> From<(<T as Unit>::Scalar, <T as Unit>::Scalar, <T as Unit>::Scalar, <T as Unit>::Scalar)> for Vector4<T>
impl<T: Unit> From<(<T as Unit>::Scalar, <T as Unit>::Scalar, <T as Unit>::Scalar, <T as Unit>::Scalar)> for Vector4<T>
Source§impl<T: Unit> IntoIterator for Vector4<T>
impl<T: Unit> IntoIterator for Vector4<T>
Source§impl<T: Unit> MulAssign<&Vector4<T>> for Vector4<T>
impl<T: Unit> MulAssign<&Vector4<T>> for Vector4<T>
Source§fn mul_assign(&mut self, rhs: &Vector4<T>)
fn mul_assign(&mut self, rhs: &Vector4<T>)
*= operation. Read moreSource§impl<T: Unit<Scalar = f32>> MulAssign<&f32> for Vector4<T>
impl<T: Unit<Scalar = f32>> MulAssign<&f32> for Vector4<T>
Source§fn mul_assign(&mut self, rhs: &f32)
fn mul_assign(&mut self, rhs: &f32)
*= operation. Read moreSource§impl<T: Unit<Scalar = f64>> MulAssign<&f64> for Vector4<T>
impl<T: Unit<Scalar = f64>> MulAssign<&f64> for Vector4<T>
Source§fn mul_assign(&mut self, rhs: &f64)
fn mul_assign(&mut self, rhs: &f64)
*= operation. Read moreSource§impl<T: Unit<Scalar = i16>> MulAssign<&i16> for Vector4<T>
impl<T: Unit<Scalar = i16>> MulAssign<&i16> for Vector4<T>
Source§fn mul_assign(&mut self, rhs: &i16)
fn mul_assign(&mut self, rhs: &i16)
*= operation. Read moreSource§impl<T: Unit<Scalar = i32>> MulAssign<&i32> for Vector4<T>
impl<T: Unit<Scalar = i32>> MulAssign<&i32> for Vector4<T>
Source§fn mul_assign(&mut self, rhs: &i32)
fn mul_assign(&mut self, rhs: &i32)
*= operation. Read moreSource§impl<T: Unit<Scalar = i64>> MulAssign<&i64> for Vector4<T>
impl<T: Unit<Scalar = i64>> MulAssign<&i64> for Vector4<T>
Source§fn mul_assign(&mut self, rhs: &i64)
fn mul_assign(&mut self, rhs: &i64)
*= operation. Read moreSource§impl<T: Unit<Scalar = u16>> MulAssign<&u16> for Vector4<T>
impl<T: Unit<Scalar = u16>> MulAssign<&u16> for Vector4<T>
Source§fn mul_assign(&mut self, rhs: &u16)
fn mul_assign(&mut self, rhs: &u16)
*= operation. Read moreSource§impl<T: Unit<Scalar = u32>> MulAssign<&u32> for Vector4<T>
impl<T: Unit<Scalar = u32>> MulAssign<&u32> for Vector4<T>
Source§fn mul_assign(&mut self, rhs: &u32)
fn mul_assign(&mut self, rhs: &u32)
*= operation. Read moreSource§impl<T: Unit<Scalar = u64>> MulAssign<&u64> for Vector4<T>
impl<T: Unit<Scalar = u64>> MulAssign<&u64> for Vector4<T>
Source§fn mul_assign(&mut self, rhs: &u64)
fn mul_assign(&mut self, rhs: &u64)
*= operation. Read moreSource§impl<T: Unit<Scalar = f32>> MulAssign<f32> for Vector4<T>
impl<T: Unit<Scalar = f32>> MulAssign<f32> for Vector4<T>
Source§fn mul_assign(&mut self, rhs: f32)
fn mul_assign(&mut self, rhs: f32)
*= operation. Read moreSource§impl<T: Unit<Scalar = f64>> MulAssign<f64> for Vector4<T>
impl<T: Unit<Scalar = f64>> MulAssign<f64> for Vector4<T>
Source§fn mul_assign(&mut self, rhs: f64)
fn mul_assign(&mut self, rhs: f64)
*= operation. Read moreSource§impl<T: Unit<Scalar = i16>> MulAssign<i16> for Vector4<T>
impl<T: Unit<Scalar = i16>> MulAssign<i16> for Vector4<T>
Source§fn mul_assign(&mut self, rhs: i16)
fn mul_assign(&mut self, rhs: i16)
*= operation. Read moreSource§impl<T: Unit<Scalar = i32>> MulAssign<i32> for Vector4<T>
impl<T: Unit<Scalar = i32>> MulAssign<i32> for Vector4<T>
Source§fn mul_assign(&mut self, rhs: i32)
fn mul_assign(&mut self, rhs: i32)
*= operation. Read moreSource§impl<T: Unit<Scalar = i64>> MulAssign<i64> for Vector4<T>
impl<T: Unit<Scalar = i64>> MulAssign<i64> for Vector4<T>
Source§fn mul_assign(&mut self, rhs: i64)
fn mul_assign(&mut self, rhs: i64)
*= operation. Read moreSource§impl<T: Unit<Scalar = u16>> MulAssign<u16> for Vector4<T>
impl<T: Unit<Scalar = u16>> MulAssign<u16> for Vector4<T>
Source§fn mul_assign(&mut self, rhs: u16)
fn mul_assign(&mut self, rhs: u16)
*= operation. Read moreSource§impl<T: Unit<Scalar = u32>> MulAssign<u32> for Vector4<T>
impl<T: Unit<Scalar = u32>> MulAssign<u32> for Vector4<T>
Source§fn mul_assign(&mut self, rhs: u32)
fn mul_assign(&mut self, rhs: u32)
*= operation. Read moreSource§impl<T: Unit<Scalar = u64>> MulAssign<u64> for Vector4<T>
impl<T: Unit<Scalar = u64>> MulAssign<u64> for Vector4<T>
Source§fn mul_assign(&mut self, rhs: u64)
fn mul_assign(&mut self, rhs: u64)
*= operation. Read moreSource§impl<T: Unit> MulAssign for Vector4<T>
impl<T: Unit> MulAssign for Vector4<T>
Source§fn mul_assign(&mut self, rhs: Vector4<T>)
fn mul_assign(&mut self, rhs: Vector4<T>)
*= operation. Read moreSource§impl<T: SignedUnit> Neg for Vector4<T>
impl<T: SignedUnit> Neg for Vector4<T>
Source§impl<T: FloatUnit> RelativeEq for Vector4<T>
impl<T: FloatUnit> RelativeEq for Vector4<T>
Source§fn default_max_relative() -> Self::Epsilon
fn default_max_relative() -> Self::Epsilon
Source§fn relative_eq(
&self,
other: &Self,
epsilon: Self::Epsilon,
max_relative: Self::Epsilon,
) -> bool
fn relative_eq( &self, other: &Self, epsilon: Self::Epsilon, max_relative: Self::Epsilon, ) -> bool
Source§fn relative_ne(
&self,
other: &Self,
epsilon: Self::Epsilon,
max_relative: Self::Epsilon,
) -> bool
fn relative_ne( &self, other: &Self, epsilon: Self::Epsilon, max_relative: Self::Epsilon, ) -> bool
RelativeEq::relative_eq.Source§impl<T: Unit> RemAssign<&Vector4<T>> for Point4<T>
impl<T: Unit> RemAssign<&Vector4<T>> for Point4<T>
Source§fn rem_assign(&mut self, rhs: &Vector4<T>)
fn rem_assign(&mut self, rhs: &Vector4<T>)
%= operation. Read moreSource§impl<T: Unit> RemAssign<&Vector4<T>> for Vector4<T>
impl<T: Unit> RemAssign<&Vector4<T>> for Vector4<T>
Source§fn rem_assign(&mut self, rhs: &Vector4<T>)
fn rem_assign(&mut self, rhs: &Vector4<T>)
%= operation. Read moreSource§impl<T: Unit<Scalar = f32>> RemAssign<&f32> for Vector4<T>
impl<T: Unit<Scalar = f32>> RemAssign<&f32> for Vector4<T>
Source§fn rem_assign(&mut self, rhs: &f32)
fn rem_assign(&mut self, rhs: &f32)
%= operation. Read moreSource§impl<T: Unit<Scalar = f64>> RemAssign<&f64> for Vector4<T>
impl<T: Unit<Scalar = f64>> RemAssign<&f64> for Vector4<T>
Source§fn rem_assign(&mut self, rhs: &f64)
fn rem_assign(&mut self, rhs: &f64)
%= operation. Read moreSource§impl<T: Unit<Scalar = i16>> RemAssign<&i16> for Vector4<T>
impl<T: Unit<Scalar = i16>> RemAssign<&i16> for Vector4<T>
Source§fn rem_assign(&mut self, rhs: &i16)
fn rem_assign(&mut self, rhs: &i16)
%= operation. Read moreSource§impl<T: Unit<Scalar = i32>> RemAssign<&i32> for Vector4<T>
impl<T: Unit<Scalar = i32>> RemAssign<&i32> for Vector4<T>
Source§fn rem_assign(&mut self, rhs: &i32)
fn rem_assign(&mut self, rhs: &i32)
%= operation. Read moreSource§impl<T: Unit<Scalar = i64>> RemAssign<&i64> for Vector4<T>
impl<T: Unit<Scalar = i64>> RemAssign<&i64> for Vector4<T>
Source§fn rem_assign(&mut self, rhs: &i64)
fn rem_assign(&mut self, rhs: &i64)
%= operation. Read moreSource§impl<T: Unit<Scalar = u16>> RemAssign<&u16> for Vector4<T>
impl<T: Unit<Scalar = u16>> RemAssign<&u16> for Vector4<T>
Source§fn rem_assign(&mut self, rhs: &u16)
fn rem_assign(&mut self, rhs: &u16)
%= operation. Read moreSource§impl<T: Unit<Scalar = u32>> RemAssign<&u32> for Vector4<T>
impl<T: Unit<Scalar = u32>> RemAssign<&u32> for Vector4<T>
Source§fn rem_assign(&mut self, rhs: &u32)
fn rem_assign(&mut self, rhs: &u32)
%= operation. Read moreSource§impl<T: Unit<Scalar = u64>> RemAssign<&u64> for Vector4<T>
impl<T: Unit<Scalar = u64>> RemAssign<&u64> for Vector4<T>
Source§fn rem_assign(&mut self, rhs: &u64)
fn rem_assign(&mut self, rhs: &u64)
%= operation. Read moreSource§impl<T: Unit> RemAssign<Vector4<T>> for Point4<T>
impl<T: Unit> RemAssign<Vector4<T>> for Point4<T>
Source§fn rem_assign(&mut self, rhs: Vector4<T>)
fn rem_assign(&mut self, rhs: Vector4<T>)
%= operation. Read moreSource§impl<T: Unit<Scalar = f32>> RemAssign<f32> for Vector4<T>
impl<T: Unit<Scalar = f32>> RemAssign<f32> for Vector4<T>
Source§fn rem_assign(&mut self, rhs: f32)
fn rem_assign(&mut self, rhs: f32)
%= operation. Read moreSource§impl<T: Unit<Scalar = f64>> RemAssign<f64> for Vector4<T>
impl<T: Unit<Scalar = f64>> RemAssign<f64> for Vector4<T>
Source§fn rem_assign(&mut self, rhs: f64)
fn rem_assign(&mut self, rhs: f64)
%= operation. Read moreSource§impl<T: Unit<Scalar = i16>> RemAssign<i16> for Vector4<T>
impl<T: Unit<Scalar = i16>> RemAssign<i16> for Vector4<T>
Source§fn rem_assign(&mut self, rhs: i16)
fn rem_assign(&mut self, rhs: i16)
%= operation. Read moreSource§impl<T: Unit<Scalar = i32>> RemAssign<i32> for Vector4<T>
impl<T: Unit<Scalar = i32>> RemAssign<i32> for Vector4<T>
Source§fn rem_assign(&mut self, rhs: i32)
fn rem_assign(&mut self, rhs: i32)
%= operation. Read moreSource§impl<T: Unit<Scalar = i64>> RemAssign<i64> for Vector4<T>
impl<T: Unit<Scalar = i64>> RemAssign<i64> for Vector4<T>
Source§fn rem_assign(&mut self, rhs: i64)
fn rem_assign(&mut self, rhs: i64)
%= operation. Read moreSource§impl<T: Unit<Scalar = u16>> RemAssign<u16> for Vector4<T>
impl<T: Unit<Scalar = u16>> RemAssign<u16> for Vector4<T>
Source§fn rem_assign(&mut self, rhs: u16)
fn rem_assign(&mut self, rhs: u16)
%= operation. Read moreSource§impl<T: Unit<Scalar = u32>> RemAssign<u32> for Vector4<T>
impl<T: Unit<Scalar = u32>> RemAssign<u32> for Vector4<T>
Source§fn rem_assign(&mut self, rhs: u32)
fn rem_assign(&mut self, rhs: u32)
%= operation. Read moreSource§impl<T: Unit<Scalar = u64>> RemAssign<u64> for Vector4<T>
impl<T: Unit<Scalar = u64>> RemAssign<u64> for Vector4<T>
Source§fn rem_assign(&mut self, rhs: u64)
fn rem_assign(&mut self, rhs: u64)
%= operation. Read moreSource§impl<T: Unit> RemAssign for Vector4<T>
impl<T: Unit> RemAssign for Vector4<T>
Source§fn rem_assign(&mut self, rhs: Vector4<T>)
fn rem_assign(&mut self, rhs: Vector4<T>)
%= operation. Read moreSource§impl<T: Unit> SubAssign<&Vector4<T>> for Point4<T>
impl<T: Unit> SubAssign<&Vector4<T>> for Point4<T>
Source§fn sub_assign(&mut self, rhs: &Vector4<T>)
fn sub_assign(&mut self, rhs: &Vector4<T>)
-= operation. Read moreSource§impl<T: Unit> SubAssign<&Vector4<T>> for Vector4<T>
impl<T: Unit> SubAssign<&Vector4<T>> for Vector4<T>
Source§fn sub_assign(&mut self, rhs: &Vector4<T>)
fn sub_assign(&mut self, rhs: &Vector4<T>)
-= operation. Read moreSource§impl<T: Unit<Scalar = f32>> SubAssign<&f32> for Vector4<T>
impl<T: Unit<Scalar = f32>> SubAssign<&f32> for Vector4<T>
Source§fn sub_assign(&mut self, rhs: &f32)
fn sub_assign(&mut self, rhs: &f32)
-= operation. Read moreSource§impl<T: Unit<Scalar = f64>> SubAssign<&f64> for Vector4<T>
impl<T: Unit<Scalar = f64>> SubAssign<&f64> for Vector4<T>
Source§fn sub_assign(&mut self, rhs: &f64)
fn sub_assign(&mut self, rhs: &f64)
-= operation. Read moreSource§impl<T: Unit<Scalar = i16>> SubAssign<&i16> for Vector4<T>
impl<T: Unit<Scalar = i16>> SubAssign<&i16> for Vector4<T>
Source§fn sub_assign(&mut self, rhs: &i16)
fn sub_assign(&mut self, rhs: &i16)
-= operation. Read moreSource§impl<T: Unit<Scalar = i32>> SubAssign<&i32> for Vector4<T>
impl<T: Unit<Scalar = i32>> SubAssign<&i32> for Vector4<T>
Source§fn sub_assign(&mut self, rhs: &i32)
fn sub_assign(&mut self, rhs: &i32)
-= operation. Read moreSource§impl<T: Unit<Scalar = i64>> SubAssign<&i64> for Vector4<T>
impl<T: Unit<Scalar = i64>> SubAssign<&i64> for Vector4<T>
Source§fn sub_assign(&mut self, rhs: &i64)
fn sub_assign(&mut self, rhs: &i64)
-= operation. Read moreSource§impl<T: Unit<Scalar = u16>> SubAssign<&u16> for Vector4<T>
impl<T: Unit<Scalar = u16>> SubAssign<&u16> for Vector4<T>
Source§fn sub_assign(&mut self, rhs: &u16)
fn sub_assign(&mut self, rhs: &u16)
-= operation. Read moreSource§impl<T: Unit<Scalar = u32>> SubAssign<&u32> for Vector4<T>
impl<T: Unit<Scalar = u32>> SubAssign<&u32> for Vector4<T>
Source§fn sub_assign(&mut self, rhs: &u32)
fn sub_assign(&mut self, rhs: &u32)
-= operation. Read moreSource§impl<T: Unit<Scalar = u64>> SubAssign<&u64> for Vector4<T>
impl<T: Unit<Scalar = u64>> SubAssign<&u64> for Vector4<T>
Source§fn sub_assign(&mut self, rhs: &u64)
fn sub_assign(&mut self, rhs: &u64)
-= operation. Read moreSource§impl<T: Unit> SubAssign<Vector4<T>> for Point4<T>
impl<T: Unit> SubAssign<Vector4<T>> for Point4<T>
Source§fn sub_assign(&mut self, rhs: Vector4<T>)
fn sub_assign(&mut self, rhs: Vector4<T>)
-= operation. Read moreSource§impl<T: Unit<Scalar = f32>> SubAssign<f32> for Vector4<T>
impl<T: Unit<Scalar = f32>> SubAssign<f32> for Vector4<T>
Source§fn sub_assign(&mut self, rhs: f32)
fn sub_assign(&mut self, rhs: f32)
-= operation. Read moreSource§impl<T: Unit<Scalar = f64>> SubAssign<f64> for Vector4<T>
impl<T: Unit<Scalar = f64>> SubAssign<f64> for Vector4<T>
Source§fn sub_assign(&mut self, rhs: f64)
fn sub_assign(&mut self, rhs: f64)
-= operation. Read moreSource§impl<T: Unit<Scalar = i16>> SubAssign<i16> for Vector4<T>
impl<T: Unit<Scalar = i16>> SubAssign<i16> for Vector4<T>
Source§fn sub_assign(&mut self, rhs: i16)
fn sub_assign(&mut self, rhs: i16)
-= operation. Read moreSource§impl<T: Unit<Scalar = i32>> SubAssign<i32> for Vector4<T>
impl<T: Unit<Scalar = i32>> SubAssign<i32> for Vector4<T>
Source§fn sub_assign(&mut self, rhs: i32)
fn sub_assign(&mut self, rhs: i32)
-= operation. Read moreSource§impl<T: Unit<Scalar = i64>> SubAssign<i64> for Vector4<T>
impl<T: Unit<Scalar = i64>> SubAssign<i64> for Vector4<T>
Source§fn sub_assign(&mut self, rhs: i64)
fn sub_assign(&mut self, rhs: i64)
-= operation. Read moreSource§impl<T: Unit<Scalar = u16>> SubAssign<u16> for Vector4<T>
impl<T: Unit<Scalar = u16>> SubAssign<u16> for Vector4<T>
Source§fn sub_assign(&mut self, rhs: u16)
fn sub_assign(&mut self, rhs: u16)
-= operation. Read moreSource§impl<T: Unit<Scalar = u32>> SubAssign<u32> for Vector4<T>
impl<T: Unit<Scalar = u32>> SubAssign<u32> for Vector4<T>
Source§fn sub_assign(&mut self, rhs: u32)
fn sub_assign(&mut self, rhs: u32)
-= operation. Read moreSource§impl<T: Unit<Scalar = u64>> SubAssign<u64> for Vector4<T>
impl<T: Unit<Scalar = u64>> SubAssign<u64> for Vector4<T>
Source§fn sub_assign(&mut self, rhs: u64)
fn sub_assign(&mut self, rhs: u64)
-= operation. Read moreSource§impl<T: Unit> SubAssign for Vector4<T>
impl<T: Unit> SubAssign for Vector4<T>
Source§fn sub_assign(&mut self, rhs: Vector4<T>)
fn sub_assign(&mut self, rhs: Vector4<T>)
-= operation. Read moreSource§impl<T: Unit> Swizzle<T> for Vector4<T>
impl<T: Unit> Swizzle<T> for Vector4<T>
Source§fn swizzle2<const X: usize, const Y: usize>(&self) -> Vector2<T>
fn swizzle2<const X: usize, const Y: usize>(&self) -> Vector2<T>
Source§impl<T: Unit> Transparent for Vector4<T>
SAFETY: These are guaranteed to have the same representation.
impl<T: Unit> Transparent for Vector4<T>
SAFETY: These are guaranteed to have the same representation.
Source§impl<T: FloatUnit> UlpsEq for Vector4<T>
impl<T: FloatUnit> UlpsEq for Vector4<T>
Source§impl<T: Unit> Vec4Swizzles for Vector4<T>
impl<T: Unit> Vec4Swizzles for Vector4<T>
type Vec2 = Vector2<T>
type Vec3 = Vector3<T>
fn xx(self) -> Vector2<T>
fn xy(self) -> Vector2<T>
fn yy(self) -> Vector2<T>
fn yx(self) -> Vector2<T>
fn xxx(self) -> Vector3<T>
fn xxy(self) -> Vector3<T>
fn xyx(self) -> Vector3<T>
fn xyy(self) -> Vector3<T>
fn yxx(self) -> Vector3<T>
fn yxy(self) -> Vector3<T>
fn yyx(self) -> Vector3<T>
fn yyy(self) -> Vector3<T>
fn xxxx(self) -> Vector4<T>
fn xxxy(self) -> Vector4<T>
fn xxyx(self) -> Vector4<T>
fn xxyy(self) -> Vector4<T>
fn xyxx(self) -> Vector4<T>
fn xyxy(self) -> Vector4<T>
fn xyyx(self) -> Vector4<T>
fn xyyy(self) -> Vector4<T>
fn yxxx(self) -> Vector4<T>
fn yxxy(self) -> Vector4<T>
fn yxyx(self) -> Vector4<T>
fn yxyy(self) -> Vector4<T>
fn yyxx(self) -> Vector4<T>
fn yyxy(self) -> Vector4<T>
fn yyyx(self) -> Vector4<T>
fn yyyy(self) -> Vector4<T>
fn with_xy(self, rhs: Vector2<T>) -> Self
fn with_xz(self, rhs: Vector2<T>) -> Self
fn with_yx(self, rhs: Vector2<T>) -> Self
fn with_yz(self, rhs: Vector2<T>) -> Self
fn with_zx(self, rhs: Vector2<T>) -> Self
fn with_zy(self, rhs: Vector2<T>) -> Self
fn xz(self) -> Vector2<T>
fn yz(self) -> Vector2<T>
fn zx(self) -> Vector2<T>
fn zy(self) -> Vector2<T>
fn zz(self) -> Vector2<T>
fn xxz(self) -> Vector3<T>
fn xyz(self) -> Vector3<T>
fn xzx(self) -> Vector3<T>
fn xzy(self) -> Vector3<T>
fn xzz(self) -> Vector3<T>
fn yxz(self) -> Vector3<T>
fn yyz(self) -> Vector3<T>
fn yzx(self) -> Vector3<T>
fn yzy(self) -> Vector3<T>
fn yzz(self) -> Vector3<T>
fn zxx(self) -> Vector3<T>
fn zxy(self) -> Vector3<T>
fn zxz(self) -> Vector3<T>
fn zyx(self) -> Vector3<T>
fn zyy(self) -> Vector3<T>
fn zyz(self) -> Vector3<T>
fn zzx(self) -> Vector3<T>
fn zzy(self) -> Vector3<T>
fn zzz(self) -> Vector3<T>
fn xxxz(self) -> Vector4<T>
fn xxyz(self) -> Vector4<T>
fn xxzx(self) -> Vector4<T>
fn xxzy(self) -> Vector4<T>
fn xxzz(self) -> Vector4<T>
fn xyxz(self) -> Vector4<T>
fn xyyz(self) -> Vector4<T>
fn xyzx(self) -> Vector4<T>
fn xyzy(self) -> Vector4<T>
fn xyzz(self) -> Vector4<T>
fn xzxx(self) -> Vector4<T>
fn xzxy(self) -> Vector4<T>
fn xzxz(self) -> Vector4<T>
fn xzyx(self) -> Vector4<T>
fn xzyy(self) -> Vector4<T>
fn xzyz(self) -> Vector4<T>
fn xzzx(self) -> Vector4<T>
fn xzzy(self) -> Vector4<T>
fn xzzz(self) -> Vector4<T>
fn yxxz(self) -> Vector4<T>
fn yxyz(self) -> Vector4<T>
fn yxzx(self) -> Vector4<T>
fn yxzy(self) -> Vector4<T>
fn yxzz(self) -> Vector4<T>
fn yyxz(self) -> Vector4<T>
fn yyyz(self) -> Vector4<T>
fn yyzx(self) -> Vector4<T>
fn yyzy(self) -> Vector4<T>
fn yyzz(self) -> Vector4<T>
fn yzxx(self) -> Vector4<T>
fn yzxy(self) -> Vector4<T>
fn yzxz(self) -> Vector4<T>
fn yzyx(self) -> Vector4<T>
fn yzyy(self) -> Vector4<T>
fn yzyz(self) -> Vector4<T>
fn yzzx(self) -> Vector4<T>
fn yzzy(self) -> Vector4<T>
fn yzzz(self) -> Vector4<T>
fn zxxx(self) -> Vector4<T>
fn zxxy(self) -> Vector4<T>
fn zxxz(self) -> Vector4<T>
fn zxyx(self) -> Vector4<T>
fn zxyy(self) -> Vector4<T>
fn zxyz(self) -> Vector4<T>
fn zxzx(self) -> Vector4<T>
fn zxzy(self) -> Vector4<T>
fn zxzz(self) -> Vector4<T>
fn zyxx(self) -> Vector4<T>
fn zyxy(self) -> Vector4<T>
fn zyxz(self) -> Vector4<T>
fn zyyx(self) -> Vector4<T>
fn zyyy(self) -> Vector4<T>
fn zyyz(self) -> Vector4<T>
fn zyzx(self) -> Vector4<T>
fn zyzy(self) -> Vector4<T>
fn zyzz(self) -> Vector4<T>
fn zzxx(self) -> Vector4<T>
fn zzxy(self) -> Vector4<T>
fn zzxz(self) -> Vector4<T>
fn zzyx(self) -> Vector4<T>
fn zzyy(self) -> Vector4<T>
fn zzyz(self) -> Vector4<T>
fn zzzx(self) -> Vector4<T>
fn zzzy(self) -> Vector4<T>
fn zzzz(self) -> Vector4<T>
fn with_wx(self, rhs: Vector2<T>) -> Self
fn with_wy(self, rhs: Vector2<T>) -> Self
fn with_wz(self, rhs: Vector2<T>) -> Self
fn with_xw(self, rhs: Vector2<T>) -> Self
fn with_yw(self, rhs: Vector2<T>) -> Self
fn with_zw(self, rhs: Vector2<T>) -> Self
fn with_wxy(self, rhs: Vector3<T>) -> Self
fn with_wxz(self, rhs: Vector3<T>) -> Self
fn with_wyx(self, rhs: Vector3<T>) -> Self
fn with_wyz(self, rhs: Vector3<T>) -> Self
fn with_wzx(self, rhs: Vector3<T>) -> Self
fn with_wzy(self, rhs: Vector3<T>) -> Self
fn with_xwy(self, rhs: Vector3<T>) -> Self
fn with_xwz(self, rhs: Vector3<T>) -> Self
fn with_xyw(self, rhs: Vector3<T>) -> Self
fn with_xyz(self, rhs: Vector3<T>) -> Self
fn with_xzw(self, rhs: Vector3<T>) -> Self
fn with_xzy(self, rhs: Vector3<T>) -> Self
fn with_ywx(self, rhs: Vector3<T>) -> Self
fn with_yxw(self, rhs: Vector3<T>) -> Self
fn with_yzx(self, rhs: Vector3<T>) -> Self
fn with_yzw(self, rhs: Vector3<T>) -> Self
fn with_yxz(self, rhs: Vector3<T>) -> Self
fn with_ywz(self, rhs: Vector3<T>) -> Self
fn with_zwx(self, rhs: Vector3<T>) -> Self
fn with_zxw(self, rhs: Vector3<T>) -> Self
fn with_zxy(self, rhs: Vector3<T>) -> Self
fn with_zyx(self, rhs: Vector3<T>) -> Self
fn with_zwy(self, rhs: Vector3<T>) -> Self
fn with_zyw(self, rhs: Vector3<T>) -> Self
fn xw(self) -> Vector2<T>
fn yw(self) -> Vector2<T>
fn zw(self) -> Vector2<T>
fn wx(self) -> Vector2<T>
fn wy(self) -> Vector2<T>
fn wz(self) -> Vector2<T>
fn ww(self) -> Vector2<T>
fn xxw(self) -> Vector3<T>
fn xyw(self) -> Vector3<T>
fn xzw(self) -> Vector3<T>
fn xwx(self) -> Vector3<T>
fn xwy(self) -> Vector3<T>
fn xwz(self) -> Vector3<T>
fn xww(self) -> Vector3<T>
fn yxw(self) -> Vector3<T>
fn yyw(self) -> Vector3<T>
fn yzw(self) -> Vector3<T>
fn ywx(self) -> Vector3<T>
fn ywy(self) -> Vector3<T>
fn ywz(self) -> Vector3<T>
fn yww(self) -> Vector3<T>
fn zxw(self) -> Vector3<T>
fn zyw(self) -> Vector3<T>
fn zzw(self) -> Vector3<T>
fn zwx(self) -> Vector3<T>
fn zwy(self) -> Vector3<T>
fn zwz(self) -> Vector3<T>
fn zww(self) -> Vector3<T>
fn wxx(self) -> Vector3<T>
fn wxy(self) -> Vector3<T>
fn wxz(self) -> Vector3<T>
fn wxw(self) -> Vector3<T>
fn wyx(self) -> Vector3<T>
fn wyy(self) -> Vector3<T>
fn wyz(self) -> Vector3<T>
fn wyw(self) -> Vector3<T>
fn wzx(self) -> Vector3<T>
fn wzy(self) -> Vector3<T>
fn wzz(self) -> Vector3<T>
fn wzw(self) -> Vector3<T>
fn wwx(self) -> Vector3<T>
fn wwy(self) -> Vector3<T>
fn wwz(self) -> Vector3<T>
fn www(self) -> Vector3<T>
fn xxxw(self) -> Vector4<T>
fn xxyw(self) -> Vector4<T>
fn xxzw(self) -> Vector4<T>
fn xxwx(self) -> Vector4<T>
fn xxwy(self) -> Vector4<T>
fn xxwz(self) -> Vector4<T>
fn xxww(self) -> Vector4<T>
fn xyxw(self) -> Vector4<T>
fn xyyw(self) -> Vector4<T>
fn xyzw(self) -> Vector4<T>
fn xywx(self) -> Vector4<T>
fn xywy(self) -> Vector4<T>
fn xywz(self) -> Vector4<T>
fn xyww(self) -> Vector4<T>
fn xzxw(self) -> Vector4<T>
fn xzyw(self) -> Vector4<T>
fn xzzw(self) -> Vector4<T>
fn xzwx(self) -> Vector4<T>
fn xzwy(self) -> Vector4<T>
fn xzwz(self) -> Vector4<T>
fn xzww(self) -> Vector4<T>
fn xwxx(self) -> Vector4<T>
fn xwxy(self) -> Vector4<T>
fn xwxz(self) -> Vector4<T>
fn xwxw(self) -> Vector4<T>
fn xwyx(self) -> Vector4<T>
fn xwyy(self) -> Vector4<T>
fn xwyz(self) -> Vector4<T>
fn xwyw(self) -> Vector4<T>
fn xwzx(self) -> Vector4<T>
fn xwzy(self) -> Vector4<T>
fn xwzz(self) -> Vector4<T>
fn xwzw(self) -> Vector4<T>
fn xwwx(self) -> Vector4<T>
fn xwwy(self) -> Vector4<T>
fn xwwz(self) -> Vector4<T>
fn xwww(self) -> Vector4<T>
fn yxxw(self) -> Vector4<T>
fn yxyw(self) -> Vector4<T>
fn yxzw(self) -> Vector4<T>
fn yxwx(self) -> Vector4<T>
fn yxwy(self) -> Vector4<T>
fn yxwz(self) -> Vector4<T>
fn yxww(self) -> Vector4<T>
fn yyxw(self) -> Vector4<T>
fn yyyw(self) -> Vector4<T>
fn yyzw(self) -> Vector4<T>
fn yywx(self) -> Vector4<T>
fn yywy(self) -> Vector4<T>
fn yywz(self) -> Vector4<T>
fn yyww(self) -> Vector4<T>
fn yzxw(self) -> Vector4<T>
fn yzyw(self) -> Vector4<T>
fn yzzw(self) -> Vector4<T>
fn yzwx(self) -> Vector4<T>
fn yzwy(self) -> Vector4<T>
fn yzwz(self) -> Vector4<T>
fn yzww(self) -> Vector4<T>
fn ywxx(self) -> Vector4<T>
fn ywxy(self) -> Vector4<T>
fn ywxz(self) -> Vector4<T>
fn ywxw(self) -> Vector4<T>
fn ywyx(self) -> Vector4<T>
fn ywyy(self) -> Vector4<T>
fn ywyz(self) -> Vector4<T>
fn ywyw(self) -> Vector4<T>
fn ywzx(self) -> Vector4<T>
fn ywzy(self) -> Vector4<T>
fn ywzz(self) -> Vector4<T>
fn ywzw(self) -> Vector4<T>
fn ywwx(self) -> Vector4<T>
fn ywwy(self) -> Vector4<T>
fn ywwz(self) -> Vector4<T>
fn ywww(self) -> Vector4<T>
fn zxxw(self) -> Vector4<T>
fn zxyw(self) -> Vector4<T>
fn zxzw(self) -> Vector4<T>
fn zxwx(self) -> Vector4<T>
fn zxwy(self) -> Vector4<T>
fn zxwz(self) -> Vector4<T>
fn zxww(self) -> Vector4<T>
fn zyxw(self) -> Vector4<T>
fn zyyw(self) -> Vector4<T>
fn zyzw(self) -> Vector4<T>
fn zywx(self) -> Vector4<T>
fn zywy(self) -> Vector4<T>
fn zywz(self) -> Vector4<T>
fn zyww(self) -> Vector4<T>
fn zzxw(self) -> Vector4<T>
fn zzyw(self) -> Vector4<T>
fn zzzw(self) -> Vector4<T>
fn zzwx(self) -> Vector4<T>
fn zzwy(self) -> Vector4<T>
fn zzwz(self) -> Vector4<T>
fn zzww(self) -> Vector4<T>
fn zwxx(self) -> Vector4<T>
fn zwxy(self) -> Vector4<T>
fn zwxz(self) -> Vector4<T>
fn zwxw(self) -> Vector4<T>
fn zwyx(self) -> Vector4<T>
fn zwyy(self) -> Vector4<T>
fn zwyz(self) -> Vector4<T>
fn zwyw(self) -> Vector4<T>
fn zwzx(self) -> Vector4<T>
fn zwzy(self) -> Vector4<T>
fn zwzz(self) -> Vector4<T>
fn zwzw(self) -> Vector4<T>
fn zwwx(self) -> Vector4<T>
fn zwwy(self) -> Vector4<T>
fn zwwz(self) -> Vector4<T>
fn zwww(self) -> Vector4<T>
fn wxxx(self) -> Vector4<T>
fn wxxy(self) -> Vector4<T>
fn wxxz(self) -> Vector4<T>
fn wxxw(self) -> Vector4<T>
fn wxyx(self) -> Vector4<T>
fn wxyy(self) -> Vector4<T>
fn wxyz(self) -> Vector4<T>
fn wxyw(self) -> Vector4<T>
fn wxzx(self) -> Vector4<T>
fn wxzy(self) -> Vector4<T>
fn wxzz(self) -> Vector4<T>
fn wxzw(self) -> Vector4<T>
fn wxwx(self) -> Vector4<T>
fn wxwy(self) -> Vector4<T>
fn wxwz(self) -> Vector4<T>
fn wxww(self) -> Vector4<T>
fn wyxx(self) -> Vector4<T>
fn wyxy(self) -> Vector4<T>
fn wyxz(self) -> Vector4<T>
fn wyxw(self) -> Vector4<T>
fn wyyx(self) -> Vector4<T>
fn wyyy(self) -> Vector4<T>
fn wyyz(self) -> Vector4<T>
fn wyyw(self) -> Vector4<T>
fn wyzx(self) -> Vector4<T>
fn wyzy(self) -> Vector4<T>
fn wyzz(self) -> Vector4<T>
fn wyzw(self) -> Vector4<T>
fn wywx(self) -> Vector4<T>
fn wywy(self) -> Vector4<T>
fn wywz(self) -> Vector4<T>
fn wyww(self) -> Vector4<T>
fn wzxx(self) -> Vector4<T>
fn wzxy(self) -> Vector4<T>
fn wzxz(self) -> Vector4<T>
fn wzxw(self) -> Vector4<T>
fn wzyx(self) -> Vector4<T>
fn wzyy(self) -> Vector4<T>
fn wzyz(self) -> Vector4<T>
fn wzyw(self) -> Vector4<T>
fn wzzx(self) -> Vector4<T>
fn wzzy(self) -> Vector4<T>
fn wzzz(self) -> Vector4<T>
fn wzzw(self) -> Vector4<T>
fn wzwx(self) -> Vector4<T>
fn wzwy(self) -> Vector4<T>
fn wzwz(self) -> Vector4<T>
fn wzww(self) -> Vector4<T>
fn wwxx(self) -> Vector4<T>
fn wwxy(self) -> Vector4<T>
fn wwxz(self) -> Vector4<T>
fn wwxw(self) -> Vector4<T>
fn wwyx(self) -> Vector4<T>
fn wwyy(self) -> Vector4<T>
fn wwyz(self) -> Vector4<T>
fn wwyw(self) -> Vector4<T>
fn wwzx(self) -> Vector4<T>
fn wwzy(self) -> Vector4<T>
fn wwzz(self) -> Vector4<T>
fn wwzw(self) -> Vector4<T>
fn wwwx(self) -> Vector4<T>
fn wwwy(self) -> Vector4<T>
fn wwwz(self) -> Vector4<T>
fn wwww(self) -> Vector4<T>
Source§impl<T: Unit> Zeroable for Vector4<T>
SAFETY: T::Scalar is Zeroable, and Vector4 is #[repr(C)].
impl<T: Unit> Zeroable for Vector4<T>
SAFETY: T::Scalar is Zeroable, and Vector4 is #[repr(C)].
impl<T: Unit> Copy for Vector4<T>
impl<T: Unit<Scalar: Eq>> Eq for Vector4<T>
impl<T: Unit> Pod for Vector4<T>
SAFETY: T::Scalar is Pod.
Auto Trait Implementations§
impl<U> Freeze for Vector4<U>
impl<U> RefUnwindSafe for Vector4<U>
impl<U> Send for Vector4<U>
impl<U> Sync for Vector4<U>
impl<U> Unpin for Vector4<U>
impl<U> UnwindSafe for Vector4<U>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
Source§type Bits = T
type Bits = T
Self must have the same layout as the specified Bits except for
the possible invalid bit patterns being checked during
is_valid_bit_pattern.Source§fn is_valid_bit_pattern(_bits: &T) -> bool
fn is_valid_bit_pattern(_bits: &T) -> bool
bits
as &Self.