#[repr(C)]pub struct IVec4 {
pub x: i32,
pub y: i32,
pub z: i32,
pub w: i32,
}
Expand description
A 4-dimensional vector.
Fields§
§x: i32
§y: i32
§z: i32
§w: i32
Implementations§
Source§impl IVec4
impl IVec4
Sourcepub fn map<F>(self, f: F) -> Self
pub fn map<F>(self, f: F) -> Self
Returns a vector containing each element of self
modified by a mapping function f
.
Sourcepub fn select(mask: BVec4, if_true: Self, if_false: Self) -> Self
pub fn select(mask: BVec4, if_true: Self, if_false: Self) -> Self
Creates a vector from the elements in if_true
and if_false
, selecting which to use
for each element of self
.
A true element in the mask uses the corresponding element from if_true
, and false
uses the element from if_false
.
Sourcepub const fn from_array(a: [i32; 4]) -> Self
pub const fn from_array(a: [i32; 4]) -> Self
Creates a new vector from an array.
Sourcepub const fn from_slice(slice: &[i32]) -> Self
pub const fn from_slice(slice: &[i32]) -> Self
Creates a vector from the first 4 values in slice
.
§Panics
Panics if slice
is less than 4 elements long.
Sourcepub fn write_to_slice(self, slice: &mut [i32])
pub fn write_to_slice(self, slice: &mut [i32])
Writes the elements of self
to the first 4 elements in slice
.
§Panics
Panics if slice
is less than 4 elements long.
Sourcepub fn truncate(self) -> IVec3
pub fn truncate(self) -> IVec3
Creates a 3D vector from the x
, y
and z
elements of self
, discarding w
.
Truncation to IVec3
may also be performed by using self.xyz()
.
Sourcepub fn dot_into_vec(self, rhs: Self) -> Self
pub fn dot_into_vec(self, rhs: Self) -> Self
Returns a vector where every component is the dot product of self
and rhs
.
Sourcepub fn min(self, rhs: Self) -> Self
pub fn min(self, rhs: Self) -> Self
Returns a vector containing the minimum values for each element of self
and rhs
.
In other words this computes [min(x, rhs.x), min(self.y, rhs.y), ..]
.
Sourcepub fn max(self, rhs: Self) -> Self
pub fn max(self, rhs: Self) -> Self
Returns a vector containing the maximum values for each element of self
and rhs
.
In other words this computes [max(self.x, rhs.x), max(self.y, rhs.y), ..]
.
Sourcepub fn clamp(self, min: Self, max: Self) -> Self
pub fn clamp(self, min: Self, max: Self) -> Self
Component-wise clamping of values, similar to i32::clamp
.
Each element in min
must be less-or-equal to the corresponding element in max
.
§Panics
Will panic if min
is greater than max
when glam_assert
is enabled.
Sourcepub fn min_element(self) -> i32
pub fn min_element(self) -> i32
Returns the horizontal minimum of self
.
In other words this computes min(x, y, ..)
.
Sourcepub fn max_element(self) -> i32
pub fn max_element(self) -> i32
Returns the horizontal maximum of self
.
In other words this computes max(x, y, ..)
.
Sourcepub fn min_position(self) -> usize
pub fn min_position(self) -> usize
Returns the index of the first minimum element of self
.
Sourcepub fn max_position(self) -> usize
pub fn max_position(self) -> usize
Returns the index of the first maximum element of self
.
Sourcepub fn element_sum(self) -> i32
pub fn element_sum(self) -> i32
Returns the sum of all elements of self
.
In other words, this computes self.x + self.y + ..
.
Sourcepub fn element_product(self) -> i32
pub fn element_product(self) -> i32
Returns the product of all elements of self
.
In other words, this computes self.x * self.y * ..
.
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
.
In other words, this computes [self.x == rhs.x, self.y == rhs.y, ..]
for all
elements.
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
.
In other words this computes [self.x != rhs.x, self.y != rhs.y, ..]
for all
elements.
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
.
In other words this computes [self.x >= rhs.x, self.y >= rhs.y, ..]
for all
elements.
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
.
In other words this computes [self.x > rhs.x, self.y > rhs.y, ..]
for all
elements.
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
.
In other words this computes [self.x <= rhs.x, self.y <= rhs.y, ..]
for all
elements.
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
.
In other words this computes [self.x < rhs.x, self.y < rhs.y, ..]
for all
elements.
Sourcepub fn abs(self) -> Self
pub fn abs(self) -> Self
Returns a vector containing the absolute value of each element of self
.
Sourcepub fn signum(self) -> Self
pub fn signum(self) -> Self
Returns a vector with elements representing the sign of self
.
0
if the number is zero1
if the number is positive-1
if the number is negative
Sourcepub fn is_negative_bitmask(self) -> u32
pub fn is_negative_bitmask(self) -> u32
Returns a bitmask with the lowest 4 bits set to the sign bits from the elements of self
.
A negative element results in a 1
bit and a positive element in a 0
bit. Element x
goes
into the first lowest bit, element y
into the second, etc.
An element is negative if it has a negative sign, including -0.0, NaNs with negative sign bit and negative infinity.
Sourcepub fn length_squared(self) -> i32
pub fn length_squared(self) -> i32
Computes the squared length of self
.
Sourcepub fn distance_squared(self, rhs: Self) -> i32
pub fn distance_squared(self, rhs: Self) -> i32
Compute the squared euclidean distance between two points in space.
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.
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.
Sourcepub fn manhattan_distance(self, rhs: Self) -> u32
pub fn manhattan_distance(self, rhs: Self) -> u32
Computes the manhattan distance between two points.
§Overflow
This method may overflow if the result is greater than u32::MAX
.
See also checked_manhattan_distance
.
Sourcepub fn checked_manhattan_distance(self, rhs: Self) -> Option<u32>
pub fn checked_manhattan_distance(self, rhs: Self) -> Option<u32>
Computes the manhattan distance between two points.
This will returns None
if the result is greater than u32::MAX
.
Sourcepub fn chebyshev_distance(self, rhs: Self) -> u32
pub fn chebyshev_distance(self, rhs: Self) -> u32
Computes the chebyshev distance between two points.
Sourcepub fn as_i16vec4(&self) -> I16Vec4
pub fn as_i16vec4(&self) -> I16Vec4
Casts all elements of self
to i16
.
Sourcepub fn as_u16vec4(&self) -> U16Vec4
pub fn as_u16vec4(&self) -> U16Vec4
Casts all elements of self
to u16
.
Sourcepub fn as_i64vec4(&self) -> I64Vec4
pub fn as_i64vec4(&self) -> I64Vec4
Casts all elements of self
to i64
.
Sourcepub fn as_u64vec4(&self) -> U64Vec4
pub fn as_u64vec4(&self) -> U64Vec4
Casts all elements of self
to u64
.
Sourcepub fn as_usizevec4(&self) -> USizeVec4
pub fn as_usizevec4(&self) -> USizeVec4
Casts all elements of self
to usize
.
Sourcepub const fn checked_add(self, rhs: Self) -> Option<Self>
pub const fn checked_add(self, rhs: Self) -> Option<Self>
Returns a vector containing the wrapping addition of self
and rhs
.
In other words this computes Some([self.x + rhs.x, self.y + rhs.y, ..])
but returns None
on any overflow.
Sourcepub const fn checked_sub(self, rhs: Self) -> Option<Self>
pub const fn checked_sub(self, rhs: Self) -> Option<Self>
Returns a vector containing the wrapping subtraction of self
and rhs
.
In other words this computes Some([self.x - rhs.x, self.y - rhs.y, ..])
but returns None
on any overflow.
Sourcepub const fn checked_mul(self, rhs: Self) -> Option<Self>
pub const fn checked_mul(self, rhs: Self) -> Option<Self>
Returns a vector containing the wrapping multiplication of self
and rhs
.
In other words this computes Some([self.x * rhs.x, self.y * rhs.y, ..])
but returns None
on any overflow.
Sourcepub const fn checked_div(self, rhs: Self) -> Option<Self>
pub const fn checked_div(self, rhs: Self) -> Option<Self>
Returns a vector containing the wrapping division of self
and rhs
.
In other words this computes Some([self.x / rhs.x, self.y / rhs.y, ..])
but returns None
on any division by zero.
Sourcepub const fn wrapping_add(self, rhs: Self) -> Self
pub const fn wrapping_add(self, rhs: Self) -> Self
Returns a vector containing the wrapping addition of self
and rhs
.
In other words this computes [self.x.wrapping_add(rhs.x), self.y.wrapping_add(rhs.y), ..]
.
Sourcepub const fn wrapping_sub(self, rhs: Self) -> Self
pub const fn wrapping_sub(self, rhs: Self) -> Self
Returns a vector containing the wrapping subtraction of self
and rhs
.
In other words this computes [self.x.wrapping_sub(rhs.x), self.y.wrapping_sub(rhs.y), ..]
.
Sourcepub const fn wrapping_mul(self, rhs: Self) -> Self
pub const fn wrapping_mul(self, rhs: Self) -> Self
Returns a vector containing the wrapping multiplication of self
and rhs
.
In other words this computes [self.x.wrapping_mul(rhs.x), self.y.wrapping_mul(rhs.y), ..]
.
Sourcepub const fn wrapping_div(self, rhs: Self) -> Self
pub const fn wrapping_div(self, rhs: Self) -> Self
Returns a vector containing the wrapping division of self
and rhs
.
In other words this computes [self.x.wrapping_div(rhs.x), self.y.wrapping_div(rhs.y), ..]
.
Sourcepub const fn saturating_add(self, rhs: Self) -> Self
pub const fn saturating_add(self, rhs: Self) -> Self
Returns a vector containing the saturating addition of self
and rhs
.
In other words this computes [self.x.saturating_add(rhs.x), self.y.saturating_add(rhs.y), ..]
.
Sourcepub const fn saturating_sub(self, rhs: Self) -> Self
pub const fn saturating_sub(self, rhs: Self) -> Self
Returns a vector containing the saturating subtraction of self
and rhs
.
In other words this computes [self.x.saturating_sub(rhs.x), self.y.saturating_sub(rhs.y), ..]
.
Sourcepub const fn saturating_mul(self, rhs: Self) -> Self
pub const fn saturating_mul(self, rhs: Self) -> Self
Returns a vector containing the saturating multiplication of self
and rhs
.
In other words this computes [self.x.saturating_mul(rhs.x), self.y.saturating_mul(rhs.y), ..]
.
Sourcepub const fn saturating_div(self, rhs: Self) -> Self
pub const fn saturating_div(self, rhs: Self) -> Self
Returns a vector containing the saturating division of self
and rhs
.
In other words this computes [self.x.saturating_div(rhs.x), self.y.saturating_div(rhs.y), ..]
.
Sourcepub const fn checked_add_unsigned(self, rhs: UVec4) -> Option<Self>
pub const fn checked_add_unsigned(self, rhs: UVec4) -> Option<Self>
Returns a vector containing the wrapping addition of self
and unsigned vector rhs
.
In other words this computes Some([self.x + rhs.x, self.y + rhs.y, ..])
but returns None
on any overflow.
Sourcepub const fn checked_sub_unsigned(self, rhs: UVec4) -> Option<Self>
pub const fn checked_sub_unsigned(self, rhs: UVec4) -> Option<Self>
Returns a vector containing the wrapping subtraction of self
and unsigned vector rhs
.
In other words this computes Some([self.x - rhs.x, self.y - rhs.y, ..])
but returns None
on any overflow.
Sourcepub const fn wrapping_add_unsigned(self, rhs: UVec4) -> Self
pub const fn wrapping_add_unsigned(self, rhs: UVec4) -> Self
Returns a vector containing the wrapping addition of self
and unsigned vector rhs
.
In other words this computes [self.x.wrapping_add_unsigned(rhs.x), self.y.wrapping_add_unsigned(rhs.y), ..]
.
Sourcepub const fn wrapping_sub_unsigned(self, rhs: UVec4) -> Self
pub const fn wrapping_sub_unsigned(self, rhs: UVec4) -> Self
Returns a vector containing the wrapping subtraction of self
and unsigned vector rhs
.
In other words this computes [self.x.wrapping_sub_unsigned(rhs.x), self.y.wrapping_sub_unsigned(rhs.y), ..]
.
Sourcepub const fn saturating_add_unsigned(self, rhs: UVec4) -> Self
pub const fn saturating_add_unsigned(self, rhs: UVec4) -> Self
In other words this computes [self.x.saturating_add_unsigned(rhs.x), self.y.saturating_add_unsigned(rhs.y), ..]
.
Sourcepub const fn saturating_sub_unsigned(self, rhs: UVec4) -> Self
pub const fn saturating_sub_unsigned(self, rhs: UVec4) -> Self
Returns a vector containing the saturating subtraction of self
and unsigned vector rhs
.
In other words this computes [self.x.saturating_sub_unsigned(rhs.x), self.y.saturating_sub_unsigned(rhs.y), ..]
.
Trait Implementations§
Source§impl AddAssign<&IVec4> for IVec4
impl AddAssign<&IVec4> for IVec4
Source§fn add_assign(&mut self, rhs: &Self)
fn add_assign(&mut self, rhs: &Self)
+=
operation. Read moreSource§impl AddAssign<&i32> for IVec4
impl AddAssign<&i32> for IVec4
Source§fn add_assign(&mut self, rhs: &i32)
fn add_assign(&mut self, rhs: &i32)
+=
operation. Read moreSource§impl AddAssign<i32> for IVec4
impl AddAssign<i32> for IVec4
Source§fn add_assign(&mut self, rhs: i32)
fn add_assign(&mut self, rhs: i32)
+=
operation. Read moreSource§impl AddAssign for IVec4
impl AddAssign for IVec4
Source§fn add_assign(&mut self, rhs: Self)
fn add_assign(&mut self, rhs: Self)
+=
operation. Read moreSource§impl BitAndAssign<&IVec4> for IVec4
impl BitAndAssign<&IVec4> for IVec4
Source§fn bitand_assign(&mut self, rhs: &Self)
fn bitand_assign(&mut self, rhs: &Self)
&=
operation. Read moreSource§impl BitAndAssign<&i32> for IVec4
impl BitAndAssign<&i32> for IVec4
Source§fn bitand_assign(&mut self, rhs: &i32)
fn bitand_assign(&mut self, rhs: &i32)
&=
operation. Read moreSource§impl BitAndAssign<i32> for IVec4
impl BitAndAssign<i32> for IVec4
Source§fn bitand_assign(&mut self, rhs: i32)
fn bitand_assign(&mut self, rhs: i32)
&=
operation. Read moreSource§impl BitAndAssign for IVec4
impl BitAndAssign for IVec4
Source§fn bitand_assign(&mut self, rhs: Self)
fn bitand_assign(&mut self, rhs: Self)
&=
operation. Read moreSource§impl BitOrAssign<&IVec4> for IVec4
impl BitOrAssign<&IVec4> for IVec4
Source§fn bitor_assign(&mut self, rhs: &Self)
fn bitor_assign(&mut self, rhs: &Self)
|=
operation. Read moreSource§impl BitOrAssign<&i32> for IVec4
impl BitOrAssign<&i32> for IVec4
Source§fn bitor_assign(&mut self, rhs: &i32)
fn bitor_assign(&mut self, rhs: &i32)
|=
operation. Read moreSource§impl BitOrAssign<i32> for IVec4
impl BitOrAssign<i32> for IVec4
Source§fn bitor_assign(&mut self, rhs: i32)
fn bitor_assign(&mut self, rhs: i32)
|=
operation. Read moreSource§impl BitOrAssign for IVec4
impl BitOrAssign for IVec4
Source§fn bitor_assign(&mut self, rhs: Self)
fn bitor_assign(&mut self, rhs: Self)
|=
operation. Read moreSource§impl BitXorAssign<&IVec4> for IVec4
impl BitXorAssign<&IVec4> for IVec4
Source§fn bitxor_assign(&mut self, rhs: &Self)
fn bitxor_assign(&mut self, rhs: &Self)
^=
operation. Read moreSource§impl BitXorAssign<&i32> for IVec4
impl BitXorAssign<&i32> for IVec4
Source§fn bitxor_assign(&mut self, rhs: &i32)
fn bitxor_assign(&mut self, rhs: &i32)
^=
operation. Read moreSource§impl BitXorAssign<i32> for IVec4
impl BitXorAssign<i32> for IVec4
Source§fn bitxor_assign(&mut self, rhs: i32)
fn bitxor_assign(&mut self, rhs: i32)
^=
operation. Read moreSource§impl BitXorAssign for IVec4
impl BitXorAssign for IVec4
Source§fn bitxor_assign(&mut self, rhs: Self)
fn bitxor_assign(&mut self, rhs: Self)
^=
operation. Read moreSource§impl DivAssign<&IVec4> for IVec4
impl DivAssign<&IVec4> for IVec4
Source§fn div_assign(&mut self, rhs: &Self)
fn div_assign(&mut self, rhs: &Self)
/=
operation. Read moreSource§impl DivAssign<&i32> for IVec4
impl DivAssign<&i32> for IVec4
Source§fn div_assign(&mut self, rhs: &i32)
fn div_assign(&mut self, rhs: &i32)
/=
operation. Read moreSource§impl DivAssign<i32> for IVec4
impl DivAssign<i32> for IVec4
Source§fn div_assign(&mut self, rhs: i32)
fn div_assign(&mut self, rhs: i32)
/=
operation. Read moreSource§impl DivAssign for IVec4
impl DivAssign for IVec4
Source§fn div_assign(&mut self, rhs: Self)
fn div_assign(&mut self, rhs: Self)
/=
operation. Read moreSource§impl MulAssign<&IVec4> for IVec4
impl MulAssign<&IVec4> for IVec4
Source§fn mul_assign(&mut self, rhs: &Self)
fn mul_assign(&mut self, rhs: &Self)
*=
operation. Read moreSource§impl MulAssign<&i32> for IVec4
impl MulAssign<&i32> for IVec4
Source§fn mul_assign(&mut self, rhs: &i32)
fn mul_assign(&mut self, rhs: &i32)
*=
operation. Read moreSource§impl MulAssign<i32> for IVec4
impl MulAssign<i32> for IVec4
Source§fn mul_assign(&mut self, rhs: i32)
fn mul_assign(&mut self, rhs: i32)
*=
operation. Read moreSource§impl MulAssign for IVec4
impl MulAssign for IVec4
Source§fn mul_assign(&mut self, rhs: Self)
fn mul_assign(&mut self, rhs: Self)
*=
operation. Read moreSource§impl RemAssign<&IVec4> for IVec4
impl RemAssign<&IVec4> for IVec4
Source§fn rem_assign(&mut self, rhs: &Self)
fn rem_assign(&mut self, rhs: &Self)
%=
operation. Read moreSource§impl RemAssign<&i32> for IVec4
impl RemAssign<&i32> for IVec4
Source§fn rem_assign(&mut self, rhs: &i32)
fn rem_assign(&mut self, rhs: &i32)
%=
operation. Read moreSource§impl RemAssign<i32> for IVec4
impl RemAssign<i32> for IVec4
Source§fn rem_assign(&mut self, rhs: i32)
fn rem_assign(&mut self, rhs: i32)
%=
operation. Read moreSource§impl RemAssign for IVec4
impl RemAssign for IVec4
Source§fn rem_assign(&mut self, rhs: Self)
fn rem_assign(&mut self, rhs: Self)
%=
operation. Read moreSource§impl ShlAssign<&i16> for IVec4
impl ShlAssign<&i16> for IVec4
Source§fn shl_assign(&mut self, rhs: &i16)
fn shl_assign(&mut self, rhs: &i16)
<<=
operation. Read moreSource§impl ShlAssign<&i32> for IVec4
impl ShlAssign<&i32> for IVec4
Source§fn shl_assign(&mut self, rhs: &i32)
fn shl_assign(&mut self, rhs: &i32)
<<=
operation. Read moreSource§impl ShlAssign<&i64> for IVec4
impl ShlAssign<&i64> for IVec4
Source§fn shl_assign(&mut self, rhs: &i64)
fn shl_assign(&mut self, rhs: &i64)
<<=
operation. Read moreSource§impl ShlAssign<&i8> for IVec4
impl ShlAssign<&i8> for IVec4
Source§fn shl_assign(&mut self, rhs: &i8)
fn shl_assign(&mut self, rhs: &i8)
<<=
operation. Read moreSource§impl ShlAssign<&u16> for IVec4
impl ShlAssign<&u16> for IVec4
Source§fn shl_assign(&mut self, rhs: &u16)
fn shl_assign(&mut self, rhs: &u16)
<<=
operation. Read moreSource§impl ShlAssign<&u32> for IVec4
impl ShlAssign<&u32> for IVec4
Source§fn shl_assign(&mut self, rhs: &u32)
fn shl_assign(&mut self, rhs: &u32)
<<=
operation. Read moreSource§impl ShlAssign<&u64> for IVec4
impl ShlAssign<&u64> for IVec4
Source§fn shl_assign(&mut self, rhs: &u64)
fn shl_assign(&mut self, rhs: &u64)
<<=
operation. Read moreSource§impl ShlAssign<&u8> for IVec4
impl ShlAssign<&u8> for IVec4
Source§fn shl_assign(&mut self, rhs: &u8)
fn shl_assign(&mut self, rhs: &u8)
<<=
operation. Read moreSource§impl ShlAssign<i16> for IVec4
impl ShlAssign<i16> for IVec4
Source§fn shl_assign(&mut self, rhs: i16)
fn shl_assign(&mut self, rhs: i16)
<<=
operation. Read moreSource§impl ShlAssign<i32> for IVec4
impl ShlAssign<i32> for IVec4
Source§fn shl_assign(&mut self, rhs: i32)
fn shl_assign(&mut self, rhs: i32)
<<=
operation. Read moreSource§impl ShlAssign<i64> for IVec4
impl ShlAssign<i64> for IVec4
Source§fn shl_assign(&mut self, rhs: i64)
fn shl_assign(&mut self, rhs: i64)
<<=
operation. Read moreSource§impl ShlAssign<i8> for IVec4
impl ShlAssign<i8> for IVec4
Source§fn shl_assign(&mut self, rhs: i8)
fn shl_assign(&mut self, rhs: i8)
<<=
operation. Read moreSource§impl ShlAssign<u16> for IVec4
impl ShlAssign<u16> for IVec4
Source§fn shl_assign(&mut self, rhs: u16)
fn shl_assign(&mut self, rhs: u16)
<<=
operation. Read moreSource§impl ShlAssign<u32> for IVec4
impl ShlAssign<u32> for IVec4
Source§fn shl_assign(&mut self, rhs: u32)
fn shl_assign(&mut self, rhs: u32)
<<=
operation. Read moreSource§impl ShlAssign<u64> for IVec4
impl ShlAssign<u64> for IVec4
Source§fn shl_assign(&mut self, rhs: u64)
fn shl_assign(&mut self, rhs: u64)
<<=
operation. Read moreSource§impl ShlAssign<u8> for IVec4
impl ShlAssign<u8> for IVec4
Source§fn shl_assign(&mut self, rhs: u8)
fn shl_assign(&mut self, rhs: u8)
<<=
operation. Read moreSource§impl ShrAssign<&i16> for IVec4
impl ShrAssign<&i16> for IVec4
Source§fn shr_assign(&mut self, rhs: &i16)
fn shr_assign(&mut self, rhs: &i16)
>>=
operation. Read moreSource§impl ShrAssign<&i32> for IVec4
impl ShrAssign<&i32> for IVec4
Source§fn shr_assign(&mut self, rhs: &i32)
fn shr_assign(&mut self, rhs: &i32)
>>=
operation. Read moreSource§impl ShrAssign<&i64> for IVec4
impl ShrAssign<&i64> for IVec4
Source§fn shr_assign(&mut self, rhs: &i64)
fn shr_assign(&mut self, rhs: &i64)
>>=
operation. Read moreSource§impl ShrAssign<&i8> for IVec4
impl ShrAssign<&i8> for IVec4
Source§fn shr_assign(&mut self, rhs: &i8)
fn shr_assign(&mut self, rhs: &i8)
>>=
operation. Read moreSource§impl ShrAssign<&u16> for IVec4
impl ShrAssign<&u16> for IVec4
Source§fn shr_assign(&mut self, rhs: &u16)
fn shr_assign(&mut self, rhs: &u16)
>>=
operation. Read moreSource§impl ShrAssign<&u32> for IVec4
impl ShrAssign<&u32> for IVec4
Source§fn shr_assign(&mut self, rhs: &u32)
fn shr_assign(&mut self, rhs: &u32)
>>=
operation. Read moreSource§impl ShrAssign<&u64> for IVec4
impl ShrAssign<&u64> for IVec4
Source§fn shr_assign(&mut self, rhs: &u64)
fn shr_assign(&mut self, rhs: &u64)
>>=
operation. Read moreSource§impl ShrAssign<&u8> for IVec4
impl ShrAssign<&u8> for IVec4
Source§fn shr_assign(&mut self, rhs: &u8)
fn shr_assign(&mut self, rhs: &u8)
>>=
operation. Read moreSource§impl ShrAssign<i16> for IVec4
impl ShrAssign<i16> for IVec4
Source§fn shr_assign(&mut self, rhs: i16)
fn shr_assign(&mut self, rhs: i16)
>>=
operation. Read moreSource§impl ShrAssign<i32> for IVec4
impl ShrAssign<i32> for IVec4
Source§fn shr_assign(&mut self, rhs: i32)
fn shr_assign(&mut self, rhs: i32)
>>=
operation. Read moreSource§impl ShrAssign<i64> for IVec4
impl ShrAssign<i64> for IVec4
Source§fn shr_assign(&mut self, rhs: i64)
fn shr_assign(&mut self, rhs: i64)
>>=
operation. Read moreSource§impl ShrAssign<i8> for IVec4
impl ShrAssign<i8> for IVec4
Source§fn shr_assign(&mut self, rhs: i8)
fn shr_assign(&mut self, rhs: i8)
>>=
operation. Read moreSource§impl ShrAssign<u16> for IVec4
impl ShrAssign<u16> for IVec4
Source§fn shr_assign(&mut self, rhs: u16)
fn shr_assign(&mut self, rhs: u16)
>>=
operation. Read moreSource§impl ShrAssign<u32> for IVec4
impl ShrAssign<u32> for IVec4
Source§fn shr_assign(&mut self, rhs: u32)
fn shr_assign(&mut self, rhs: u32)
>>=
operation. Read moreSource§impl ShrAssign<u64> for IVec4
impl ShrAssign<u64> for IVec4
Source§fn shr_assign(&mut self, rhs: u64)
fn shr_assign(&mut self, rhs: u64)
>>=
operation. Read moreSource§impl ShrAssign<u8> for IVec4
impl ShrAssign<u8> for IVec4
Source§fn shr_assign(&mut self, rhs: u8)
fn shr_assign(&mut self, rhs: u8)
>>=
operation. Read moreSource§impl SubAssign<&IVec4> for IVec4
impl SubAssign<&IVec4> for IVec4
Source§fn sub_assign(&mut self, rhs: &Self)
fn sub_assign(&mut self, rhs: &Self)
-=
operation. Read moreSource§impl SubAssign<&i32> for IVec4
impl SubAssign<&i32> for IVec4
Source§fn sub_assign(&mut self, rhs: &i32)
fn sub_assign(&mut self, rhs: &i32)
-=
operation. Read moreSource§impl SubAssign<i32> for IVec4
impl SubAssign<i32> for IVec4
Source§fn sub_assign(&mut self, rhs: i32)
fn sub_assign(&mut self, rhs: i32)
-=
operation. Read moreSource§impl SubAssign for IVec4
impl SubAssign for IVec4
Source§fn sub_assign(&mut self, rhs: Self)
fn sub_assign(&mut self, rhs: Self)
-=
operation. Read moreSource§impl Vec4Swizzles for IVec4
impl Vec4Swizzles for IVec4
type Vec2 = IVec2
type Vec3 = IVec3
fn xx(self) -> IVec2
fn xy(self) -> IVec2
fn with_xy(self, rhs: IVec2) -> Self
fn xz(self) -> IVec2
fn with_xz(self, rhs: IVec2) -> Self
fn xw(self) -> IVec2
fn with_xw(self, rhs: IVec2) -> Self
fn yx(self) -> IVec2
fn with_yx(self, rhs: IVec2) -> Self
fn yy(self) -> IVec2
fn yz(self) -> IVec2
fn with_yz(self, rhs: IVec2) -> Self
fn yw(self) -> IVec2
fn with_yw(self, rhs: IVec2) -> Self
fn zx(self) -> IVec2
fn with_zx(self, rhs: IVec2) -> Self
fn zy(self) -> IVec2
fn with_zy(self, rhs: IVec2) -> Self
fn zz(self) -> IVec2
fn zw(self) -> IVec2
fn with_zw(self, rhs: IVec2) -> Self
fn wx(self) -> IVec2
fn with_wx(self, rhs: IVec2) -> Self
fn wy(self) -> IVec2
fn with_wy(self, rhs: IVec2) -> Self
fn wz(self) -> IVec2
fn with_wz(self, rhs: IVec2) -> Self
fn ww(self) -> IVec2
fn xxx(self) -> IVec3
fn xxy(self) -> IVec3
fn xxz(self) -> IVec3
fn xxw(self) -> IVec3
fn xyx(self) -> IVec3
fn xyy(self) -> IVec3
fn xyz(self) -> IVec3
fn with_xyz(self, rhs: IVec3) -> Self
fn xyw(self) -> IVec3
fn with_xyw(self, rhs: IVec3) -> Self
fn xzx(self) -> IVec3
fn xzy(self) -> IVec3
fn with_xzy(self, rhs: IVec3) -> Self
fn xzz(self) -> IVec3
fn xzw(self) -> IVec3
fn with_xzw(self, rhs: IVec3) -> Self
fn xwx(self) -> IVec3
fn xwy(self) -> IVec3
fn with_xwy(self, rhs: IVec3) -> Self
fn xwz(self) -> IVec3
fn with_xwz(self, rhs: IVec3) -> Self
fn xww(self) -> IVec3
fn yxx(self) -> IVec3
fn yxy(self) -> IVec3
fn yxz(self) -> IVec3
fn with_yxz(self, rhs: IVec3) -> Self
fn yxw(self) -> IVec3
fn with_yxw(self, rhs: IVec3) -> Self
fn yyx(self) -> IVec3
fn yyy(self) -> IVec3
fn yyz(self) -> IVec3
fn yyw(self) -> IVec3
fn yzx(self) -> IVec3
fn with_yzx(self, rhs: IVec3) -> Self
fn yzy(self) -> IVec3
fn yzz(self) -> IVec3
fn yzw(self) -> IVec3
fn with_yzw(self, rhs: IVec3) -> Self
fn ywx(self) -> IVec3
fn with_ywx(self, rhs: IVec3) -> Self
fn ywy(self) -> IVec3
fn ywz(self) -> IVec3
fn with_ywz(self, rhs: IVec3) -> Self
fn yww(self) -> IVec3
fn zxx(self) -> IVec3
fn zxy(self) -> IVec3
fn with_zxy(self, rhs: IVec3) -> Self
fn zxz(self) -> IVec3
fn zxw(self) -> IVec3
fn with_zxw(self, rhs: IVec3) -> Self
fn zyx(self) -> IVec3
fn with_zyx(self, rhs: IVec3) -> Self
fn zyy(self) -> IVec3
fn zyz(self) -> IVec3
fn zyw(self) -> IVec3
fn with_zyw(self, rhs: IVec3) -> Self
fn zzx(self) -> IVec3
fn zzy(self) -> IVec3
fn zzz(self) -> IVec3
fn zzw(self) -> IVec3
fn zwx(self) -> IVec3
fn with_zwx(self, rhs: IVec3) -> Self
fn zwy(self) -> IVec3
fn with_zwy(self, rhs: IVec3) -> Self
fn zwz(self) -> IVec3
fn zww(self) -> IVec3
fn wxx(self) -> IVec3
fn wxy(self) -> IVec3
fn with_wxy(self, rhs: IVec3) -> Self
fn wxz(self) -> IVec3
fn with_wxz(self, rhs: IVec3) -> Self
fn wxw(self) -> IVec3
fn wyx(self) -> IVec3
fn with_wyx(self, rhs: IVec3) -> Self
fn wyy(self) -> IVec3
fn wyz(self) -> IVec3
fn with_wyz(self, rhs: IVec3) -> Self
fn wyw(self) -> IVec3
fn wzx(self) -> IVec3
fn with_wzx(self, rhs: IVec3) -> Self
fn wzy(self) -> IVec3
fn with_wzy(self, rhs: IVec3) -> Self
fn wzz(self) -> IVec3
fn wzw(self) -> IVec3
fn wwx(self) -> IVec3
fn wwy(self) -> IVec3
fn wwz(self) -> IVec3
fn www(self) -> IVec3
fn xxxx(self) -> Self
fn xxxy(self) -> Self
fn xxxz(self) -> Self
fn xxxw(self) -> Self
fn xxyx(self) -> Self
fn xxyy(self) -> Self
fn xxyz(self) -> Self
fn xxyw(self) -> Self
fn xxzx(self) -> Self
fn xxzy(self) -> Self
fn xxzz(self) -> Self
fn xxzw(self) -> Self
fn xxwx(self) -> Self
fn xxwy(self) -> Self
fn xxwz(self) -> Self
fn xxww(self) -> Self
fn xyxx(self) -> Self
fn xyxy(self) -> Self
fn xyxz(self) -> Self
fn xyxw(self) -> Self
fn xyyx(self) -> Self
fn xyyy(self) -> Self
fn xyyz(self) -> Self
fn xyyw(self) -> Self
fn xyzx(self) -> Self
fn xyzy(self) -> Self
fn xyzz(self) -> Self
fn xywx(self) -> Self
fn xywy(self) -> Self
fn xywz(self) -> Self
fn xyww(self) -> Self
fn xzxx(self) -> Self
fn xzxy(self) -> Self
fn xzxz(self) -> Self
fn xzxw(self) -> Self
fn xzyx(self) -> Self
fn xzyy(self) -> Self
fn xzyz(self) -> Self
fn xzyw(self) -> Self
fn xzzx(self) -> Self
fn xzzy(self) -> Self
fn xzzz(self) -> Self
fn xzzw(self) -> Self
fn xzwx(self) -> Self
fn xzwy(self) -> Self
fn xzwz(self) -> Self
fn xzww(self) -> Self
fn xwxx(self) -> Self
fn xwxy(self) -> Self
fn xwxz(self) -> Self
fn xwxw(self) -> Self
fn xwyx(self) -> Self
fn xwyy(self) -> Self
fn xwyz(self) -> Self
fn xwyw(self) -> Self
fn xwzx(self) -> Self
fn xwzy(self) -> Self
fn xwzz(self) -> Self
fn xwzw(self) -> Self
fn xwwx(self) -> Self
fn xwwy(self) -> Self
fn xwwz(self) -> Self
fn xwww(self) -> Self
fn yxxx(self) -> Self
fn yxxy(self) -> Self
fn yxxz(self) -> Self
fn yxxw(self) -> Self
fn yxyx(self) -> Self
fn yxyy(self) -> Self
fn yxyz(self) -> Self
fn yxyw(self) -> Self
fn yxzx(self) -> Self
fn yxzy(self) -> Self
fn yxzz(self) -> Self
fn yxzw(self) -> Self
fn yxwx(self) -> Self
fn yxwy(self) -> Self
fn yxwz(self) -> Self
fn yxww(self) -> Self
fn yyxx(self) -> Self
fn yyxy(self) -> Self
fn yyxz(self) -> Self
fn yyxw(self) -> Self
fn yyyx(self) -> Self
fn yyyy(self) -> Self
fn yyyz(self) -> Self
fn yyyw(self) -> Self
fn yyzx(self) -> Self
fn yyzy(self) -> Self
fn yyzz(self) -> Self
fn yyzw(self) -> Self
fn yywx(self) -> Self
fn yywy(self) -> Self
fn yywz(self) -> Self
fn yyww(self) -> Self
fn yzxx(self) -> Self
fn yzxy(self) -> Self
fn yzxz(self) -> Self
fn yzxw(self) -> Self
fn yzyx(self) -> Self
fn yzyy(self) -> Self
fn yzyz(self) -> Self
fn yzyw(self) -> Self
fn yzzx(self) -> Self
fn yzzy(self) -> Self
fn yzzz(self) -> Self
fn yzzw(self) -> Self
fn yzwx(self) -> Self
fn yzwy(self) -> Self
fn yzwz(self) -> Self
fn yzww(self) -> Self
fn ywxx(self) -> Self
fn ywxy(self) -> Self
fn ywxz(self) -> Self
fn ywxw(self) -> Self
fn ywyx(self) -> Self
fn ywyy(self) -> Self
fn ywyz(self) -> Self
fn ywyw(self) -> Self
fn ywzx(self) -> Self
fn ywzy(self) -> Self
fn ywzz(self) -> Self
fn ywzw(self) -> Self
fn ywwx(self) -> Self
fn ywwy(self) -> Self
fn ywwz(self) -> Self
fn ywww(self) -> Self
fn zxxx(self) -> Self
fn zxxy(self) -> Self
fn zxxz(self) -> Self
fn zxxw(self) -> Self
fn zxyx(self) -> Self
fn zxyy(self) -> Self
fn zxyz(self) -> Self
fn zxyw(self) -> Self
fn zxzx(self) -> Self
fn zxzy(self) -> Self
fn zxzz(self) -> Self
fn zxzw(self) -> Self
fn zxwx(self) -> Self
fn zxwy(self) -> Self
fn zxwz(self) -> Self
fn zxww(self) -> Self
fn zyxx(self) -> Self
fn zyxy(self) -> Self
fn zyxz(self) -> Self
fn zyxw(self) -> Self
fn zyyx(self) -> Self
fn zyyy(self) -> Self
fn zyyz(self) -> Self
fn zyyw(self) -> Self
fn zyzx(self) -> Self
fn zyzy(self) -> Self
fn zyzz(self) -> Self
fn zyzw(self) -> Self
fn zywx(self) -> Self
fn zywy(self) -> Self
fn zywz(self) -> Self
fn zyww(self) -> Self
fn zzxx(self) -> Self
fn zzxy(self) -> Self
fn zzxz(self) -> Self
fn zzxw(self) -> Self
fn zzyx(self) -> Self
fn zzyy(self) -> Self
fn zzyz(self) -> Self
fn zzyw(self) -> Self
fn zzzx(self) -> Self
fn zzzy(self) -> Self
fn zzzz(self) -> Self
fn zzzw(self) -> Self
fn zzwx(self) -> Self
fn zzwy(self) -> Self
fn zzwz(self) -> Self
fn zzww(self) -> Self
fn zwxx(self) -> Self
fn zwxy(self) -> Self
fn zwxz(self) -> Self
fn zwxw(self) -> Self
fn zwyx(self) -> Self
fn zwyy(self) -> Self
fn zwyz(self) -> Self
fn zwyw(self) -> Self
fn zwzx(self) -> Self
fn zwzy(self) -> Self
fn zwzz(self) -> Self
fn zwzw(self) -> Self
fn zwwx(self) -> Self
fn zwwy(self) -> Self
fn zwwz(self) -> Self
fn zwww(self) -> Self
fn wxxx(self) -> Self
fn wxxy(self) -> Self
fn wxxz(self) -> Self
fn wxxw(self) -> Self
fn wxyx(self) -> Self
fn wxyy(self) -> Self
fn wxyz(self) -> Self
fn wxyw(self) -> Self
fn wxzx(self) -> Self
fn wxzy(self) -> Self
fn wxzz(self) -> Self
fn wxzw(self) -> Self
fn wxwx(self) -> Self
fn wxwy(self) -> Self
fn wxwz(self) -> Self
fn wxww(self) -> Self
fn wyxx(self) -> Self
fn wyxy(self) -> Self
fn wyxz(self) -> Self
fn wyxw(self) -> Self
fn wyyx(self) -> Self
fn wyyy(self) -> Self
fn wyyz(self) -> Self
fn wyyw(self) -> Self
fn wyzx(self) -> Self
fn wyzy(self) -> Self
fn wyzz(self) -> Self
fn wyzw(self) -> Self
fn wywx(self) -> Self
fn wywy(self) -> Self
fn wywz(self) -> Self
fn wyww(self) -> Self
fn wzxx(self) -> Self
fn wzxy(self) -> Self
fn wzxz(self) -> Self
fn wzxw(self) -> Self
fn wzyx(self) -> Self
fn wzyy(self) -> Self
fn wzyz(self) -> Self
fn wzyw(self) -> Self
fn wzzx(self) -> Self
fn wzzy(self) -> Self
fn wzzz(self) -> Self
fn wzzw(self) -> Self
fn wzwx(self) -> Self
fn wzwy(self) -> Self
fn wzwz(self) -> Self
fn wzww(self) -> Self
fn wwxx(self) -> Self
fn wwxy(self) -> Self
fn wwxz(self) -> Self
fn wwxw(self) -> Self
fn wwyx(self) -> Self
fn wwyy(self) -> Self
fn wwyz(self) -> Self
fn wwyw(self) -> Self
fn wwzx(self) -> Self
fn wwzy(self) -> Self
fn wwzz(self) -> Self
fn wwzw(self) -> Self
fn wwwx(self) -> Self
fn wwwy(self) -> Self
fn wwwz(self) -> Self
fn wwww(self) -> Self
fn xyzw(self) -> Self
impl Copy for IVec4
impl Eq for IVec4
impl Pod for IVec4
impl StructuralPartialEq for IVec4
Auto Trait Implementations§
impl Freeze for IVec4
impl RefUnwindSafe for IVec4
impl Send for IVec4
impl Sync for IVec4
impl Unpin for IVec4
impl UnwindSafe for IVec4
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
.