pub struct ByteSlicedAES32x8b { /* private fields */ }
Implementations§
Trait Implementations§
Source§impl Add<AESTowerField8b> for ByteSlicedAES32x8b
impl Add<AESTowerField8b> for ByteSlicedAES32x8b
Source§type Output = ByteSlicedAES32x8b
type Output = ByteSlicedAES32x8b
The resulting type after applying the
+
operator.Source§fn add(self, rhs: AESTowerField8b) -> ByteSlicedAES32x8b
fn add(self, rhs: AESTowerField8b) -> ByteSlicedAES32x8b
Performs the
+
operation. Read moreSource§impl Add for ByteSlicedAES32x8b
impl Add for ByteSlicedAES32x8b
Source§impl AddAssign<AESTowerField8b> for ByteSlicedAES32x8b
impl AddAssign<AESTowerField8b> for ByteSlicedAES32x8b
Source§fn add_assign(&mut self, rhs: AESTowerField8b)
fn add_assign(&mut self, rhs: AESTowerField8b)
Performs the
+=
operation. Read moreSource§impl AddAssign for ByteSlicedAES32x8b
impl AddAssign for ByteSlicedAES32x8b
Source§fn add_assign(&mut self, rhs: Self)
fn add_assign(&mut self, rhs: Self)
Performs the
+=
operation. Read moreSource§impl Clone for ByteSlicedAES32x8b
impl Clone for ByteSlicedAES32x8b
Source§fn clone(&self) -> ByteSlicedAES32x8b
fn clone(&self) -> ByteSlicedAES32x8b
Returns a copy 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 ByteSlicedAES32x8b
impl Debug for ByteSlicedAES32x8b
Source§impl Default for ByteSlicedAES32x8b
impl Default for ByteSlicedAES32x8b
Source§fn default() -> ByteSlicedAES32x8b
fn default() -> ByteSlicedAES32x8b
Returns the “default value” for a type. Read more
Source§impl Mul<AESTowerField8b> for ByteSlicedAES32x8b
impl Mul<AESTowerField8b> for ByteSlicedAES32x8b
Source§type Output = ByteSlicedAES32x8b
type Output = ByteSlicedAES32x8b
The resulting type after applying the
*
operator.Source§fn mul(self, rhs: AESTowerField8b) -> ByteSlicedAES32x8b
fn mul(self, rhs: AESTowerField8b) -> ByteSlicedAES32x8b
Performs the
*
operation. Read moreSource§impl Mul for ByteSlicedAES32x8b
impl Mul for ByteSlicedAES32x8b
Source§impl MulAssign<AESTowerField8b> for ByteSlicedAES32x8b
impl MulAssign<AESTowerField8b> for ByteSlicedAES32x8b
Source§fn mul_assign(&mut self, rhs: AESTowerField8b)
fn mul_assign(&mut self, rhs: AESTowerField8b)
Performs the
*=
operation. Read moreSource§impl MulAssign for ByteSlicedAES32x8b
impl MulAssign for ByteSlicedAES32x8b
Source§fn mul_assign(&mut self, rhs: Self)
fn mul_assign(&mut self, rhs: Self)
Performs the
*=
operation. Read moreSource§impl PackedExtension<AESTowerField8b> for ByteSlicedAES32x8b
impl PackedExtension<AESTowerField8b> for ByteSlicedAES32x8b
type PackedSubfield = ByteSlicedAES32x8b
fn cast_bases(packed: &[Self]) -> &[Self::PackedSubfield]
fn cast_bases_mut(packed: &mut [Self]) -> &mut [Self::PackedSubfield]
fn cast_exts(packed: &[Self::PackedSubfield]) -> &[Self]
fn cast_exts_mut(packed: &mut [Self::PackedSubfield]) -> &mut [Self]
fn cast_base(self) -> Self::PackedSubfield
fn cast_base_ref(&self) -> &Self::PackedSubfield
fn cast_base_mut(&mut self) -> &mut Self::PackedSubfield
fn cast_ext(base: Self::PackedSubfield) -> Self
fn cast_ext_ref(base: &Self::PackedSubfield) -> &Self
fn cast_ext_mut(base: &mut Self::PackedSubfield) -> &mut Self
fn cast_base_arr<const N: usize>(packed: [Self; N]) -> [Self::PackedSubfield; N]
fn cast_base_arr_ref<const N: usize>( packed: &[Self; N], ) -> &[Self::PackedSubfield; N]
fn cast_base_arr_mut<const N: usize>( packed: &mut [Self; N], ) -> &mut [Self::PackedSubfield; N]
fn cast_ext_arr<const N: usize>(packed: [Self::PackedSubfield; N]) -> [Self; N]
fn cast_ext_arr_ref<const N: usize>( packed: &[Self::PackedSubfield; N], ) -> &[Self; N]
fn cast_ext_arr_mut<const N: usize>( packed: &mut [Self::PackedSubfield; N], ) -> &mut [Self; N]
Source§impl PackedField for ByteSlicedAES32x8b
impl PackedField for ByteSlicedAES32x8b
Source§const LOG_WIDTH: usize = 5usize
const LOG_WIDTH: usize = 5usize
Base-2 logarithm of the number of field elements packed into one packed element.
type Scalar = AESTowerField8b
Source§unsafe fn get_unchecked(&self, i: usize) -> Self::Scalar
unsafe fn get_unchecked(&self, i: usize) -> Self::Scalar
Get the scalar at a given index without bounds checking. Read more
Source§unsafe fn set_unchecked(&mut self, i: usize, scalar: Self::Scalar)
unsafe fn set_unchecked(&mut self, i: usize, scalar: Self::Scalar)
Set the scalar at a given index without bounds checking. Read more
fn random(rng: impl RngCore) -> Self
fn broadcast(scalar: Self::Scalar) -> Self
Source§fn from_fn(f: impl FnMut(usize) -> Self::Scalar) -> Self
fn from_fn(f: impl FnMut(usize) -> Self::Scalar) -> Self
Construct a packed field element from a function that returns scalar values by index.
Source§fn invert_or_zero(self) -> Self
fn invert_or_zero(self) -> Self
Returns the packed inverse values or zeroes at indices where
self
is zero.Source§fn interleave(self, other: Self, log_block_len: usize) -> (Self, Self)
fn interleave(self, other: Self, log_block_len: usize) -> (Self, Self)
Interleaves blocks of this packed vector with another packed vector. Read more
Source§fn unzip(self, other: Self, log_block_len: usize) -> (Self, Self)
fn unzip(self, other: Self, log_block_len: usize) -> (Self, Self)
Unzips interleaved blocks of this packed vector with another packed vector. Read more
Source§fn get_checked(&self, i: usize) -> Result<Self::Scalar, Error>
fn get_checked(&self, i: usize) -> Result<Self::Scalar, Error>
Get the scalar at a given index.
Source§fn set_checked(&mut self, i: usize, scalar: Self::Scalar) -> Result<(), Error>
fn set_checked(&mut self, i: usize, scalar: Self::Scalar) -> Result<(), Error>
Set the scalar at a given index.
fn into_iter(self) -> impl Iterator<Item = Self::Scalar> + Send + Clone
fn iter(&self) -> impl Iterator<Item = Self::Scalar> + Send + Clone + '_
fn iter_slice( slice: &[Self], ) -> impl Iterator<Item = Self::Scalar> + Send + Clone + '_
fn zero() -> Self
fn one() -> Self
Source§fn set_single(scalar: Self::Scalar) -> Self
fn set_single(scalar: Self::Scalar) -> Self
Initialize zero position with
scalar
, set other elements to zero.Source§fn try_from_fn<E>(
f: impl FnMut(usize) -> Result<Self::Scalar, E>,
) -> Result<Self, E>
fn try_from_fn<E>( f: impl FnMut(usize) -> Result<Self::Scalar, E>, ) -> Result<Self, E>
Creates a packed field from a fallible function applied to each index.
Source§fn from_scalars(values: impl IntoIterator<Item = Self::Scalar>) -> Self
fn from_scalars(values: impl IntoIterator<Item = Self::Scalar>) -> Self
Construct a packed field element from a sequence of scalars. Read more
Source§fn spread(self, log_block_len: usize, block_idx: usize) -> Self
fn spread(self, log_block_len: usize, block_idx: usize) -> Self
Spread takes a block of elements within a packed field and repeats them to the full packing
width. Read more
Source§unsafe fn spread_unchecked(self, log_block_len: usize, block_idx: usize) -> Self
unsafe fn spread_unchecked(self, log_block_len: usize, block_idx: usize) -> Self
Unsafe version of
Self::spread
. Read moreSource§impl PackedTransformationFactory<ByteSlicedAES32x8b> for ByteSlicedAES32x8b
impl PackedTransformationFactory<ByteSlicedAES32x8b> for ByteSlicedAES32x8b
type PackedTransformation<Data: AsRef<[<ByteSlicedAES32x8b as PackedField>::Scalar]> + Sync> = TransformationWrapperNxN<<ScaledPackedField<PackedPrimitiveType<M128, AESTowerField8b>, 2> as PackedTransformationFactory<ScaledPackedField<PackedPrimitiveType<M128, AESTowerField8b>, 2>>>::PackedTransformation<[AESTowerField8b; 8]>, {<$tower_level as TowerLevel>::WIDTH}>
fn make_packed_transformation<Data: AsRef<[<ByteSlicedAES32x8b as PackedField>::Scalar]> + Sync>( transformation: FieldLinearTransformation<<ByteSlicedAES32x8b as PackedField>::Scalar, Data>, ) -> Self::PackedTransformation<Data>
Source§impl PartialEq for ByteSlicedAES32x8b
impl PartialEq for ByteSlicedAES32x8b
Source§impl Product for ByteSlicedAES32x8b
impl Product for ByteSlicedAES32x8b
Source§impl Sub<AESTowerField8b> for ByteSlicedAES32x8b
impl Sub<AESTowerField8b> for ByteSlicedAES32x8b
Source§type Output = ByteSlicedAES32x8b
type Output = ByteSlicedAES32x8b
The resulting type after applying the
-
operator.Source§fn sub(self, rhs: AESTowerField8b) -> ByteSlicedAES32x8b
fn sub(self, rhs: AESTowerField8b) -> ByteSlicedAES32x8b
Performs the
-
operation. Read moreSource§impl Sub for ByteSlicedAES32x8b
impl Sub for ByteSlicedAES32x8b
Source§impl SubAssign<AESTowerField8b> for ByteSlicedAES32x8b
impl SubAssign<AESTowerField8b> for ByteSlicedAES32x8b
Source§fn sub_assign(&mut self, rhs: AESTowerField8b)
fn sub_assign(&mut self, rhs: AESTowerField8b)
Performs the
-=
operation. Read moreSource§impl SubAssign for ByteSlicedAES32x8b
impl SubAssign for ByteSlicedAES32x8b
Source§fn sub_assign(&mut self, rhs: Self)
fn sub_assign(&mut self, rhs: Self)
Performs the
-=
operation. Read moreSource§impl Sum for ByteSlicedAES32x8b
impl Sum for ByteSlicedAES32x8b
Source§impl<Inner: Transformation<PackedAESBinaryField32x8b, PackedAESBinaryField32x8b>> Transformation<ByteSlicedAES32x8b, ByteSlicedAES32x8b> for TransformationWrapperNxN<Inner, { <TowerLevel1 as TowerLevel>::WIDTH }>
impl<Inner: Transformation<PackedAESBinaryField32x8b, PackedAESBinaryField32x8b>> Transformation<ByteSlicedAES32x8b, ByteSlicedAES32x8b> for TransformationWrapperNxN<Inner, { <TowerLevel1 as TowerLevel>::WIDTH }>
fn transform(&self, data: &ByteSlicedAES32x8b) -> ByteSlicedAES32x8b
impl Copy for ByteSlicedAES32x8b
impl Eq for ByteSlicedAES32x8b
impl Pod for ByteSlicedAES32x8b
impl StructuralPartialEq for ByteSlicedAES32x8b
Auto Trait Implementations§
impl Freeze for ByteSlicedAES32x8b
impl RefUnwindSafe for ByteSlicedAES32x8b
impl Send for ByteSlicedAES32x8b
impl Sync for ByteSlicedAES32x8b
impl Unpin for ByteSlicedAES32x8b
impl UnwindSafe for ByteSlicedAES32x8b
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
§impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
§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
.§fn is_valid_bit_pattern(_bits: &T) -> bool
fn is_valid_bit_pattern(_bits: &T) -> bool
If this function returns true, then it must be valid to reinterpret
bits
as &Self
.Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more