pub struct Lane4_i32Example<T>(pub [T; 4]);_docs_examples only.Expand description
✨ ⌗ ⅀
Example fixed-width pack of 4 × i32 lanes.
Generated with lane!.
§Methods
-
Common methods for all integers and floating-point primitives
- from_byte_values.
- from_slice.
- splat.
- add_assign (plain, simd, wide).
- sub_assign (plain, simd, wide).
- mul_assign (plain, simd, wide).
- rem_assign (plain).
- div_assign (plain, simd).
- neg_assign.
- add_scalar_assign (plain).
- sub_scalar_assign (plain).
- mul_scalar_assign (plain).
- rem_scalar_assign (plain).
- div_scalar_assign (plain).
- min (plain, wide).
- max (plain, wide).
- clamp_assign (plain).
- min_reduce (plain).
- max_reduce (plain).
- sum (plain).
-
Methods for integer primitives
- div_assign.
- neg_assign_plain.
- saturating_add_assign_plain.
- wrapping_add_assign_plain.
- saturating_sub_assign_plain.
- wrapping_sub_assign_plain.
- wrapping_mul_assign_plain.
- bitand_assign (plain, simd, wide).
- bitor_assign (plain, simd, wide).
- bitxor_assign (plain, simd, wide).
- shl_assign (plain, simd, wide).
- shr_assign (plain, simd, wide).
- min_simd.
- max_simd.
Tuple Fields§
§0: [T; 4]Implementations§
Source§impl Lane4_i32Example<i32>
§Common methods for all integers and floating-point primitives.
impl Lane4_i32Example<i32>
§Common methods for all integers and floating-point primitives.
Sourcepub const fn from_byte_values(bytes: &[u8]) -> Self
pub const fn from_byte_values(bytes: &[u8]) -> Self
Sourcepub const fn from_slice(slice: &[i32]) -> Self
pub const fn from_slice(slice: &[i32]) -> Self
Sourcepub fn add_assign(&mut self, rhs: Self)
pub fn add_assign(&mut self, rhs: Self)
Adds each lane of rhs to the corresponding lane in self.
This method is a thin wrapper over the best available alternative (simd→wide→plain)
Sourcepub const fn add_assign_plain(&mut self, rhs: Self)
pub const fn add_assign_plain(&mut self, rhs: Self)
Adds each lane of rhs to the corresponding lane in self.
§Panics
Panics on integer overflow (debug and const only).
Sourcepub fn add_assign_simd(&mut self, rhs: Self)
Available on nightly_simd only.
pub fn add_assign_simd(&mut self, rhs: Self)
nightly_simd only.Adds each lane of rhs to the corresponding lane in self using SIMD.
Performs elementwise addition with the semantics of the underlying element type.
Integer addition wraps on overflow; floating-point follows IEEE-754 rules.
Sourcepub fn add_assign_wide(&mut self, rhs: Self)
Available on crate feature dep_wide only.
pub fn add_assign_wide(&mut self, rhs: Self)
dep_wide only.Adds each lane of rhs to the corresponding lane in self using SIMD.
Performs elementwise addition with the semantics of the underlying element type.
Integer addition wraps on overflow; floating-point follows IEEE-754 rules.
Sourcepub fn sub_assign(&mut self, rhs: Self)
pub fn sub_assign(&mut self, rhs: Self)
Subtracts each lane of rhs from the corresponding lane in self.
This method is a thin wrapper over the best available alternative (simd→wide→plain)
Sourcepub const fn sub_assign_plain(&mut self, rhs: Self)
pub const fn sub_assign_plain(&mut self, rhs: Self)
Subtracts each lane of rhs from the corresponding lane in self.
§Panics
Panics on integer overflow (debug and const only).
Sourcepub fn sub_assign_simd(&mut self, rhs: Self)
Available on nightly_simd only.
pub fn sub_assign_simd(&mut self, rhs: Self)
nightly_simd only.Subtracts each lane of rhs from the corresponding lane in self using SIMD.
Performs elementwise subtraction with the semantics of the underlying element type.
Integer subtraction wraps on overflow; floating-point follows IEEE-754 rules.
Sourcepub fn sub_assign_wide(&mut self, rhs: Self)
Available on crate feature dep_wide only.
pub fn sub_assign_wide(&mut self, rhs: Self)
dep_wide only.Subtracts each lane of rhs from the corresponding lane in self using SIMD.
Performs elementwise subtraction with the semantics of the underlying element type.
Integer subtraction wraps on overflow; floating-point follows IEEE-754 rules.
Sourcepub fn mul_assign(&mut self, rhs: Self)
pub fn mul_assign(&mut self, rhs: Self)
Multiplies each lane of self by the corresponding lane of rhs.
This method is a thin wrapper over the best available alternative (simd→wide→plain)
Sourcepub const fn mul_assign_plain(&mut self, rhs: Self)
pub const fn mul_assign_plain(&mut self, rhs: Self)
Multiplies each lane of self by the corresponding lane of rhs.
§Panics
Panics on integer overflow (debug and const only).
Sourcepub fn mul_assign_simd(&mut self, rhs: Self)
Available on nightly_simd only.
pub fn mul_assign_simd(&mut self, rhs: Self)
nightly_simd only.Multiplies each lane of self by the corresponding lane of rhs using SIMD.
Performs elementwise multiplication with the semantics of the underlying element type.
Integer multiplication wraps on overflow; floating-point follows IEEE-754 rules.
Sourcepub fn mul_assign_wide(&mut self, rhs: Self)
Available on crate feature dep_wide only.
pub fn mul_assign_wide(&mut self, rhs: Self)
dep_wide only.Multiplies each lane of self by the corresponding lane of rhs using SIMD.
Performs elementwise multiplication with the semantics of the underlying element type.
Integer multiplication wraps on overflow; floating-point follows IEEE-754 rules.
Sourcepub fn rem_assign(&mut self, rhs: Self)
pub fn rem_assign(&mut self, rhs: Self)
Applies elementwise modular reduction.
This method is a thin wrapper over the best available alternative (simd→wide→plain)
Sourcepub const fn rem_assign_plain(&mut self, rhs: Self)
pub const fn rem_assign_plain(&mut self, rhs: Self)
Sourcepub const fn div_assign_plain(&mut self, rhs: Self)
pub const fn div_assign_plain(&mut self, rhs: Self)
Divides each lane by the corresponding lane in rhs (truncating division).
§Panics
Panics if any divisor is zero or on signed integer overflow.
Sourcepub fn div_assign_simd(&mut self, rhs: Self)
Available on nightly_simd only.
pub fn div_assign_simd(&mut self, rhs: Self)
nightly_simd only.Divides each lane of self by the corresponding lane of rhs using SIMD.
Applies elementwise division following IEEE-754 semantics. Not available for integer types.
Sourcepub fn neg_assign(&mut self)
pub fn neg_assign(&mut self)
Negates each lane in place.
This method is a thin wrapper over the best available alternative (simd→wide→plain)
Sourcepub fn add_scalar_assign(&mut self, rhs: i32)
pub fn add_scalar_assign(&mut self, rhs: i32)
Adds the scalar rhs to each lane in self.
This method is a thin wrapper over the best available alternative (simd→wide→plain)
Sourcepub const fn add_scalar_assign_plain(&mut self, rhs: i32)
pub const fn add_scalar_assign_plain(&mut self, rhs: i32)
Adds the scalar rhs to each lane in self.
§Panics
Panics on integer overflow (debug and const only).
Sourcepub fn sub_scalar_assign(&mut self, rhs: i32)
pub fn sub_scalar_assign(&mut self, rhs: i32)
Subtracts the scalar rhs from each lane in self.
This method is a thin wrapper over the best available alternative (simd→wide→plain)
Sourcepub const fn sub_scalar_assign_plain(&mut self, rhs: i32)
pub const fn sub_scalar_assign_plain(&mut self, rhs: i32)
Subtracts the scalar rhs from each lane in self.
§Panics
Panics on integer overflow (debug and const only).
Sourcepub fn mul_scalar_assign(&mut self, rhs: i32)
pub fn mul_scalar_assign(&mut self, rhs: i32)
Multiplies each lane by the scalar rhs.
This method is a thin wrapper over the best available alternative (simd→wide→plain)
Sourcepub const fn mul_scalar_assign_plain(&mut self, rhs: i32)
pub const fn mul_scalar_assign_plain(&mut self, rhs: i32)
Sourcepub fn rem_scalar_assign(&mut self, rhs: i32)
pub fn rem_scalar_assign(&mut self, rhs: i32)
Applies scalar modular reduction to each lane.
This method is a thin wrapper over the best available alternative (simd→wide→plain)
Sourcepub const fn rem_scalar_assign_plain(&mut self, rhs: i32)
pub const fn rem_scalar_assign_plain(&mut self, rhs: i32)
Sourcepub fn div_scalar_assign(&mut self, rhs: i32)
pub fn div_scalar_assign(&mut self, rhs: i32)
Divides each lane by the scalar rhs (truncating division).
This method is a thin wrapper over the best available alternative (simd→wide→plain)
Sourcepub const fn div_scalar_assign_plain(&mut self, rhs: i32)
pub const fn div_scalar_assign_plain(&mut self, rhs: i32)
Divides each lane by the scalar rhs (truncating division).
§Panics
Panics if rhs == 0 or on signed integer overflow.
Sourcepub fn min(&mut self, rhs: Self)
pub fn min(&mut self, rhs: Self)
Returns the minimum lane value.
This method is a thin wrapper over the best available alternative (simd→wide→plain)
Sourcepub fn min_wide(&mut self, rhs: Self)
Available on crate feature dep_wide only.
pub fn min_wide(&mut self, rhs: Self)
dep_wide only.Returns the minimum value across all lanes using SIMD acceleration.
Follows the comparison semantics of the underlying element type.
Sourcepub fn max(&mut self, rhs: Self)
pub fn max(&mut self, rhs: Self)
Returns the maximum lane value.
This method is a thin wrapper over the best available alternative (simd→wide→plain)
Sourcepub fn max_wide(&mut self, rhs: Self)
Available on crate feature dep_wide only.
pub fn max_wide(&mut self, rhs: Self)
dep_wide only.Returns the maximum value across all lanes using SIMD acceleration.
Follows the comparison semantics of the underlying element type.
Sourcepub fn clamp_assign(&mut self, lo: i32, hi: i32)
pub fn clamp_assign(&mut self, lo: i32, hi: i32)
Clamps each lane to the inclusive [lo, hi] range.
This method is a thin wrapper over the best available alternative (simd→wide→plain)
Sourcepub const fn clamp_assign_plain(&mut self, lo: i32, hi: i32)
pub const fn clamp_assign_plain(&mut self, lo: i32, hi: i32)
Clamps each lane to the inclusive [lo, hi] range.
Sourcepub const fn min_reduce_plain(&self) -> i32
pub const fn min_reduce_plain(&self) -> i32
Returns the horizontal minimum of all lanes.
Sourcepub const fn max_reduce_plain(&self) -> i32
pub const fn max_reduce_plain(&self) -> i32
Returns the horizontal maximum of all lanes.
Source§impl Lane4_i32Example<i32>
§Methods for integer primitives.
impl Lane4_i32Example<i32>
§Methods for integer primitives.
Sourcepub fn div_assign(&mut self, rhs: Self)
pub fn div_assign(&mut self, rhs: Self)
Divides each lane by the corresponding lane in rhs (truncating division).
This method is a thin wrapper over the best available alternative (simd→wide→plain)
Sourcepub const fn neg_assign_plain(&mut self)
pub const fn neg_assign_plain(&mut self)
Negates each lane in place.
§Panics
Panics on integer overflow (debug and const only).
For signed integers, overflow occurs when the value is the minimum representable integer. Unsigned integers wrap according to two’s complement semantics.
Sourcepub const fn saturating_add_assign_plain(&mut self, rhs: Self)
pub const fn saturating_add_assign_plain(&mut self, rhs: Self)
Adds each lane of rhs to the corresponding lane in self,
saturating on overflow.
Sourcepub const fn wrapping_add_assign_plain(&mut self, rhs: Self)
pub const fn wrapping_add_assign_plain(&mut self, rhs: Self)
Adds each lane of rhs to the corresponding lane in self,
wrapping on overflow.
Sourcepub const fn saturating_sub_assign_plain(&mut self, rhs: Self)
pub const fn saturating_sub_assign_plain(&mut self, rhs: Self)
Subtracts each lane of rhs from the corresponding lane in self,
saturating on overflow.
Sourcepub const fn wrapping_sub_assign_plain(&mut self, rhs: Self)
pub const fn wrapping_sub_assign_plain(&mut self, rhs: Self)
Subtracts each lane of rhs from the corresponding lane in self,
wrapping on overflow.
Sourcepub const fn wrapping_mul_assign_plain(&mut self, rhs: Self)
pub const fn wrapping_mul_assign_plain(&mut self, rhs: Self)
Multiplies each lane of rhs by the corresponding lane in self,
wrapping on overflow.
Sourcepub fn bitand_assign(&mut self, rhs: Self)
pub fn bitand_assign(&mut self, rhs: Self)
Bitwise AND each lane with the corresponding lane in rhs.
This method is a thin wrapper over the best available alternative (simd→wide→plain)
Sourcepub const fn bitand_assign_plain(&mut self, rhs: Self)
pub const fn bitand_assign_plain(&mut self, rhs: Self)
Bitwise AND each lane with the corresponding lane in rhs.
Sourcepub fn bitand_assign_simd(&mut self, rhs: Self)
Available on nightly_simd only.
pub fn bitand_assign_simd(&mut self, rhs: Self)
nightly_simd only.Applies a bitwise AND between each lane of self and rhs using SIMD.
Sourcepub fn bitand_assign_wide(&mut self, rhs: Self)
Available on crate feature dep_wide only.
pub fn bitand_assign_wide(&mut self, rhs: Self)
dep_wide only.Applies a bitwise AND between each lane of self and rhs using SIMD.
Sourcepub fn bitor_assign(&mut self, rhs: Self)
pub fn bitor_assign(&mut self, rhs: Self)
Bitwise OR each lane with the corresponding lane in rhs.
This method is a thin wrapper over the best available alternative (simd→wide→plain)
Sourcepub const fn bitor_assign_plain(&mut self, rhs: Self)
pub const fn bitor_assign_plain(&mut self, rhs: Self)
Bitwise OR each lane with the corresponding lane in rhs.
Sourcepub fn bitor_assign_simd(&mut self, rhs: Self)
Available on nightly_simd only.
pub fn bitor_assign_simd(&mut self, rhs: Self)
nightly_simd only.Applies a bitwise OR between each lane of self and rhs using SIMD.
Sourcepub fn bitor_assign_wide(&mut self, rhs: Self)
Available on crate feature dep_wide only.
pub fn bitor_assign_wide(&mut self, rhs: Self)
dep_wide only.Applies a bitwise OR between each lane of self and rhs using SIMD.
Sourcepub fn bitxor_assign(&mut self, rhs: Self)
pub fn bitxor_assign(&mut self, rhs: Self)
Bitwise XOR each lane with the corresponding lane in rhs.
This method is a thin wrapper over the best available alternative (simd→wide→plain)
Sourcepub const fn bitxor_assign_plain(&mut self, rhs: Self)
pub const fn bitxor_assign_plain(&mut self, rhs: Self)
Bitwise XOR each lane with the corresponding lane in rhs.
Sourcepub fn bitxor_assign_simd(&mut self, rhs: Self)
Available on nightly_simd only.
pub fn bitxor_assign_simd(&mut self, rhs: Self)
nightly_simd only.Applies a bitwise XOR between each lane of self and rhs using SIMD.
Sourcepub fn bitxor_assign_wide(&mut self, rhs: Self)
Available on crate feature dep_wide only.
pub fn bitxor_assign_wide(&mut self, rhs: Self)
dep_wide only.Applies a bitwise XOR between each lane of self and rhs using SIMD.
Sourcepub fn shl_assign(&mut self, n: i32)
pub fn shl_assign(&mut self, n: i32)
Shifts each lane left by n.
This method is a thin wrapper over the best available alternative (simd→wide→plain)
Sourcepub const fn shl_assign_plain(&mut self, n: i32)
pub const fn shl_assign_plain(&mut self, n: i32)
Shifts each lane left by n.
Sourcepub fn shl_assign_simd(&mut self, n: i32)
Available on nightly_simd only.
pub fn shl_assign_simd(&mut self, n: i32)
nightly_simd only.Shifts each lane in self left by the scalar amount rhs using SIMD.
Uses the shift semantics of the underlying integer type.
Sourcepub fn shl_assign_wide(&mut self, n: i32)
Available on crate feature dep_wide only.
pub fn shl_assign_wide(&mut self, n: i32)
dep_wide only.Shifts each lane in self left by the scalar amount rhs using SIMD.
Uses the shift semantics of the underlying integer type.
Sourcepub fn shr_assign(&mut self, n: i32)
pub fn shr_assign(&mut self, n: i32)
Shifts each lane right by n.
This method is a thin wrapper over the best available alternative (simd→wide→plain)
Sourcepub const fn shr_assign_plain(&mut self, n: i32)
pub const fn shr_assign_plain(&mut self, n: i32)
Shifts each lane right by n.
Performs an arithmetic right shift for signed integers, and a logical right shift for unsigned integers.
Sourcepub fn shr_assign_simd(&mut self, n: i32)
Available on nightly_simd only.
pub fn shr_assign_simd(&mut self, n: i32)
nightly_simd only.Shifts each lane in self right by the scalar amount rhs using SIMD.
Applies arithmetic right shift for signed integers and logical right shift for unsigned integers.
Sourcepub fn shr_assign_wide(&mut self, n: i32)
Available on crate feature dep_wide only.
pub fn shr_assign_wide(&mut self, n: i32)
dep_wide only.Shifts each lane in self right by the scalar amount rhs using SIMD.
Applies arithmetic right shift for signed integers and logical right shift for unsigned integers.
Trait Implementations§
Source§impl AddAssign for Lane4_i32Example<i32>
impl AddAssign for Lane4_i32Example<i32>
Source§fn add_assign(&mut self, rhs: Self)
fn add_assign(&mut self, rhs: Self)
+= operation. Read moreSource§impl AddAssign<i32> for Lane4_i32Example<i32>
impl AddAssign<i32> for Lane4_i32Example<i32>
Source§fn add_assign(&mut self, rhs: i32)
fn add_assign(&mut self, rhs: i32)
+= operation. Read moreSource§impl<T: Clone> Clone for Lane4_i32Example<T>
impl<T: Clone> Clone for Lane4_i32Example<T>
Source§fn clone(&self) -> Lane4_i32Example<T>
fn clone(&self) -> Lane4_i32Example<T>
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<T: ConstInit> ConstInit for Lane4_i32Example<T>
impl<T: ConstInit> ConstInit for Lane4_i32Example<T>
impl<T: Copy> Copy for Lane4_i32Example<T>
Source§impl<T: Debug> Debug for Lane4_i32Example<T>
impl<T: Debug> Debug for Lane4_i32Example<T>
Source§impl MulAssign for Lane4_i32Example<i32>
impl MulAssign for Lane4_i32Example<i32>
Source§fn mul_assign(&mut self, rhs: Self)
fn mul_assign(&mut self, rhs: Self)
*= operation. Read moreSource§impl MulAssign<i32> for Lane4_i32Example<i32>
impl MulAssign<i32> for Lane4_i32Example<i32>
Source§fn mul_assign(&mut self, rhs: i32)
fn mul_assign(&mut self, rhs: i32)
*= operation. Read moreSource§impl<T: PartialEq> PartialEq for Lane4_i32Example<T>
impl<T: PartialEq> PartialEq for Lane4_i32Example<T>
Source§fn eq(&self, other: &Lane4_i32Example<T>) -> bool
fn eq(&self, other: &Lane4_i32Example<T>) -> bool
self and other values to be equal, and is used by ==.Source§impl RemAssign for Lane4_i32Example<i32>
impl RemAssign for Lane4_i32Example<i32>
Source§fn rem_assign(&mut self, rhs: Self)
fn rem_assign(&mut self, rhs: Self)
%= operation. Read moreSource§impl RemAssign<i32> for Lane4_i32Example<i32>
impl RemAssign<i32> for Lane4_i32Example<i32>
Source§fn rem_assign(&mut self, rhs: i32)
fn rem_assign(&mut self, rhs: i32)
%= operation. Read moreimpl<T> StructuralPartialEq for Lane4_i32Example<T>
Source§impl SubAssign for Lane4_i32Example<i32>
impl SubAssign for Lane4_i32Example<i32>
Source§fn sub_assign(&mut self, rhs: Self)
fn sub_assign(&mut self, rhs: Self)
-= operation. Read moreAuto Trait Implementations§
impl<T> Freeze for Lane4_i32Example<T>where
T: Freeze,
impl<T> RefUnwindSafe for Lane4_i32Example<T>where
T: RefUnwindSafe,
impl<T> Send for Lane4_i32Example<T>where
T: Send,
impl<T> Sync for Lane4_i32Example<T>where
T: Sync,
impl<T> Unpin for Lane4_i32Example<T>where
T: Unpin,
impl<T> UnsafeUnpin for Lane4_i32Example<T>where
T: UnsafeUnpin,
impl<T> UnwindSafe for Lane4_i32Example<T>where
T: UnwindSafe,
Blanket Implementations§
Source§impl<T> AnyExt for T
impl<T> AnyExt for T
Source§fn type_hash_with<H: Hasher>(&self, hasher: H) -> u64
fn type_hash_with<H: Hasher>(&self, hasher: H) -> u64
TypeId of Self using a custom hasher.Source§fn as_any_mut(&mut self) -> &mut dyn Anywhere
Self: Sized,
fn as_any_mut(&mut self) -> &mut dyn Anywhere
Self: Sized,
Source§fn as_any_box(self: Box<Self>) -> Box<dyn Any>where
Self: Sized,
fn as_any_box(self: Box<Self>) -> Box<dyn Any>where
Self: Sized,
alloc only.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> ByteSized for T
impl<T> ByteSized for T
Source§const BYTE_ALIGN: usize = _
const BYTE_ALIGN: usize = _
Source§fn byte_align(&self) -> usize
fn byte_align(&self) -> usize
Source§fn ptr_size_ratio(&self) -> [usize; 2]
fn ptr_size_ratio(&self) -> [usize; 2]
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> MemExt for Twhere
T: ?Sized,
impl<T> MemExt for Twhere
T: ?Sized,
Source§const NEEDS_DROP: bool = _
const NEEDS_DROP: bool = _
Source§fn mem_align_of<T>() -> usize
fn mem_align_of<T>() -> usize
Source§fn mem_align_of_val(&self) -> usize
fn mem_align_of_val(&self) -> usize
Source§fn mem_size_of<T>() -> usize
fn mem_size_of<T>() -> usize
Source§fn mem_size_of_val(&self) -> usize
fn mem_size_of_val(&self) -> usize
Source§fn mem_needs_drop(&self) -> bool
fn mem_needs_drop(&self) -> bool
true if dropping values of this type matters. Read moreSource§fn mem_forget(self)where
Self: Sized,
fn mem_forget(self)where
Self: Sized,
self without running its destructor. Read moreSource§fn mem_replace(&mut self, other: Self) -> Selfwhere
Self: Sized,
fn mem_replace(&mut self, other: Self) -> Selfwhere
Self: Sized,
Source§unsafe fn mem_zeroed<T>() -> T
unsafe fn mem_zeroed<T>() -> T
unsafe_layout only.T represented by the all-zero byte-pattern. Read moreSource§unsafe fn mem_transmute_copy<Src, Dst>(src: &Src) -> Dst
unsafe fn mem_transmute_copy<Src, Dst>(src: &Src) -> Dst
unsafe_layout only.T represented by the all-zero byte-pattern. Read moreSource§fn mem_as_bytes(&self) -> &[u8] ⓘ
fn mem_as_bytes(&self) -> &[u8] ⓘ
unsafe_slice only.