pub struct AESTowerField128b(/* private fields */);
Implementations§
Trait Implementations§
source§impl Add<&AESTowerField128b> for AESTowerField128b
impl Add<&AESTowerField128b> for AESTowerField128b
source§impl Add<AESTowerField128b> for AESTowerField16b
impl Add<AESTowerField128b> for AESTowerField16b
source§type Output = AESTowerField128b
type Output = AESTowerField128b
The resulting type after applying the
+
operator.source§impl Add<AESTowerField128b> for AESTowerField32b
impl Add<AESTowerField128b> for AESTowerField32b
source§type Output = AESTowerField128b
type Output = AESTowerField128b
The resulting type after applying the
+
operator.source§impl Add<AESTowerField128b> for AESTowerField64b
impl Add<AESTowerField128b> for AESTowerField64b
source§type Output = AESTowerField128b
type Output = AESTowerField128b
The resulting type after applying the
+
operator.source§impl Add<AESTowerField128b> for AESTowerField8b
impl Add<AESTowerField128b> for AESTowerField8b
source§type Output = AESTowerField128b
type Output = AESTowerField128b
The resulting type after applying the
+
operator.source§impl Add<AESTowerField128b> for BinaryField1b
impl Add<AESTowerField128b> for BinaryField1b
source§type Output = AESTowerField128b
type Output = AESTowerField128b
The resulting type after applying the
+
operator.source§impl Add<AESTowerField16b> for AESTowerField128b
impl Add<AESTowerField16b> for AESTowerField128b
source§type Output = AESTowerField128b
type Output = AESTowerField128b
The resulting type after applying the
+
operator.source§impl Add<AESTowerField32b> for AESTowerField128b
impl Add<AESTowerField32b> for AESTowerField128b
source§type Output = AESTowerField128b
type Output = AESTowerField128b
The resulting type after applying the
+
operator.source§impl Add<AESTowerField64b> for AESTowerField128b
impl Add<AESTowerField64b> for AESTowerField128b
source§type Output = AESTowerField128b
type Output = AESTowerField128b
The resulting type after applying the
+
operator.source§impl Add<AESTowerField8b> for AESTowerField128b
impl Add<AESTowerField8b> for AESTowerField128b
source§type Output = AESTowerField128b
type Output = AESTowerField128b
The resulting type after applying the
+
operator.source§impl Add<BinaryField1b> for AESTowerField128b
impl Add<BinaryField1b> for AESTowerField128b
source§type Output = AESTowerField128b
type Output = AESTowerField128b
The resulting type after applying the
+
operator.source§impl Add for AESTowerField128b
impl Add for AESTowerField128b
source§impl AddAssign<&AESTowerField128b> for AESTowerField128b
impl AddAssign<&AESTowerField128b> for AESTowerField128b
source§fn add_assign(&mut self, rhs: &Self)
fn add_assign(&mut self, rhs: &Self)
Performs the
+=
operation. Read moresource§impl AddAssign<AESTowerField16b> for AESTowerField128b
impl AddAssign<AESTowerField16b> for AESTowerField128b
source§fn add_assign(&mut self, rhs: AESTowerField16b)
fn add_assign(&mut self, rhs: AESTowerField16b)
Performs the
+=
operation. Read moresource§impl AddAssign<AESTowerField32b> for AESTowerField128b
impl AddAssign<AESTowerField32b> for AESTowerField128b
source§fn add_assign(&mut self, rhs: AESTowerField32b)
fn add_assign(&mut self, rhs: AESTowerField32b)
Performs the
+=
operation. Read moresource§impl AddAssign<AESTowerField64b> for AESTowerField128b
impl AddAssign<AESTowerField64b> for AESTowerField128b
source§fn add_assign(&mut self, rhs: AESTowerField64b)
fn add_assign(&mut self, rhs: AESTowerField64b)
Performs the
+=
operation. Read moresource§impl AddAssign<AESTowerField8b> for AESTowerField128b
impl AddAssign<AESTowerField8b> for AESTowerField128b
source§fn add_assign(&mut self, rhs: AESTowerField8b)
fn add_assign(&mut self, rhs: AESTowerField8b)
Performs the
+=
operation. Read moresource§impl AddAssign<BinaryField1b> for AESTowerField128b
impl AddAssign<BinaryField1b> for AESTowerField128b
source§fn add_assign(&mut self, rhs: BinaryField1b)
fn add_assign(&mut self, rhs: BinaryField1b)
Performs the
+=
operation. Read moresource§impl AddAssign for AESTowerField128b
impl AddAssign for AESTowerField128b
source§fn add_assign(&mut self, rhs: Self)
fn add_assign(&mut self, rhs: Self)
Performs the
+=
operation. Read moresource§impl AsSinglePacked for AESTowerField128b
impl AsSinglePacked for AESTowerField128b
type Packed = PackedPrimitiveType<M128, AESTowerField128b>
fn to_single_packed(self) -> Self::Packed
fn from_single_packed(value: Self::Packed) -> Self
source§impl BinaryField for AESTowerField128b
impl BinaryField for AESTowerField128b
const MULTIPLICATIVE_GENERATOR: AESTowerField128b = _
const N_BITS: usize = Self::DEGREE
source§impl Clone for AESTowerField128b
impl Clone for AESTowerField128b
source§fn clone(&self) -> AESTowerField128b
fn clone(&self) -> AESTowerField128b
Returns a copy of the value. Read more
1.6.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl ConditionallySelectable for AESTowerField128b
impl ConditionallySelectable for AESTowerField128b
source§fn conditional_select(a: &Self, b: &Self, choice: Choice) -> Self
fn conditional_select(a: &Self, b: &Self, choice: Choice) -> Self
source§fn conditional_assign(&mut self, other: &Self, choice: Choice)
fn conditional_assign(&mut self, other: &Self, choice: Choice)
source§fn conditional_swap(a: &mut Self, b: &mut Self, choice: Choice)
fn conditional_swap(a: &mut Self, b: &mut Self, choice: Choice)
Conditionally swap
self
and other
if choice == 1
; otherwise,
reassign both unto themselves. Read moresource§impl ConstantTimeEq for AESTowerField128b
impl ConstantTimeEq for AESTowerField128b
source§impl Debug for AESTowerField128b
impl Debug for AESTowerField128b
source§impl Default for AESTowerField128b
impl Default for AESTowerField128b
source§fn default() -> AESTowerField128b
fn default() -> AESTowerField128b
Returns the “default value” for a type. Read more
source§impl Display for AESTowerField128b
impl Display for AESTowerField128b
source§impl ExtensionField<AESTowerField16b> for AESTowerField128b
impl ExtensionField<AESTowerField16b> for AESTowerField128b
const DEGREE: usize = 8usize
type Iterator = <[AESTowerField16b; 8] as IntoIterator>::IntoIter
fn basis(i: usize) -> Result<Self, Error>
fn from_bases_sparse( base_elems: &[AESTowerField16b], log_stride: usize, ) -> Result<Self, Error>
fn iter_bases(&self) -> Self::Iterator
fn from_bases(base_elems: &[F]) -> Result<Self, Error>
source§impl ExtensionField<AESTowerField32b> for AESTowerField128b
impl ExtensionField<AESTowerField32b> for AESTowerField128b
const DEGREE: usize = 4usize
type Iterator = <[AESTowerField32b; 4] as IntoIterator>::IntoIter
fn basis(i: usize) -> Result<Self, Error>
fn from_bases_sparse( base_elems: &[AESTowerField32b], log_stride: usize, ) -> Result<Self, Error>
fn iter_bases(&self) -> Self::Iterator
fn from_bases(base_elems: &[F]) -> Result<Self, Error>
source§impl ExtensionField<AESTowerField64b> for AESTowerField128b
impl ExtensionField<AESTowerField64b> for AESTowerField128b
const DEGREE: usize = 2usize
type Iterator = <[AESTowerField64b; 2] as IntoIterator>::IntoIter
fn basis(i: usize) -> Result<Self, Error>
fn from_bases_sparse( base_elems: &[AESTowerField64b], log_stride: usize, ) -> Result<Self, Error>
fn iter_bases(&self) -> Self::Iterator
fn from_bases(base_elems: &[F]) -> Result<Self, Error>
source§impl ExtensionField<AESTowerField8b> for AESTowerField128b
impl ExtensionField<AESTowerField8b> for AESTowerField128b
const DEGREE: usize = 16usize
type Iterator = <[AESTowerField8b; 16] as IntoIterator>::IntoIter
fn basis(i: usize) -> Result<Self, Error>
fn from_bases_sparse( base_elems: &[AESTowerField8b], log_stride: usize, ) -> Result<Self, Error>
fn iter_bases(&self) -> Self::Iterator
fn from_bases(base_elems: &[F]) -> Result<Self, Error>
source§impl ExtensionField<BinaryField1b> for AESTowerField128b
impl ExtensionField<BinaryField1b> for AESTowerField128b
const DEGREE: usize = 128usize
type Iterator = <[BinaryField1b; 128] as IntoIterator>::IntoIter
fn basis(i: usize) -> Result<Self, Error>
fn from_bases_sparse( base_elems: &[BinaryField1b], log_stride: usize, ) -> Result<Self, Error>
fn iter_bases(&self) -> Self::Iterator
fn from_bases(base_elems: &[F]) -> Result<Self, Error>
source§impl Field for AESTowerField128b
impl Field for AESTowerField128b
source§impl From<(AESTowerField64b, AESTowerField64b)> for AESTowerField128b
impl From<(AESTowerField64b, AESTowerField64b)> for AESTowerField128b
source§fn from((a, b): (AESTowerField64b, AESTowerField64b)) -> Self
fn from((a, b): (AESTowerField64b, AESTowerField64b)) -> Self
Converts to this type from the input type.
source§impl From<AESTowerField128b> for (AESTowerField64b, AESTowerField64b)
impl From<AESTowerField128b> for (AESTowerField64b, AESTowerField64b)
source§fn from(src: AESTowerField128b) -> (AESTowerField64b, AESTowerField64b)
fn from(src: AESTowerField128b) -> (AESTowerField64b, AESTowerField64b)
Converts to this type from the input type.
source§impl From<AESTowerField128b> for BinaryField128b
impl From<AESTowerField128b> for BinaryField128b
source§fn from(value: AESTowerField128b) -> Self
fn from(value: AESTowerField128b) -> Self
Converts to this type from the input type.
source§impl From<AESTowerField128b> for u128
impl From<AESTowerField128b> for u128
source§fn from(val: AESTowerField128b) -> Self
fn from(val: AESTowerField128b) -> Self
Converts to this type from the input type.
source§impl From<AESTowerField16b> for AESTowerField128b
impl From<AESTowerField16b> for AESTowerField128b
source§fn from(elem: AESTowerField16b) -> Self
fn from(elem: AESTowerField16b) -> Self
Converts to this type from the input type.
source§impl From<AESTowerField32b> for AESTowerField128b
impl From<AESTowerField32b> for AESTowerField128b
source§fn from(elem: AESTowerField32b) -> Self
fn from(elem: AESTowerField32b) -> Self
Converts to this type from the input type.
source§impl From<AESTowerField64b> for AESTowerField128b
impl From<AESTowerField64b> for AESTowerField128b
source§fn from(elem: AESTowerField64b) -> Self
fn from(elem: AESTowerField64b) -> Self
Converts to this type from the input type.
source§impl From<AESTowerField8b> for AESTowerField128b
impl From<AESTowerField8b> for AESTowerField128b
source§fn from(elem: AESTowerField8b) -> Self
fn from(elem: AESTowerField8b) -> Self
Converts to this type from the input type.
source§impl From<BinaryField128b> for AESTowerField128b
impl From<BinaryField128b> for AESTowerField128b
source§fn from(value: BinaryField128b) -> Self
fn from(value: BinaryField128b) -> Self
Converts to this type from the input type.
source§impl From<BinaryField1b> for AESTowerField128b
impl From<BinaryField1b> for AESTowerField128b
source§fn from(elem: BinaryField1b) -> Self
fn from(elem: BinaryField1b) -> Self
Converts to this type from the input type.
source§impl From<u128> for AESTowerField128b
impl From<u128> for AESTowerField128b
source§impl Hash for AESTowerField128b
impl Hash for AESTowerField128b
source§impl InvertOrZero for AESTowerField128b
impl InvertOrZero for AESTowerField128b
source§fn invert_or_zero(self) -> Self
fn invert_or_zero(self) -> Self
Returns the inverted value or zero in case when
self
is zerosource§impl Mul<&AESTowerField128b> for AESTowerField128b
impl Mul<&AESTowerField128b> for AESTowerField128b
source§impl Mul<AESTowerField128b> for AESTowerField16b
impl Mul<AESTowerField128b> for AESTowerField16b
source§type Output = AESTowerField128b
type Output = AESTowerField128b
The resulting type after applying the
*
operator.source§impl Mul<AESTowerField128b> for AESTowerField32b
impl Mul<AESTowerField128b> for AESTowerField32b
source§type Output = AESTowerField128b
type Output = AESTowerField128b
The resulting type after applying the
*
operator.source§impl Mul<AESTowerField128b> for AESTowerField64b
impl Mul<AESTowerField128b> for AESTowerField64b
source§type Output = AESTowerField128b
type Output = AESTowerField128b
The resulting type after applying the
*
operator.source§impl Mul<AESTowerField128b> for AESTowerField8b
impl Mul<AESTowerField128b> for AESTowerField8b
source§type Output = AESTowerField128b
type Output = AESTowerField128b
The resulting type after applying the
*
operator.source§impl Mul<AESTowerField128b> for BinaryField1b
impl Mul<AESTowerField128b> for BinaryField1b
source§type Output = AESTowerField128b
type Output = AESTowerField128b
The resulting type after applying the
*
operator.source§impl Mul<AESTowerField16b> for AESTowerField128b
impl Mul<AESTowerField16b> for AESTowerField128b
source§type Output = AESTowerField128b
type Output = AESTowerField128b
The resulting type after applying the
*
operator.source§impl Mul<AESTowerField32b> for AESTowerField128b
impl Mul<AESTowerField32b> for AESTowerField128b
source§type Output = AESTowerField128b
type Output = AESTowerField128b
The resulting type after applying the
*
operator.source§impl Mul<AESTowerField64b> for AESTowerField128b
impl Mul<AESTowerField64b> for AESTowerField128b
source§type Output = AESTowerField128b
type Output = AESTowerField128b
The resulting type after applying the
*
operator.source§impl Mul<AESTowerField8b> for AESTowerField128b
impl Mul<AESTowerField8b> for AESTowerField128b
source§type Output = AESTowerField128b
type Output = AESTowerField128b
The resulting type after applying the
*
operator.source§impl Mul<BinaryField1b> for AESTowerField128b
impl Mul<BinaryField1b> for AESTowerField128b
source§type Output = AESTowerField128b
type Output = AESTowerField128b
The resulting type after applying the
*
operator.source§impl Mul for AESTowerField128b
impl Mul for AESTowerField128b
source§impl MulAssign<&AESTowerField128b> for AESTowerField128b
impl MulAssign<&AESTowerField128b> for AESTowerField128b
source§fn mul_assign(&mut self, rhs: &Self)
fn mul_assign(&mut self, rhs: &Self)
Performs the
*=
operation. Read moresource§impl MulAssign<AESTowerField16b> for AESTowerField128b
impl MulAssign<AESTowerField16b> for AESTowerField128b
source§fn mul_assign(&mut self, rhs: AESTowerField16b)
fn mul_assign(&mut self, rhs: AESTowerField16b)
Performs the
*=
operation. Read moresource§impl MulAssign<AESTowerField32b> for AESTowerField128b
impl MulAssign<AESTowerField32b> for AESTowerField128b
source§fn mul_assign(&mut self, rhs: AESTowerField32b)
fn mul_assign(&mut self, rhs: AESTowerField32b)
Performs the
*=
operation. Read moresource§impl MulAssign<AESTowerField64b> for AESTowerField128b
impl MulAssign<AESTowerField64b> for AESTowerField128b
source§fn mul_assign(&mut self, rhs: AESTowerField64b)
fn mul_assign(&mut self, rhs: AESTowerField64b)
Performs the
*=
operation. Read moresource§impl MulAssign<AESTowerField8b> for AESTowerField128b
impl MulAssign<AESTowerField8b> for AESTowerField128b
source§fn mul_assign(&mut self, rhs: AESTowerField8b)
fn mul_assign(&mut self, rhs: AESTowerField8b)
Performs the
*=
operation. Read moresource§impl MulAssign<BinaryField1b> for AESTowerField128b
impl MulAssign<BinaryField1b> for AESTowerField128b
source§fn mul_assign(&mut self, rhs: BinaryField1b)
fn mul_assign(&mut self, rhs: BinaryField1b)
Performs the
*=
operation. Read moresource§impl MulAssign for AESTowerField128b
impl MulAssign for AESTowerField128b
source§fn mul_assign(&mut self, rhs: Self)
fn mul_assign(&mut self, rhs: Self)
Performs the
*=
operation. Read moresource§impl Neg for AESTowerField128b
impl Neg for AESTowerField128b
source§impl Ord for AESTowerField128b
impl Ord for AESTowerField128b
source§fn cmp(&self, other: &AESTowerField128b) -> Ordering
fn cmp(&self, other: &AESTowerField128b) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
source§impl PartialEq for AESTowerField128b
impl PartialEq for AESTowerField128b
source§impl PartialOrd for AESTowerField128b
impl PartialOrd for AESTowerField128b
source§impl<'a> Product<&'a AESTowerField128b> for AESTowerField128b
impl<'a> Product<&'a AESTowerField128b> for AESTowerField128b
source§impl Product for AESTowerField128b
impl Product for AESTowerField128b
source§impl Square for AESTowerField128b
impl Square for AESTowerField128b
source§impl Step for AESTowerField128b
impl Step for AESTowerField128b
source§fn steps_between(start: &Self, end: &Self) -> Option<usize>
fn steps_between(start: &Self, end: &Self) -> Option<usize>
🔬This is a nightly-only experimental API. (
step_trait
)source§fn forward_checked(start: Self, count: usize) -> Option<Self>
fn forward_checked(start: Self, count: usize) -> Option<Self>
🔬This is a nightly-only experimental API. (
step_trait
)source§fn backward_checked(start: Self, count: usize) -> Option<Self>
fn backward_checked(start: Self, count: usize) -> Option<Self>
🔬This is a nightly-only experimental API. (
step_trait
)source§fn forward(start: Self, count: usize) -> Self
fn forward(start: Self, count: usize) -> Self
🔬This is a nightly-only experimental API. (
step_trait
)source§unsafe fn forward_unchecked(start: Self, count: usize) -> Self
unsafe fn forward_unchecked(start: Self, count: usize) -> Self
🔬This is a nightly-only experimental API. (
step_trait
)source§fn backward(start: Self, count: usize) -> Self
fn backward(start: Self, count: usize) -> Self
🔬This is a nightly-only experimental API. (
step_trait
)source§unsafe fn backward_unchecked(start: Self, count: usize) -> Self
unsafe fn backward_unchecked(start: Self, count: usize) -> Self
🔬This is a nightly-only experimental API. (
step_trait
)source§impl Sub<&AESTowerField128b> for AESTowerField128b
impl Sub<&AESTowerField128b> for AESTowerField128b
source§impl Sub<AESTowerField128b> for AESTowerField16b
impl Sub<AESTowerField128b> for AESTowerField16b
source§type Output = AESTowerField128b
type Output = AESTowerField128b
The resulting type after applying the
-
operator.source§impl Sub<AESTowerField128b> for AESTowerField32b
impl Sub<AESTowerField128b> for AESTowerField32b
source§type Output = AESTowerField128b
type Output = AESTowerField128b
The resulting type after applying the
-
operator.source§impl Sub<AESTowerField128b> for AESTowerField64b
impl Sub<AESTowerField128b> for AESTowerField64b
source§type Output = AESTowerField128b
type Output = AESTowerField128b
The resulting type after applying the
-
operator.source§impl Sub<AESTowerField128b> for AESTowerField8b
impl Sub<AESTowerField128b> for AESTowerField8b
source§type Output = AESTowerField128b
type Output = AESTowerField128b
The resulting type after applying the
-
operator.source§impl Sub<AESTowerField128b> for BinaryField1b
impl Sub<AESTowerField128b> for BinaryField1b
source§type Output = AESTowerField128b
type Output = AESTowerField128b
The resulting type after applying the
-
operator.source§impl Sub<AESTowerField16b> for AESTowerField128b
impl Sub<AESTowerField16b> for AESTowerField128b
source§type Output = AESTowerField128b
type Output = AESTowerField128b
The resulting type after applying the
-
operator.source§impl Sub<AESTowerField32b> for AESTowerField128b
impl Sub<AESTowerField32b> for AESTowerField128b
source§type Output = AESTowerField128b
type Output = AESTowerField128b
The resulting type after applying the
-
operator.source§impl Sub<AESTowerField64b> for AESTowerField128b
impl Sub<AESTowerField64b> for AESTowerField128b
source§type Output = AESTowerField128b
type Output = AESTowerField128b
The resulting type after applying the
-
operator.source§impl Sub<AESTowerField8b> for AESTowerField128b
impl Sub<AESTowerField8b> for AESTowerField128b
source§type Output = AESTowerField128b
type Output = AESTowerField128b
The resulting type after applying the
-
operator.source§impl Sub<BinaryField1b> for AESTowerField128b
impl Sub<BinaryField1b> for AESTowerField128b
source§type Output = AESTowerField128b
type Output = AESTowerField128b
The resulting type after applying the
-
operator.source§impl Sub for AESTowerField128b
impl Sub for AESTowerField128b
source§impl SubAssign<&AESTowerField128b> for AESTowerField128b
impl SubAssign<&AESTowerField128b> for AESTowerField128b
source§fn sub_assign(&mut self, rhs: &Self)
fn sub_assign(&mut self, rhs: &Self)
Performs the
-=
operation. Read moresource§impl SubAssign<AESTowerField16b> for AESTowerField128b
impl SubAssign<AESTowerField16b> for AESTowerField128b
source§fn sub_assign(&mut self, rhs: AESTowerField16b)
fn sub_assign(&mut self, rhs: AESTowerField16b)
Performs the
-=
operation. Read moresource§impl SubAssign<AESTowerField32b> for AESTowerField128b
impl SubAssign<AESTowerField32b> for AESTowerField128b
source§fn sub_assign(&mut self, rhs: AESTowerField32b)
fn sub_assign(&mut self, rhs: AESTowerField32b)
Performs the
-=
operation. Read moresource§impl SubAssign<AESTowerField64b> for AESTowerField128b
impl SubAssign<AESTowerField64b> for AESTowerField128b
source§fn sub_assign(&mut self, rhs: AESTowerField64b)
fn sub_assign(&mut self, rhs: AESTowerField64b)
Performs the
-=
operation. Read moresource§impl SubAssign<AESTowerField8b> for AESTowerField128b
impl SubAssign<AESTowerField8b> for AESTowerField128b
source§fn sub_assign(&mut self, rhs: AESTowerField8b)
fn sub_assign(&mut self, rhs: AESTowerField8b)
Performs the
-=
operation. Read moresource§impl SubAssign<BinaryField1b> for AESTowerField128b
impl SubAssign<BinaryField1b> for AESTowerField128b
source§fn sub_assign(&mut self, rhs: BinaryField1b)
fn sub_assign(&mut self, rhs: BinaryField1b)
Performs the
-=
operation. Read moresource§impl SubAssign for AESTowerField128b
impl SubAssign for AESTowerField128b
source§fn sub_assign(&mut self, rhs: Self)
fn sub_assign(&mut self, rhs: Self)
Performs the
-=
operation. Read moresource§impl<'a> Sum<&'a AESTowerField128b> for AESTowerField128b
impl<'a> Sum<&'a AESTowerField128b> for AESTowerField128b
source§impl Sum for AESTowerField128b
impl Sum for AESTowerField128b
source§impl TowerField for AESTowerField128b
impl TowerField for AESTowerField128b
source§const TOWER_LEVEL: usize = 7usize
const TOWER_LEVEL: usize = 7usize
The level $\iota$ in the tower, where this field is isomorphic to $T_{\iota}$.
source§fn mul_primitive(self, iota: usize) -> Result<Self, Error>
fn mul_primitive(self, iota: usize) -> Result<Self, Error>
Multiplies a field element by the canonical primitive element of the extension $T_{\iota + 1} / T_{iota}$. Read more
fn basis(iota: usize, i: usize) -> Result<Self, Error>
source§impl TransparentWrapper<u128> for AESTowerField128b
impl TransparentWrapper<u128> for AESTowerField128b
§fn wrap_ref(s: &Inner) -> &Self
fn wrap_ref(s: &Inner) -> &Self
Convert a reference to the inner type into a reference to the wrapper
type.
§fn wrap_mut(s: &mut Inner) -> &mut Self
fn wrap_mut(s: &mut Inner) -> &mut Self
Convert a mutable reference to the inner type into a mutable reference to
the wrapper type.
§fn wrap_slice(s: &[Inner]) -> &[Self]where
Self: Sized,
fn wrap_slice(s: &[Inner]) -> &[Self]where
Self: Sized,
Convert a slice to the inner type into a slice to the wrapper type.
§fn wrap_slice_mut(s: &mut [Inner]) -> &mut [Self]where
Self: Sized,
fn wrap_slice_mut(s: &mut [Inner]) -> &mut [Self]where
Self: Sized,
Convert a mutable slice to the inner type into a mutable slice to the
wrapper type.
§fn peel_ref(s: &Self) -> &Inner
fn peel_ref(s: &Self) -> &Inner
Convert a reference to the wrapper type into a reference to the inner
type.
§fn peel_mut(s: &mut Self) -> &mut Inner
fn peel_mut(s: &mut Self) -> &mut Inner
Convert a mutable reference to the wrapper type into a mutable reference
to the inner type.
§fn peel_slice(s: &[Self]) -> &[Inner]where
Self: Sized,
fn peel_slice(s: &[Self]) -> &[Inner]where
Self: Sized,
Convert a slice to the wrapped type into a slice to the inner type.
§fn peel_slice_mut(s: &mut [Self]) -> &mut [Inner]where
Self: Sized,
fn peel_slice_mut(s: &mut [Self]) -> &mut [Inner]where
Self: Sized,
Convert a mutable slice to the wrapped type into a mutable slice to the
inner type.
source§impl TryFrom<AESTowerField128b> for AESTowerField16b
impl TryFrom<AESTowerField128b> for AESTowerField16b
source§impl TryFrom<AESTowerField128b> for AESTowerField32b
impl TryFrom<AESTowerField128b> for AESTowerField32b
source§impl TryFrom<AESTowerField128b> for AESTowerField64b
impl TryFrom<AESTowerField128b> for AESTowerField64b
source§impl TryFrom<AESTowerField128b> for AESTowerField8b
impl TryFrom<AESTowerField128b> for AESTowerField8b
source§impl TryFrom<AESTowerField128b> for BinaryField1b
impl TryFrom<AESTowerField128b> for BinaryField1b
source§impl WithUnderlier for AESTowerField128b
impl WithUnderlier for AESTowerField128b
source§fn to_underlier(self) -> Self::Underlier
fn to_underlier(self) -> Self::Underlier
Convert value to underlier.
fn to_underlier_ref(&self) -> &Self::Underlier
fn to_underlier_ref_mut(&mut self) -> &mut Self::Underlier
fn to_underliers_ref(val: &[Self]) -> &[Self::Underlier]
fn to_underliers_ref_mut(val: &mut [Self]) -> &mut [Self::Underlier]
fn from_underlier(val: Self::Underlier) -> Self
fn from_underlier_ref(val: &Self::Underlier) -> &Self
fn from_underlier_ref_mut(val: &mut Self::Underlier) -> &mut Self
fn from_underliers_ref(val: &[Self::Underlier]) -> &[Self]
fn from_underliers_ref_mut(val: &mut [Self::Underlier]) -> &mut [Self]
fn mutate_underlier( self, f: impl FnOnce(Self::Underlier) -> Self::Underlier, ) -> Self
impl Copy for AESTowerField128b
impl Eq for AESTowerField128b
impl Pod for AESTowerField128b
impl StructuralPartialEq for AESTowerField128b
Auto Trait Implementations§
impl Freeze for AESTowerField128b
impl RefUnwindSafe for AESTowerField128b
impl Send for AESTowerField128b
impl Sync for AESTowerField128b
impl Unpin for AESTowerField128b
impl UnwindSafe for AESTowerField128b
Blanket Implementations§
source§impl<F> ArchOptimal for Fwhere
F: Field,
M128: PackScalar<F>,
impl<F> ArchOptimal for Fwhere
F: Field,
M128: PackScalar<F>,
type OptimalThroughputPacked = <M128 as PackScalar<F>>::Packed
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§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<F> ExtensionField<F> for Fwhere
F: Field,
impl<F> ExtensionField<F> for Fwhere
F: Field,
const DEGREE: usize = 1usize
type Iterator = Once<F>
fn basis(i: usize) -> Result<F, Error>
fn from_bases_sparse(base_elems: &[F], log_stride: usize) -> Result<F, Error>
fn iter_bases(&self) -> <F as ExtensionField<F>>::Iterator
fn from_bases(base_elems: &[F]) -> Result<Self, Error>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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 moresource§impl<F, PT> PackedExtensionIndexable<F> for PTwhere
F: Field,
PT: PackedExtension<F>,
<PT as PackedField>::Scalar: ExtensionField<F>,
<PT as PackedExtension<F>>::PackedSubfield: PackedFieldIndexable,
impl<F, PT> PackedExtensionIndexable<F> for PTwhere
F: Field,
PT: PackedExtension<F>,
<PT as PackedField>::Scalar: ExtensionField<F>,
<PT as PackedExtension<F>>::PackedSubfield: PackedFieldIndexable,
fn unpack_base_scalars(packed: &[Self]) -> &[F]
fn unpack_base_scalars_mut(packed: &mut [Self]) -> &mut [F]
source§impl<F> PackedField for Fwhere
F: Field,
impl<F> PackedField for Fwhere
F: Field,
source§const LOG_WIDTH: usize = 0usize
const LOG_WIDTH: usize = 0usize
Base-2 logarithm of the number of field elements packed into one packed element.
type Scalar = F
source§unsafe fn get_unchecked(&self, _i: usize) -> <F as PackedField>::Scalar
unsafe fn get_unchecked(&self, _i: usize) -> <F as PackedField>::Scalar
Get the scalar at a given index without bounds checking. Read more
source§unsafe fn set_unchecked(
&mut self,
_i: usize,
scalar: <F as PackedField>::Scalar,
)
unsafe fn set_unchecked( &mut self, _i: usize, scalar: <F as PackedField>::Scalar, )
Set the scalar at a given index without bounds checking. Read more
fn iter(&self) -> impl Iterator<Item = <F as PackedField>::Scalar>
fn random(rng: impl RngCore) -> F
source§fn interleave(self, _other: F, _log_block_len: usize) -> (F, F)
fn interleave(self, _other: F, _log_block_len: usize) -> (F, F)
Interleaves blocks of this packed vector with another packed vector. Read more
fn broadcast(scalar: <F as PackedField>::Scalar) -> F
source§fn invert_or_zero(self) -> F
fn invert_or_zero(self) -> F
Returns the packed inverse values or zeroes at indices where
self
is zero.source§fn from_fn(f: impl FnMut(usize) -> <F as PackedField>::Scalar) -> F
fn from_fn(f: impl FnMut(usize) -> <F as PackedField>::Scalar) -> F
Construct a packed field element from a function that returns scalar values by index.
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>
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 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§impl<S, P> PackedFieldIndexable for Pwhere
S: Field,
P: PackedDivisible<S, Scalar = S>,
impl<S, P> PackedFieldIndexable for Pwhere
S: Field,
P: PackedDivisible<S, Scalar = S>,
fn unpack_scalars(packed: &[P]) -> &[<P as PackedField>::Scalar]
fn unpack_scalars_mut(packed: &mut [P]) -> &mut [<P as PackedField>::Scalar]
§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<PT> TaggedInvertOrZero<PackedStrategy> for PTwhere
PT: PackedTowerField,
<PT as PackedTowerField>::PackedDirectSubfield: MulAlpha,
<PT as WithUnderlier>::Underlier: UnderlierWithBitConstants,
impl<PT> TaggedInvertOrZero<PackedStrategy> for PTwhere
PT: PackedTowerField,
<PT as PackedTowerField>::PackedDirectSubfield: MulAlpha,
<PT as WithUnderlier>::Underlier: UnderlierWithBitConstants,
fn invert_or_zero(self) -> PT
source§impl<P> TaggedInvertOrZero<PairwiseRecursiveStrategy> for Pwhere
P: PackedField,
<P as PackedField>::Scalar: TowerExtensionField,
<<P as PackedField>::Scalar as TowerExtensionField>::DirectSubfield: MulAlpha + InvertOrZero,
impl<P> TaggedInvertOrZero<PairwiseRecursiveStrategy> for Pwhere
P: PackedField,
<P as PackedField>::Scalar: TowerExtensionField,
<<P as PackedField>::Scalar as TowerExtensionField>::DirectSubfield: MulAlpha + InvertOrZero,
fn invert_or_zero(self) -> P
source§impl<PT> TaggedInvertOrZero<PairwiseStrategy> for PT
impl<PT> TaggedInvertOrZero<PairwiseStrategy> for PT
fn invert_or_zero(self) -> PT
source§impl<P> TaggedMul<HybridRecursiveStrategy> for Pwhere
P: PackedTowerField,
<P as PackedField>::Scalar: TowerExtensionField<DirectSubfield = <P as PackedTowerField>::DirectSubfield>,
<P as PackedTowerField>::PackedDirectSubfield: MulAlpha,
<P as PackedTowerField>::DirectSubfield: MulAlpha,
impl<P> TaggedMul<HybridRecursiveStrategy> for Pwhere
P: PackedTowerField,
<P as PackedField>::Scalar: TowerExtensionField<DirectSubfield = <P as PackedTowerField>::DirectSubfield>,
<P as PackedTowerField>::PackedDirectSubfield: MulAlpha,
<P as PackedTowerField>::DirectSubfield: MulAlpha,
source§impl<PT> TaggedMul<PackedStrategy> for PTwhere
PT: PackedTowerField,
<PT as WithUnderlier>::Underlier: UnderlierWithBitConstants,
<PT as PackedTowerField>::DirectSubfield: TowerConstants<<PT as WithUnderlier>::Underlier>,
impl<PT> TaggedMul<PackedStrategy> for PTwhere
PT: PackedTowerField,
<PT as WithUnderlier>::Underlier: UnderlierWithBitConstants,
<PT as PackedTowerField>::DirectSubfield: TowerConstants<<PT as WithUnderlier>::Underlier>,
source§impl<P> TaggedMul<PairwiseRecursiveStrategy> for Pwhere
P: PackedField,
<P as PackedField>::Scalar: TowerExtensionField,
<<P as PackedField>::Scalar as TowerExtensionField>::DirectSubfield: MulAlpha,
impl<P> TaggedMul<PairwiseRecursiveStrategy> for Pwhere
P: PackedField,
<P as PackedField>::Scalar: TowerExtensionField,
<<P as PackedField>::Scalar as TowerExtensionField>::DirectSubfield: MulAlpha,
source§impl<PT> TaggedMul<PairwiseStrategy> for PTwhere
PT: PackedField,
impl<PT> TaggedMul<PairwiseStrategy> for PTwhere
PT: PackedField,
source§impl<P> TaggedMulAlpha<HybridRecursiveStrategy> for Pwhere
P: PackedTowerField,
<P as PackedField>::Scalar: TowerExtensionField<DirectSubfield = <P as PackedTowerField>::DirectSubfield>,
<P as PackedTowerField>::PackedDirectSubfield: MulAlpha,
impl<P> TaggedMulAlpha<HybridRecursiveStrategy> for Pwhere
P: PackedTowerField,
<P as PackedField>::Scalar: TowerExtensionField<DirectSubfield = <P as PackedTowerField>::DirectSubfield>,
<P as PackedTowerField>::PackedDirectSubfield: MulAlpha,
source§impl<PT> TaggedMulAlpha<PackedStrategy> for PTwhere
PT: PackedTowerField,
<PT as PackedTowerField>::PackedDirectSubfield: MulAlpha,
<PT as WithUnderlier>::Underlier: UnderlierWithBitConstants,
impl<PT> TaggedMulAlpha<PackedStrategy> for PTwhere
PT: PackedTowerField,
<PT as PackedTowerField>::PackedDirectSubfield: MulAlpha,
<PT as WithUnderlier>::Underlier: UnderlierWithBitConstants,
source§impl<P> TaggedMulAlpha<PairwiseRecursiveStrategy> for Pwhere
P: PackedField,
<P as PackedField>::Scalar: TowerExtensionField,
<<P as PackedField>::Scalar as TowerExtensionField>::DirectSubfield: MulAlpha,
impl<P> TaggedMulAlpha<PairwiseRecursiveStrategy> for Pwhere
P: PackedField,
<P as PackedField>::Scalar: TowerExtensionField,
<<P as PackedField>::Scalar as TowerExtensionField>::DirectSubfield: MulAlpha,
source§impl<PT> TaggedMulAlpha<PairwiseStrategy> for PT
impl<PT> TaggedMulAlpha<PairwiseStrategy> for PT
source§impl<IP, OP> TaggedPackedTransformationFactory<PackedStrategy, OP> for IPwhere
IP: PackedBinaryField + WithUnderlier,
<IP as WithUnderlier>::Underlier: UnderlierWithBitOps,
OP: PackedBinaryField + WithUnderlier<Underlier = <IP as WithUnderlier>::Underlier>,
impl<IP, OP> TaggedPackedTransformationFactory<PackedStrategy, OP> for IPwhere
IP: PackedBinaryField + WithUnderlier,
<IP as WithUnderlier>::Underlier: UnderlierWithBitOps,
OP: PackedBinaryField + WithUnderlier<Underlier = <IP as WithUnderlier>::Underlier>,
type PackedTransformation<Data: Deref<Target = [<OP as PackedField>::Scalar]>> = PackedTransformation<OP>
fn make_packed_transformation<Data>( transformation: FieldLinearTransformation<<OP as PackedField>::Scalar, Data>, ) -> <IP as TaggedPackedTransformationFactory<PackedStrategy, OP>>::PackedTransformation<Data>
source§impl<IP, OP> TaggedPackedTransformationFactory<PairwiseStrategy, OP> for IPwhere
IP: PackedBinaryField,
OP: PackedBinaryField,
impl<IP, OP> TaggedPackedTransformationFactory<PairwiseStrategy, OP> for IPwhere
IP: PackedBinaryField,
OP: PackedBinaryField,
type PackedTransformation<Data: Deref<Target = [<OP as PackedField>::Scalar]>> = PairwiseTransformation<FieldLinearTransformation<<OP as PackedField>::Scalar, Data>>
fn make_packed_transformation<Data>( transformation: FieldLinearTransformation<<OP as PackedField>::Scalar, Data>, ) -> <IP as TaggedPackedTransformationFactory<PairwiseStrategy, OP>>::PackedTransformation<Data>
source§impl<P> TaggedSquare<HybridRecursiveStrategy> for Pwhere
P: PackedTowerField,
<P as PackedField>::Scalar: TowerExtensionField<DirectSubfield = <P as PackedTowerField>::DirectSubfield>,
<P as PackedTowerField>::DirectSubfield: MulAlpha,
impl<P> TaggedSquare<HybridRecursiveStrategy> for Pwhere
P: PackedTowerField,
<P as PackedField>::Scalar: TowerExtensionField<DirectSubfield = <P as PackedTowerField>::DirectSubfield>,
<P as PackedTowerField>::DirectSubfield: MulAlpha,
source§impl<PT> TaggedSquare<PackedStrategy> for PTwhere
PT: PackedTowerField,
<PT as PackedTowerField>::PackedDirectSubfield: MulAlpha,
<PT as WithUnderlier>::Underlier: UnderlierWithBitConstants,
impl<PT> TaggedSquare<PackedStrategy> for PTwhere
PT: PackedTowerField,
<PT as PackedTowerField>::PackedDirectSubfield: MulAlpha,
<PT as WithUnderlier>::Underlier: UnderlierWithBitConstants,
source§impl<P> TaggedSquare<PairwiseRecursiveStrategy> for Pwhere
P: PackedField,
<P as PackedField>::Scalar: TowerExtensionField,
<<P as PackedField>::Scalar as TowerExtensionField>::DirectSubfield: MulAlpha,
impl<P> TaggedSquare<PairwiseRecursiveStrategy> for Pwhere
P: PackedField,
<P as PackedField>::Scalar: TowerExtensionField,
<<P as PackedField>::Scalar as TowerExtensionField>::DirectSubfield: MulAlpha,
source§impl<PT> TaggedSquare<PairwiseStrategy> for PT
impl<PT> TaggedSquare<PairwiseStrategy> for PT
source§impl<T> TaggedSquare<ReuseMultiplyStrategy> for T
impl<T> TaggedSquare<ReuseMultiplyStrategy> for T
§impl<I, T> TransparentWrapperAlloc<I> for T
impl<I, T> TransparentWrapperAlloc<I> for T
§fn wrap_vec(s: Vec<Inner>) -> Vec<Self>where
Self: Sized,
fn wrap_vec(s: Vec<Inner>) -> Vec<Self>where
Self: Sized,
Convert a vec of the inner type into a vec of the wrapper type.
§fn wrap_box(s: Box<Inner>) -> Box<Self>
fn wrap_box(s: Box<Inner>) -> Box<Self>
Convert a box to the inner type into a box to the wrapper
type.
§fn wrap_rc(s: Rc<Inner>) -> Rc<Self>
fn wrap_rc(s: Rc<Inner>) -> Rc<Self>
Convert an
Rc
to the inner type into an Rc
to the wrapper type.§fn wrap_arc(s: Arc<Inner>) -> Arc<Self>
fn wrap_arc(s: Arc<Inner>) -> Arc<Self>
Convert an
Arc
to the inner type into an Arc
to the wrapper type.§fn peel_vec(s: Vec<Self>) -> Vec<Inner>where
Self: Sized,
fn peel_vec(s: Vec<Self>) -> Vec<Inner>where
Self: Sized,
Convert a vec of the wrapper type into a vec of the inner type.
§fn peel_box(s: Box<Self>) -> Box<Inner>
fn peel_box(s: Box<Self>) -> Box<Inner>
Convert a box to the wrapper type into a box to the inner
type.