pub(super) struct Aligned4x130 {
v0: __m256i,
v1: __m256i,
v2: __m256i,
}Expand description
Four 130-bit integers aligned across five 26-bit limbs each.
Unlike Aligned2x130 which wraps two Aligned130s, this struct represents the four
integers as 20 limbs spread across three 256-bit vectors.
Fields§
§v0: __m256i§v1: __m256i§v2: __m256iImplementations§
Source§impl Aligned4x130
impl Aligned4x130
Sourcepub(super) unsafe fn from_blocks(src: &[Block; 4]) -> Self
Available with target feature avx2 only.
pub(super) unsafe fn from_blocks(src: &[Block; 4]) -> Self
avx2 only.Aligns four 16-byte Poly1305 blocks at 26-bit boundaries within 32-bit words, and sets the high bit for each block.
§Panics
Panics if src.len() < 64.
Sourcepub(super) unsafe fn from_par_blocks(src: &ParBlocks<State>) -> Self
Available with target feature avx2 only.
pub(super) unsafe fn from_par_blocks(src: &ParBlocks<State>) -> Self
avx2 only.Aligns four 16-byte Poly1305 blocks at 26-bit boundaries within 32-bit words, and sets the high bit for each block.
Sourceunsafe fn from_loaded_blocks(blocks_01: __m256i, blocks_23: __m256i) -> Self
Available with target feature avx2 only.
unsafe fn from_loaded_blocks(blocks_01: __m256i, blocks_23: __m256i) -> Self
avx2 only.Aligns four 16-byte Poly1305 blocks at 26-bit boundaries within 32-bit words, and sets the high bit for each block.
The four blocks must be in the following 32-bit word layout: [b33, b32, b31, b30, b23, b22, b21, b20] [b13, b12, b11, b10, b03, b02, b01, b00]
Trait Implementations§
Source§impl Add for Aligned4x130
impl Add for Aligned4x130
Source§type Output = Aligned4x130
type Output = Aligned4x130
The resulting type after applying the
+ operator.Source§fn add(self, other: Aligned4x130) -> Aligned4x130
fn add(self, other: Aligned4x130) -> Aligned4x130
Performs the
+ operation. Read moreSource§impl Clone for Aligned4x130
impl Clone for Aligned4x130
Source§fn clone(&self) -> Aligned4x130
fn clone(&self) -> Aligned4x130
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for Aligned4x130
impl Debug for Aligned4x130
Source§impl Display for Aligned4x130
impl Display for Aligned4x130
Source§impl Mul<PrecomputedMultiplier> for &Aligned4x130
impl Mul<PrecomputedMultiplier> for &Aligned4x130
Source§type Output = Unreduced4x130
type Output = Unreduced4x130
The resulting type after applying the
* operator.Source§fn mul(self, other: PrecomputedMultiplier) -> Unreduced4x130
fn mul(self, other: PrecomputedMultiplier) -> Unreduced4x130
Performs the
* operation. Read moreSource§impl Mul<SpacedMultiplier4x130> for Aligned4x130
impl Mul<SpacedMultiplier4x130> for Aligned4x130
Source§type Output = Unreduced4x130
type Output = Unreduced4x130
The resulting type after applying the
* operator.Source§fn mul(self, m: SpacedMultiplier4x130) -> Unreduced4x130
fn mul(self, m: SpacedMultiplier4x130) -> Unreduced4x130
Performs the
* operation. Read moreimpl Copy for Aligned4x130
Auto Trait Implementations§
impl Freeze for Aligned4x130
impl RefUnwindSafe for Aligned4x130
impl Send for Aligned4x130
impl Sync for Aligned4x130
impl Unpin for Aligned4x130
impl UnwindSafe for Aligned4x130
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
Mutably borrows from an owned value. Read more