#[repr(C)]pub struct I8Vec4 {
pub x: i8,
pub y: i8,
pub z: i8,
pub w: i8,
}
Expand description
A 4-dimensional vector.
Fields§
§x: i8
§y: i8
§z: i8
§w: i8
Implementations§
Source§impl I8Vec4
impl I8Vec4
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: [i8; 4]) -> Self
pub const fn from_array(a: [i8; 4]) -> Self
Creates a new vector from an array.
Sourcepub const fn from_slice(slice: &[i8]) -> Self
pub const fn from_slice(slice: &[i8]) -> 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 [i8])
pub fn write_to_slice(self, slice: &mut [i8])
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) -> I8Vec3
pub fn truncate(self) -> I8Vec3
Creates a 3D vector from the x
, y
and z
elements of self
, discarding w
.
Truncation to I8Vec3
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 min_element(self) -> i8
pub fn min_element(self) -> i8
Returns the horizontal minimum of self
.
In other words this computes min(x, y, ..)
.
Sourcepub fn max_element(self) -> i8
pub fn max_element(self) -> i8
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) -> i8
pub fn element_sum(self) -> i8
Returns the sum of all elements of self
.
In other words, this computes self.x + self.y + ..
.
Sourcepub fn element_product(self) -> i8
pub fn element_product(self) -> i8
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) -> i8
pub fn length_squared(self) -> i8
Computes the squared length of self
.
Sourcepub fn distance_squared(self, rhs: Self) -> i8
pub fn distance_squared(self, rhs: Self) -> i8
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) -> u8
pub fn manhattan_distance(self, rhs: Self) -> u8
Computes the manhattan distance between two points.
§Overflow
This method may overflow if the result is greater than u8::MAX
.
See also checked_manhattan_distance
.
Sourcepub fn checked_manhattan_distance(self, rhs: Self) -> Option<u8>
pub fn checked_manhattan_distance(self, rhs: Self) -> Option<u8>
Computes the manhattan distance between two points.
This will returns None
if the result is greater than u8::MAX
.
Sourcepub fn chebyshev_distance(self, rhs: Self) -> u8
pub fn chebyshev_distance(self, rhs: Self) -> u8
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: U8Vec4) -> Option<Self>
pub const fn checked_add_unsigned(self, rhs: U8Vec4) -> 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: U8Vec4) -> Option<Self>
pub const fn checked_sub_unsigned(self, rhs: U8Vec4) -> 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: U8Vec4) -> Self
pub const fn wrapping_add_unsigned(self, rhs: U8Vec4) -> 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: U8Vec4) -> Self
pub const fn wrapping_sub_unsigned(self, rhs: U8Vec4) -> 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: U8Vec4) -> Self
pub const fn saturating_add_unsigned(self, rhs: U8Vec4) -> 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: U8Vec4) -> Self
pub const fn saturating_sub_unsigned(self, rhs: U8Vec4) -> 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<&I8Vec4> for I8Vec4
impl AddAssign<&I8Vec4> for I8Vec4
Source§fn add_assign(&mut self, rhs: &Self)
fn add_assign(&mut self, rhs: &Self)
+=
operation. Read moreSource§impl AddAssign<&i8> for I8Vec4
impl AddAssign<&i8> for I8Vec4
Source§fn add_assign(&mut self, rhs: &i8)
fn add_assign(&mut self, rhs: &i8)
+=
operation. Read moreSource§impl AddAssign<i8> for I8Vec4
impl AddAssign<i8> for I8Vec4
Source§fn add_assign(&mut self, rhs: i8)
fn add_assign(&mut self, rhs: i8)
+=
operation. Read moreSource§impl AddAssign for I8Vec4
impl AddAssign for I8Vec4
Source§fn add_assign(&mut self, rhs: Self)
fn add_assign(&mut self, rhs: Self)
+=
operation. Read moreSource§impl BitAndAssign<&I8Vec4> for I8Vec4
impl BitAndAssign<&I8Vec4> for I8Vec4
Source§fn bitand_assign(&mut self, rhs: &Self)
fn bitand_assign(&mut self, rhs: &Self)
&=
operation. Read moreSource§impl BitAndAssign<&i8> for I8Vec4
impl BitAndAssign<&i8> for I8Vec4
Source§fn bitand_assign(&mut self, rhs: &i8)
fn bitand_assign(&mut self, rhs: &i8)
&=
operation. Read moreSource§impl BitAndAssign<i8> for I8Vec4
impl BitAndAssign<i8> for I8Vec4
Source§fn bitand_assign(&mut self, rhs: i8)
fn bitand_assign(&mut self, rhs: i8)
&=
operation. Read moreSource§impl BitAndAssign for I8Vec4
impl BitAndAssign for I8Vec4
Source§fn bitand_assign(&mut self, rhs: Self)
fn bitand_assign(&mut self, rhs: Self)
&=
operation. Read moreSource§impl BitOrAssign<&I8Vec4> for I8Vec4
impl BitOrAssign<&I8Vec4> for I8Vec4
Source§fn bitor_assign(&mut self, rhs: &Self)
fn bitor_assign(&mut self, rhs: &Self)
|=
operation. Read moreSource§impl BitOrAssign<&i8> for I8Vec4
impl BitOrAssign<&i8> for I8Vec4
Source§fn bitor_assign(&mut self, rhs: &i8)
fn bitor_assign(&mut self, rhs: &i8)
|=
operation. Read moreSource§impl BitOrAssign<i8> for I8Vec4
impl BitOrAssign<i8> for I8Vec4
Source§fn bitor_assign(&mut self, rhs: i8)
fn bitor_assign(&mut self, rhs: i8)
|=
operation. Read moreSource§impl BitOrAssign for I8Vec4
impl BitOrAssign for I8Vec4
Source§fn bitor_assign(&mut self, rhs: Self)
fn bitor_assign(&mut self, rhs: Self)
|=
operation. Read moreSource§impl BitXorAssign<&I8Vec4> for I8Vec4
impl BitXorAssign<&I8Vec4> for I8Vec4
Source§fn bitxor_assign(&mut self, rhs: &Self)
fn bitxor_assign(&mut self, rhs: &Self)
^=
operation. Read moreSource§impl BitXorAssign<&i8> for I8Vec4
impl BitXorAssign<&i8> for I8Vec4
Source§fn bitxor_assign(&mut self, rhs: &i8)
fn bitxor_assign(&mut self, rhs: &i8)
^=
operation. Read moreSource§impl BitXorAssign<i8> for I8Vec4
impl BitXorAssign<i8> for I8Vec4
Source§fn bitxor_assign(&mut self, rhs: i8)
fn bitxor_assign(&mut self, rhs: i8)
^=
operation. Read moreSource§impl BitXorAssign for I8Vec4
impl BitXorAssign for I8Vec4
Source§fn bitxor_assign(&mut self, rhs: Self)
fn bitxor_assign(&mut self, rhs: Self)
^=
operation. Read moreSource§impl DivAssign<&I8Vec4> for I8Vec4
impl DivAssign<&I8Vec4> for I8Vec4
Source§fn div_assign(&mut self, rhs: &Self)
fn div_assign(&mut self, rhs: &Self)
/=
operation. Read moreSource§impl DivAssign<&i8> for I8Vec4
impl DivAssign<&i8> for I8Vec4
Source§fn div_assign(&mut self, rhs: &i8)
fn div_assign(&mut self, rhs: &i8)
/=
operation. Read moreSource§impl DivAssign<i8> for I8Vec4
impl DivAssign<i8> for I8Vec4
Source§fn div_assign(&mut self, rhs: i8)
fn div_assign(&mut self, rhs: i8)
/=
operation. Read moreSource§impl DivAssign for I8Vec4
impl DivAssign for I8Vec4
Source§fn div_assign(&mut self, rhs: Self)
fn div_assign(&mut self, rhs: Self)
/=
operation. Read moreSource§impl MulAssign<&I8Vec4> for I8Vec4
impl MulAssign<&I8Vec4> for I8Vec4
Source§fn mul_assign(&mut self, rhs: &Self)
fn mul_assign(&mut self, rhs: &Self)
*=
operation. Read moreSource§impl MulAssign<&i8> for I8Vec4
impl MulAssign<&i8> for I8Vec4
Source§fn mul_assign(&mut self, rhs: &i8)
fn mul_assign(&mut self, rhs: &i8)
*=
operation. Read moreSource§impl MulAssign<i8> for I8Vec4
impl MulAssign<i8> for I8Vec4
Source§fn mul_assign(&mut self, rhs: i8)
fn mul_assign(&mut self, rhs: i8)
*=
operation. Read moreSource§impl MulAssign for I8Vec4
impl MulAssign for I8Vec4
Source§fn mul_assign(&mut self, rhs: Self)
fn mul_assign(&mut self, rhs: Self)
*=
operation. Read moreSource§impl RemAssign<&I8Vec4> for I8Vec4
impl RemAssign<&I8Vec4> for I8Vec4
Source§fn rem_assign(&mut self, rhs: &Self)
fn rem_assign(&mut self, rhs: &Self)
%=
operation. Read moreSource§impl RemAssign<&i8> for I8Vec4
impl RemAssign<&i8> for I8Vec4
Source§fn rem_assign(&mut self, rhs: &i8)
fn rem_assign(&mut self, rhs: &i8)
%=
operation. Read moreSource§impl RemAssign<i8> for I8Vec4
impl RemAssign<i8> for I8Vec4
Source§fn rem_assign(&mut self, rhs: i8)
fn rem_assign(&mut self, rhs: i8)
%=
operation. Read moreSource§impl RemAssign for I8Vec4
impl RemAssign for I8Vec4
Source§fn rem_assign(&mut self, rhs: Self)
fn rem_assign(&mut self, rhs: Self)
%=
operation. Read moreSource§impl ShlAssign<&i16> for I8Vec4
impl ShlAssign<&i16> for I8Vec4
Source§fn shl_assign(&mut self, rhs: &i16)
fn shl_assign(&mut self, rhs: &i16)
<<=
operation. Read moreSource§impl ShlAssign<&i32> for I8Vec4
impl ShlAssign<&i32> for I8Vec4
Source§fn shl_assign(&mut self, rhs: &i32)
fn shl_assign(&mut self, rhs: &i32)
<<=
operation. Read moreSource§impl ShlAssign<&i64> for I8Vec4
impl ShlAssign<&i64> for I8Vec4
Source§fn shl_assign(&mut self, rhs: &i64)
fn shl_assign(&mut self, rhs: &i64)
<<=
operation. Read moreSource§impl ShlAssign<&i8> for I8Vec4
impl ShlAssign<&i8> for I8Vec4
Source§fn shl_assign(&mut self, rhs: &i8)
fn shl_assign(&mut self, rhs: &i8)
<<=
operation. Read moreSource§impl ShlAssign<&u16> for I8Vec4
impl ShlAssign<&u16> for I8Vec4
Source§fn shl_assign(&mut self, rhs: &u16)
fn shl_assign(&mut self, rhs: &u16)
<<=
operation. Read moreSource§impl ShlAssign<&u32> for I8Vec4
impl ShlAssign<&u32> for I8Vec4
Source§fn shl_assign(&mut self, rhs: &u32)
fn shl_assign(&mut self, rhs: &u32)
<<=
operation. Read moreSource§impl ShlAssign<&u64> for I8Vec4
impl ShlAssign<&u64> for I8Vec4
Source§fn shl_assign(&mut self, rhs: &u64)
fn shl_assign(&mut self, rhs: &u64)
<<=
operation. Read moreSource§impl ShlAssign<&u8> for I8Vec4
impl ShlAssign<&u8> for I8Vec4
Source§fn shl_assign(&mut self, rhs: &u8)
fn shl_assign(&mut self, rhs: &u8)
<<=
operation. Read moreSource§impl ShlAssign<i16> for I8Vec4
impl ShlAssign<i16> for I8Vec4
Source§fn shl_assign(&mut self, rhs: i16)
fn shl_assign(&mut self, rhs: i16)
<<=
operation. Read moreSource§impl ShlAssign<i32> for I8Vec4
impl ShlAssign<i32> for I8Vec4
Source§fn shl_assign(&mut self, rhs: i32)
fn shl_assign(&mut self, rhs: i32)
<<=
operation. Read moreSource§impl ShlAssign<i64> for I8Vec4
impl ShlAssign<i64> for I8Vec4
Source§fn shl_assign(&mut self, rhs: i64)
fn shl_assign(&mut self, rhs: i64)
<<=
operation. Read moreSource§impl ShlAssign<i8> for I8Vec4
impl ShlAssign<i8> for I8Vec4
Source§fn shl_assign(&mut self, rhs: i8)
fn shl_assign(&mut self, rhs: i8)
<<=
operation. Read moreSource§impl ShlAssign<u16> for I8Vec4
impl ShlAssign<u16> for I8Vec4
Source§fn shl_assign(&mut self, rhs: u16)
fn shl_assign(&mut self, rhs: u16)
<<=
operation. Read moreSource§impl ShlAssign<u32> for I8Vec4
impl ShlAssign<u32> for I8Vec4
Source§fn shl_assign(&mut self, rhs: u32)
fn shl_assign(&mut self, rhs: u32)
<<=
operation. Read moreSource§impl ShlAssign<u64> for I8Vec4
impl ShlAssign<u64> for I8Vec4
Source§fn shl_assign(&mut self, rhs: u64)
fn shl_assign(&mut self, rhs: u64)
<<=
operation. Read moreSource§impl ShlAssign<u8> for I8Vec4
impl ShlAssign<u8> for I8Vec4
Source§fn shl_assign(&mut self, rhs: u8)
fn shl_assign(&mut self, rhs: u8)
<<=
operation. Read moreSource§impl ShrAssign<&i16> for I8Vec4
impl ShrAssign<&i16> for I8Vec4
Source§fn shr_assign(&mut self, rhs: &i16)
fn shr_assign(&mut self, rhs: &i16)
>>=
operation. Read moreSource§impl ShrAssign<&i32> for I8Vec4
impl ShrAssign<&i32> for I8Vec4
Source§fn shr_assign(&mut self, rhs: &i32)
fn shr_assign(&mut self, rhs: &i32)
>>=
operation. Read moreSource§impl ShrAssign<&i64> for I8Vec4
impl ShrAssign<&i64> for I8Vec4
Source§fn shr_assign(&mut self, rhs: &i64)
fn shr_assign(&mut self, rhs: &i64)
>>=
operation. Read moreSource§impl ShrAssign<&i8> for I8Vec4
impl ShrAssign<&i8> for I8Vec4
Source§fn shr_assign(&mut self, rhs: &i8)
fn shr_assign(&mut self, rhs: &i8)
>>=
operation. Read moreSource§impl ShrAssign<&u16> for I8Vec4
impl ShrAssign<&u16> for I8Vec4
Source§fn shr_assign(&mut self, rhs: &u16)
fn shr_assign(&mut self, rhs: &u16)
>>=
operation. Read moreSource§impl ShrAssign<&u32> for I8Vec4
impl ShrAssign<&u32> for I8Vec4
Source§fn shr_assign(&mut self, rhs: &u32)
fn shr_assign(&mut self, rhs: &u32)
>>=
operation. Read moreSource§impl ShrAssign<&u64> for I8Vec4
impl ShrAssign<&u64> for I8Vec4
Source§fn shr_assign(&mut self, rhs: &u64)
fn shr_assign(&mut self, rhs: &u64)
>>=
operation. Read moreSource§impl ShrAssign<&u8> for I8Vec4
impl ShrAssign<&u8> for I8Vec4
Source§fn shr_assign(&mut self, rhs: &u8)
fn shr_assign(&mut self, rhs: &u8)
>>=
operation. Read moreSource§impl ShrAssign<i16> for I8Vec4
impl ShrAssign<i16> for I8Vec4
Source§fn shr_assign(&mut self, rhs: i16)
fn shr_assign(&mut self, rhs: i16)
>>=
operation. Read moreSource§impl ShrAssign<i32> for I8Vec4
impl ShrAssign<i32> for I8Vec4
Source§fn shr_assign(&mut self, rhs: i32)
fn shr_assign(&mut self, rhs: i32)
>>=
operation. Read moreSource§impl ShrAssign<i64> for I8Vec4
impl ShrAssign<i64> for I8Vec4
Source§fn shr_assign(&mut self, rhs: i64)
fn shr_assign(&mut self, rhs: i64)
>>=
operation. Read moreSource§impl ShrAssign<i8> for I8Vec4
impl ShrAssign<i8> for I8Vec4
Source§fn shr_assign(&mut self, rhs: i8)
fn shr_assign(&mut self, rhs: i8)
>>=
operation. Read moreSource§impl ShrAssign<u16> for I8Vec4
impl ShrAssign<u16> for I8Vec4
Source§fn shr_assign(&mut self, rhs: u16)
fn shr_assign(&mut self, rhs: u16)
>>=
operation. Read moreSource§impl ShrAssign<u32> for I8Vec4
impl ShrAssign<u32> for I8Vec4
Source§fn shr_assign(&mut self, rhs: u32)
fn shr_assign(&mut self, rhs: u32)
>>=
operation. Read moreSource§impl ShrAssign<u64> for I8Vec4
impl ShrAssign<u64> for I8Vec4
Source§fn shr_assign(&mut self, rhs: u64)
fn shr_assign(&mut self, rhs: u64)
>>=
operation. Read moreSource§impl ShrAssign<u8> for I8Vec4
impl ShrAssign<u8> for I8Vec4
Source§fn shr_assign(&mut self, rhs: u8)
fn shr_assign(&mut self, rhs: u8)
>>=
operation. Read moreSource§impl SubAssign<&I8Vec4> for I8Vec4
impl SubAssign<&I8Vec4> for I8Vec4
Source§fn sub_assign(&mut self, rhs: &Self)
fn sub_assign(&mut self, rhs: &Self)
-=
operation. Read moreSource§impl SubAssign<&i8> for I8Vec4
impl SubAssign<&i8> for I8Vec4
Source§fn sub_assign(&mut self, rhs: &i8)
fn sub_assign(&mut self, rhs: &i8)
-=
operation. Read moreSource§impl SubAssign<i8> for I8Vec4
impl SubAssign<i8> for I8Vec4
Source§fn sub_assign(&mut self, rhs: i8)
fn sub_assign(&mut self, rhs: i8)
-=
operation. Read moreSource§impl SubAssign for I8Vec4
impl SubAssign for I8Vec4
Source§fn sub_assign(&mut self, rhs: Self)
fn sub_assign(&mut self, rhs: Self)
-=
operation. Read moreSource§impl Vec4Swizzles for I8Vec4
impl Vec4Swizzles for I8Vec4
type Vec2 = I8Vec2
type Vec3 = I8Vec3
fn xx(self) -> I8Vec2
fn xy(self) -> I8Vec2
fn with_xy(self, rhs: I8Vec2) -> Self
fn xz(self) -> I8Vec2
fn with_xz(self, rhs: I8Vec2) -> Self
fn xw(self) -> I8Vec2
fn with_xw(self, rhs: I8Vec2) -> Self
fn yx(self) -> I8Vec2
fn with_yx(self, rhs: I8Vec2) -> Self
fn yy(self) -> I8Vec2
fn yz(self) -> I8Vec2
fn with_yz(self, rhs: I8Vec2) -> Self
fn yw(self) -> I8Vec2
fn with_yw(self, rhs: I8Vec2) -> Self
fn zx(self) -> I8Vec2
fn with_zx(self, rhs: I8Vec2) -> Self
fn zy(self) -> I8Vec2
fn with_zy(self, rhs: I8Vec2) -> Self
fn zz(self) -> I8Vec2
fn zw(self) -> I8Vec2
fn with_zw(self, rhs: I8Vec2) -> Self
fn wx(self) -> I8Vec2
fn with_wx(self, rhs: I8Vec2) -> Self
fn wy(self) -> I8Vec2
fn with_wy(self, rhs: I8Vec2) -> Self
fn wz(self) -> I8Vec2
fn with_wz(self, rhs: I8Vec2) -> Self
fn ww(self) -> I8Vec2
fn xxx(self) -> I8Vec3
fn xxy(self) -> I8Vec3
fn xxz(self) -> I8Vec3
fn xxw(self) -> I8Vec3
fn xyx(self) -> I8Vec3
fn xyy(self) -> I8Vec3
fn xyz(self) -> I8Vec3
fn with_xyz(self, rhs: I8Vec3) -> Self
fn xyw(self) -> I8Vec3
fn with_xyw(self, rhs: I8Vec3) -> Self
fn xzx(self) -> I8Vec3
fn xzy(self) -> I8Vec3
fn with_xzy(self, rhs: I8Vec3) -> Self
fn xzz(self) -> I8Vec3
fn xzw(self) -> I8Vec3
fn with_xzw(self, rhs: I8Vec3) -> Self
fn xwx(self) -> I8Vec3
fn xwy(self) -> I8Vec3
fn with_xwy(self, rhs: I8Vec3) -> Self
fn xwz(self) -> I8Vec3
fn with_xwz(self, rhs: I8Vec3) -> Self
fn xww(self) -> I8Vec3
fn yxx(self) -> I8Vec3
fn yxy(self) -> I8Vec3
fn yxz(self) -> I8Vec3
fn with_yxz(self, rhs: I8Vec3) -> Self
fn yxw(self) -> I8Vec3
fn with_yxw(self, rhs: I8Vec3) -> Self
fn yyx(self) -> I8Vec3
fn yyy(self) -> I8Vec3
fn yyz(self) -> I8Vec3
fn yyw(self) -> I8Vec3
fn yzx(self) -> I8Vec3
fn with_yzx(self, rhs: I8Vec3) -> Self
fn yzy(self) -> I8Vec3
fn yzz(self) -> I8Vec3
fn yzw(self) -> I8Vec3
fn with_yzw(self, rhs: I8Vec3) -> Self
fn ywx(self) -> I8Vec3
fn with_ywx(self, rhs: I8Vec3) -> Self
fn ywy(self) -> I8Vec3
fn ywz(self) -> I8Vec3
fn with_ywz(self, rhs: I8Vec3) -> Self
fn yww(self) -> I8Vec3
fn zxx(self) -> I8Vec3
fn zxy(self) -> I8Vec3
fn with_zxy(self, rhs: I8Vec3) -> Self
fn zxz(self) -> I8Vec3
fn zxw(self) -> I8Vec3
fn with_zxw(self, rhs: I8Vec3) -> Self
fn zyx(self) -> I8Vec3
fn with_zyx(self, rhs: I8Vec3) -> Self
fn zyy(self) -> I8Vec3
fn zyz(self) -> I8Vec3
fn zyw(self) -> I8Vec3
fn with_zyw(self, rhs: I8Vec3) -> Self
fn zzx(self) -> I8Vec3
fn zzy(self) -> I8Vec3
fn zzz(self) -> I8Vec3
fn zzw(self) -> I8Vec3
fn zwx(self) -> I8Vec3
fn with_zwx(self, rhs: I8Vec3) -> Self
fn zwy(self) -> I8Vec3
fn with_zwy(self, rhs: I8Vec3) -> Self
fn zwz(self) -> I8Vec3
fn zww(self) -> I8Vec3
fn wxx(self) -> I8Vec3
fn wxy(self) -> I8Vec3
fn with_wxy(self, rhs: I8Vec3) -> Self
fn wxz(self) -> I8Vec3
fn with_wxz(self, rhs: I8Vec3) -> Self
fn wxw(self) -> I8Vec3
fn wyx(self) -> I8Vec3
fn with_wyx(self, rhs: I8Vec3) -> Self
fn wyy(self) -> I8Vec3
fn wyz(self) -> I8Vec3
fn with_wyz(self, rhs: I8Vec3) -> Self
fn wyw(self) -> I8Vec3
fn wzx(self) -> I8Vec3
fn with_wzx(self, rhs: I8Vec3) -> Self
fn wzy(self) -> I8Vec3
fn with_wzy(self, rhs: I8Vec3) -> Self
fn wzz(self) -> I8Vec3
fn wzw(self) -> I8Vec3
fn wwx(self) -> I8Vec3
fn wwy(self) -> I8Vec3
fn wwz(self) -> I8Vec3
fn www(self) -> I8Vec3
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 I8Vec4
impl Eq for I8Vec4
impl Pod for I8Vec4
impl StructuralPartialEq for I8Vec4
Auto Trait Implementations§
impl Freeze for I8Vec4
impl RefUnwindSafe for I8Vec4
impl Send for I8Vec4
impl Sync for I8Vec4
impl Unpin for I8Vec4
impl UnwindSafe for I8Vec4
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
.