pub struct AESTowerField8b(/* private fields */);
Implementations§
Trait Implementations§
source§impl Add<&AESTowerField8b> for AESTowerField8b
impl Add<&AESTowerField8b> for AESTowerField8b
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<AESTowerField16b> for AESTowerField8b
impl Add<AESTowerField16b> for AESTowerField8b
source§type Output = AESTowerField16b
type Output = AESTowerField16b
The resulting type after applying the
+
operator.source§impl Add<AESTowerField32b> for AESTowerField8b
impl Add<AESTowerField32b> for AESTowerField8b
source§type Output = AESTowerField32b
type Output = AESTowerField32b
The resulting type after applying the
+
operator.source§impl Add<AESTowerField64b> for AESTowerField8b
impl Add<AESTowerField64b> for AESTowerField8b
source§type Output = AESTowerField64b
type Output = AESTowerField64b
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<AESTowerField8b> for AESTowerField16b
impl Add<AESTowerField8b> for AESTowerField16b
source§type Output = AESTowerField16b
type Output = AESTowerField16b
The resulting type after applying the
+
operator.source§impl Add<AESTowerField8b> for AESTowerField32b
impl Add<AESTowerField8b> for AESTowerField32b
source§type Output = AESTowerField32b
type Output = AESTowerField32b
The resulting type after applying the
+
operator.source§impl Add<AESTowerField8b> for AESTowerField64b
impl Add<AESTowerField8b> for AESTowerField64b
source§type Output = AESTowerField64b
type Output = AESTowerField64b
The resulting type after applying the
+
operator.source§impl Add<AESTowerField8b> for BinaryField1b
impl Add<AESTowerField8b> for BinaryField1b
source§type Output = AESTowerField8b
type Output = AESTowerField8b
The resulting type after applying the
+
operator.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<BinaryField1b> for AESTowerField8b
impl Add<BinaryField1b> for AESTowerField8b
source§type Output = AESTowerField8b
type Output = AESTowerField8b
The resulting type after applying the
+
operator.source§impl Add for AESTowerField8b
impl Add for AESTowerField8b
source§impl AddAssign<&AESTowerField8b> for AESTowerField8b
impl AddAssign<&AESTowerField8b> for AESTowerField8b
source§fn add_assign(&mut self, rhs: &Self)
fn add_assign(&mut self, rhs: &Self)
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<AESTowerField8b> for AESTowerField16b
impl AddAssign<AESTowerField8b> for AESTowerField16b
source§fn add_assign(&mut self, rhs: AESTowerField8b)
fn add_assign(&mut self, rhs: AESTowerField8b)
Performs the
+=
operation. Read moresource§impl AddAssign<AESTowerField8b> for AESTowerField32b
impl AddAssign<AESTowerField8b> for AESTowerField32b
source§fn add_assign(&mut self, rhs: AESTowerField8b)
fn add_assign(&mut self, rhs: AESTowerField8b)
Performs the
+=
operation. Read moresource§impl AddAssign<AESTowerField8b> for AESTowerField64b
impl AddAssign<AESTowerField8b> for AESTowerField64b
source§fn add_assign(&mut self, rhs: AESTowerField8b)
fn add_assign(&mut self, rhs: AESTowerField8b)
Performs the
+=
operation. Read moresource§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<BinaryField1b> for AESTowerField8b
impl AddAssign<BinaryField1b> for AESTowerField8b
source§fn add_assign(&mut self, rhs: BinaryField1b)
fn add_assign(&mut self, rhs: BinaryField1b)
Performs the
+=
operation. Read moresource§impl AddAssign for AESTowerField8b
impl AddAssign for AESTowerField8b
source§fn add_assign(&mut self, rhs: Self)
fn add_assign(&mut self, rhs: Self)
Performs the
+=
operation. Read moresource§impl AsSinglePacked for AESTowerField8b
impl AsSinglePacked for AESTowerField8b
type Packed = PackedPrimitiveType<u8, AESTowerField8b>
fn to_single_packed(self) -> Self::Packed
fn from_single_packed(value: Self::Packed) -> Self
source§impl BinaryField for AESTowerField8b
impl BinaryField for AESTowerField8b
const MULTIPLICATIVE_GENERATOR: AESTowerField8b = _
const N_BITS: usize = Self::DEGREE
source§impl Clone for AESTowerField8b
impl Clone for AESTowerField8b
source§fn clone(&self) -> AESTowerField8b
fn clone(&self) -> AESTowerField8b
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 AESTowerField8b
impl ConditionallySelectable for AESTowerField8b
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 AESTowerField8b
impl ConstantTimeEq for AESTowerField8b
source§impl Debug for AESTowerField8b
impl Debug for AESTowerField8b
source§impl Default for AESTowerField8b
impl Default for AESTowerField8b
source§fn default() -> AESTowerField8b
fn default() -> AESTowerField8b
Returns the “default value” for a type. Read more
source§impl Display for AESTowerField8b
impl Display for AESTowerField8b
source§impl ExtensionField<AESTowerField8b> for AESTowerField128b
impl ExtensionField<AESTowerField8b> for AESTowerField128b
source§const LOG_DEGREE: usize = 4usize
const LOG_DEGREE: usize = 4usize
Base-2 logarithm of the extension degree.
source§type Iterator = <[AESTowerField8b; 16] as IntoIterator>::IntoIter
type Iterator = <[AESTowerField8b; 16] as IntoIterator>::IntoIter
Iterator returned by
iter_bases
.source§fn basis(i: usize) -> Result<Self, Error>
fn basis(i: usize) -> Result<Self, Error>
For
0 <= i < DEGREE
, returns i
-th basis field element.source§fn from_bases_sparse(
base_elems: &[AESTowerField8b],
log_stride: usize,
) -> Result<Self, Error>
fn from_bases_sparse( base_elems: &[AESTowerField8b], log_stride: usize, ) -> Result<Self, Error>
A specialized version of
from_bases
which assumes that only base field
elements with indices dividing 2^log_stride
can be nonzero. Read moresource§fn iter_bases(&self) -> Self::Iterator
fn iter_bases(&self) -> Self::Iterator
Iterator over base field elements.
source§impl ExtensionField<AESTowerField8b> for AESTowerField16b
impl ExtensionField<AESTowerField8b> for AESTowerField16b
source§const LOG_DEGREE: usize = 1usize
const LOG_DEGREE: usize = 1usize
Base-2 logarithm of the extension degree.
source§type Iterator = <[AESTowerField8b; 2] as IntoIterator>::IntoIter
type Iterator = <[AESTowerField8b; 2] as IntoIterator>::IntoIter
Iterator returned by
iter_bases
.source§fn basis(i: usize) -> Result<Self, Error>
fn basis(i: usize) -> Result<Self, Error>
For
0 <= i < DEGREE
, returns i
-th basis field element.source§fn from_bases_sparse(
base_elems: &[AESTowerField8b],
log_stride: usize,
) -> Result<Self, Error>
fn from_bases_sparse( base_elems: &[AESTowerField8b], log_stride: usize, ) -> Result<Self, Error>
A specialized version of
from_bases
which assumes that only base field
elements with indices dividing 2^log_stride
can be nonzero. Read moresource§fn iter_bases(&self) -> Self::Iterator
fn iter_bases(&self) -> Self::Iterator
Iterator over base field elements.
source§impl ExtensionField<AESTowerField8b> for AESTowerField32b
impl ExtensionField<AESTowerField8b> for AESTowerField32b
source§const LOG_DEGREE: usize = 2usize
const LOG_DEGREE: usize = 2usize
Base-2 logarithm of the extension degree.
source§type Iterator = <[AESTowerField8b; 4] as IntoIterator>::IntoIter
type Iterator = <[AESTowerField8b; 4] as IntoIterator>::IntoIter
Iterator returned by
iter_bases
.source§fn basis(i: usize) -> Result<Self, Error>
fn basis(i: usize) -> Result<Self, Error>
For
0 <= i < DEGREE
, returns i
-th basis field element.source§fn from_bases_sparse(
base_elems: &[AESTowerField8b],
log_stride: usize,
) -> Result<Self, Error>
fn from_bases_sparse( base_elems: &[AESTowerField8b], log_stride: usize, ) -> Result<Self, Error>
A specialized version of
from_bases
which assumes that only base field
elements with indices dividing 2^log_stride
can be nonzero. Read moresource§fn iter_bases(&self) -> Self::Iterator
fn iter_bases(&self) -> Self::Iterator
Iterator over base field elements.
source§impl ExtensionField<AESTowerField8b> for AESTowerField64b
impl ExtensionField<AESTowerField8b> for AESTowerField64b
source§const LOG_DEGREE: usize = 3usize
const LOG_DEGREE: usize = 3usize
Base-2 logarithm of the extension degree.
source§type Iterator = <[AESTowerField8b; 8] as IntoIterator>::IntoIter
type Iterator = <[AESTowerField8b; 8] as IntoIterator>::IntoIter
Iterator returned by
iter_bases
.source§fn basis(i: usize) -> Result<Self, Error>
fn basis(i: usize) -> Result<Self, Error>
For
0 <= i < DEGREE
, returns i
-th basis field element.source§fn from_bases_sparse(
base_elems: &[AESTowerField8b],
log_stride: usize,
) -> Result<Self, Error>
fn from_bases_sparse( base_elems: &[AESTowerField8b], log_stride: usize, ) -> Result<Self, Error>
A specialized version of
from_bases
which assumes that only base field
elements with indices dividing 2^log_stride
can be nonzero. Read moresource§fn iter_bases(&self) -> Self::Iterator
fn iter_bases(&self) -> Self::Iterator
Iterator over base field elements.
source§impl ExtensionField<BinaryField1b> for AESTowerField8b
impl ExtensionField<BinaryField1b> for AESTowerField8b
source§const LOG_DEGREE: usize = 3usize
const LOG_DEGREE: usize = 3usize
Base-2 logarithm of the extension degree.
source§type Iterator = <[BinaryField1b; 8] as IntoIterator>::IntoIter
type Iterator = <[BinaryField1b; 8] as IntoIterator>::IntoIter
Iterator returned by
iter_bases
.source§fn basis(i: usize) -> Result<Self, Error>
fn basis(i: usize) -> Result<Self, Error>
For
0 <= i < DEGREE
, returns i
-th basis field element.source§fn from_bases_sparse(
base_elems: &[BinaryField1b],
log_stride: usize,
) -> Result<Self, Error>
fn from_bases_sparse( base_elems: &[BinaryField1b], log_stride: usize, ) -> Result<Self, Error>
A specialized version of
from_bases
which assumes that only base field
elements with indices dividing 2^log_stride
can be nonzero. Read moresource§fn iter_bases(&self) -> Self::Iterator
fn iter_bases(&self) -> Self::Iterator
Iterator over base field elements.
source§impl Field for AESTowerField8b
impl Field for AESTowerField8b
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<AESTowerField8b> for AESTowerField16b
impl From<AESTowerField8b> for AESTowerField16b
source§fn from(elem: AESTowerField8b) -> Self
fn from(elem: AESTowerField8b) -> Self
Converts to this type from the input type.
source§impl From<AESTowerField8b> for AESTowerField32b
impl From<AESTowerField8b> for AESTowerField32b
source§fn from(elem: AESTowerField8b) -> Self
fn from(elem: AESTowerField8b) -> Self
Converts to this type from the input type.
source§impl From<AESTowerField8b> for AESTowerField64b
impl From<AESTowerField8b> for AESTowerField64b
source§fn from(elem: AESTowerField8b) -> Self
fn from(elem: AESTowerField8b) -> Self
Converts to this type from the input type.
source§impl From<AESTowerField8b> for BinaryField8b
impl From<AESTowerField8b> for BinaryField8b
source§fn from(value: AESTowerField8b) -> Self
fn from(value: AESTowerField8b) -> Self
Converts to this type from the input type.
source§impl From<AESTowerField8b> for u8
impl From<AESTowerField8b> for u8
source§fn from(val: AESTowerField8b) -> Self
fn from(val: AESTowerField8b) -> Self
Converts to this type from the input type.
source§impl From<BinaryField1b> for AESTowerField8b
impl From<BinaryField1b> for AESTowerField8b
source§fn from(elem: BinaryField1b) -> Self
fn from(elem: BinaryField1b) -> Self
Converts to this type from the input type.
source§impl From<BinaryField8b> for AESTowerField8b
impl From<BinaryField8b> for AESTowerField8b
source§fn from(value: BinaryField8b) -> Self
fn from(value: BinaryField8b) -> Self
Converts to this type from the input type.
source§impl From<u8> for AESTowerField8b
impl From<u8> for AESTowerField8b
source§impl Hash for AESTowerField8b
impl Hash for AESTowerField8b
source§impl InvertOrZero for AESTowerField8b
impl InvertOrZero for AESTowerField8b
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<&AESTowerField8b> for AESTowerField8b
impl Mul<&AESTowerField8b> for AESTowerField8b
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<AESTowerField16b> for AESTowerField8b
impl Mul<AESTowerField16b> for AESTowerField8b
source§type Output = AESTowerField16b
type Output = AESTowerField16b
The resulting type after applying the
*
operator.source§impl Mul<AESTowerField32b> for AESTowerField8b
impl Mul<AESTowerField32b> for AESTowerField8b
source§type Output = AESTowerField32b
type Output = AESTowerField32b
The resulting type after applying the
*
operator.source§impl Mul<AESTowerField64b> for AESTowerField8b
impl Mul<AESTowerField64b> for AESTowerField8b
source§type Output = AESTowerField64b
type Output = AESTowerField64b
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<AESTowerField8b> for AESTowerField16b
impl Mul<AESTowerField8b> for AESTowerField16b
source§type Output = AESTowerField16b
type Output = AESTowerField16b
The resulting type after applying the
*
operator.source§impl Mul<AESTowerField8b> for AESTowerField32b
impl Mul<AESTowerField8b> for AESTowerField32b
source§type Output = AESTowerField32b
type Output = AESTowerField32b
The resulting type after applying the
*
operator.source§impl Mul<AESTowerField8b> for AESTowerField64b
impl Mul<AESTowerField8b> for AESTowerField64b
source§type Output = AESTowerField64b
type Output = AESTowerField64b
The resulting type after applying the
*
operator.source§impl Mul<AESTowerField8b> for BinaryField1b
impl Mul<AESTowerField8b> for BinaryField1b
source§type Output = AESTowerField8b
type Output = AESTowerField8b
The resulting type after applying the
*
operator.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<BinaryField1b> for AESTowerField8b
impl Mul<BinaryField1b> for AESTowerField8b
source§type Output = AESTowerField8b
type Output = AESTowerField8b
The resulting type after applying the
*
operator.source§impl Mul for AESTowerField8b
impl Mul for AESTowerField8b
source§impl MulAssign<&AESTowerField8b> for AESTowerField8b
impl MulAssign<&AESTowerField8b> for AESTowerField8b
source§fn mul_assign(&mut self, rhs: &Self)
fn mul_assign(&mut self, rhs: &Self)
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<AESTowerField8b> for AESTowerField16b
impl MulAssign<AESTowerField8b> for AESTowerField16b
source§fn mul_assign(&mut self, rhs: AESTowerField8b)
fn mul_assign(&mut self, rhs: AESTowerField8b)
Performs the
*=
operation. Read moresource§impl MulAssign<AESTowerField8b> for AESTowerField32b
impl MulAssign<AESTowerField8b> for AESTowerField32b
source§fn mul_assign(&mut self, rhs: AESTowerField8b)
fn mul_assign(&mut self, rhs: AESTowerField8b)
Performs the
*=
operation. Read moresource§impl MulAssign<AESTowerField8b> for AESTowerField64b
impl MulAssign<AESTowerField8b> for AESTowerField64b
source§fn mul_assign(&mut self, rhs: AESTowerField8b)
fn mul_assign(&mut self, rhs: AESTowerField8b)
Performs the
*=
operation. Read moresource§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<BinaryField1b> for AESTowerField8b
impl MulAssign<BinaryField1b> for AESTowerField8b
source§fn mul_assign(&mut self, rhs: BinaryField1b)
fn mul_assign(&mut self, rhs: BinaryField1b)
Performs the
*=
operation. Read moresource§impl MulAssign for AESTowerField8b
impl MulAssign for AESTowerField8b
source§fn mul_assign(&mut self, rhs: Self)
fn mul_assign(&mut self, rhs: Self)
Performs the
*=
operation. Read moresource§impl Neg for AESTowerField8b
impl Neg for AESTowerField8b
source§impl Ord for AESTowerField8b
impl Ord for AESTowerField8b
source§fn cmp(&self, other: &AESTowerField8b) -> Ordering
fn cmp(&self, other: &AESTowerField8b) -> 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 AESTowerField8b
impl PartialEq for AESTowerField8b
source§impl PartialOrd for AESTowerField8b
impl PartialOrd for AESTowerField8b
source§impl<'a> Product<&'a AESTowerField8b> for AESTowerField8b
impl<'a> Product<&'a AESTowerField8b> for AESTowerField8b
source§impl Product for AESTowerField8b
impl Product for AESTowerField8b
source§impl Square for AESTowerField8b
impl Square for AESTowerField8b
source§impl Step for AESTowerField8b
impl Step for AESTowerField8b
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<&AESTowerField8b> for AESTowerField8b
impl Sub<&AESTowerField8b> for AESTowerField8b
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<AESTowerField16b> for AESTowerField8b
impl Sub<AESTowerField16b> for AESTowerField8b
source§type Output = AESTowerField16b
type Output = AESTowerField16b
The resulting type after applying the
-
operator.source§impl Sub<AESTowerField32b> for AESTowerField8b
impl Sub<AESTowerField32b> for AESTowerField8b
source§type Output = AESTowerField32b
type Output = AESTowerField32b
The resulting type after applying the
-
operator.source§impl Sub<AESTowerField64b> for AESTowerField8b
impl Sub<AESTowerField64b> for AESTowerField8b
source§type Output = AESTowerField64b
type Output = AESTowerField64b
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<AESTowerField8b> for AESTowerField16b
impl Sub<AESTowerField8b> for AESTowerField16b
source§type Output = AESTowerField16b
type Output = AESTowerField16b
The resulting type after applying the
-
operator.source§impl Sub<AESTowerField8b> for AESTowerField32b
impl Sub<AESTowerField8b> for AESTowerField32b
source§type Output = AESTowerField32b
type Output = AESTowerField32b
The resulting type after applying the
-
operator.source§impl Sub<AESTowerField8b> for AESTowerField64b
impl Sub<AESTowerField8b> for AESTowerField64b
source§type Output = AESTowerField64b
type Output = AESTowerField64b
The resulting type after applying the
-
operator.source§impl Sub<AESTowerField8b> for BinaryField1b
impl Sub<AESTowerField8b> for BinaryField1b
source§type Output = AESTowerField8b
type Output = AESTowerField8b
The resulting type after applying the
-
operator.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<BinaryField1b> for AESTowerField8b
impl Sub<BinaryField1b> for AESTowerField8b
source§type Output = AESTowerField8b
type Output = AESTowerField8b
The resulting type after applying the
-
operator.source§impl Sub for AESTowerField8b
impl Sub for AESTowerField8b
source§impl SubAssign<&AESTowerField8b> for AESTowerField8b
impl SubAssign<&AESTowerField8b> for AESTowerField8b
source§fn sub_assign(&mut self, rhs: &Self)
fn sub_assign(&mut self, rhs: &Self)
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<AESTowerField8b> for AESTowerField16b
impl SubAssign<AESTowerField8b> for AESTowerField16b
source§fn sub_assign(&mut self, rhs: AESTowerField8b)
fn sub_assign(&mut self, rhs: AESTowerField8b)
Performs the
-=
operation. Read moresource§impl SubAssign<AESTowerField8b> for AESTowerField32b
impl SubAssign<AESTowerField8b> for AESTowerField32b
source§fn sub_assign(&mut self, rhs: AESTowerField8b)
fn sub_assign(&mut self, rhs: AESTowerField8b)
Performs the
-=
operation. Read moresource§impl SubAssign<AESTowerField8b> for AESTowerField64b
impl SubAssign<AESTowerField8b> for AESTowerField64b
source§fn sub_assign(&mut self, rhs: AESTowerField8b)
fn sub_assign(&mut self, rhs: AESTowerField8b)
Performs the
-=
operation. Read moresource§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<BinaryField1b> for AESTowerField8b
impl SubAssign<BinaryField1b> for AESTowerField8b
source§fn sub_assign(&mut self, rhs: BinaryField1b)
fn sub_assign(&mut self, rhs: BinaryField1b)
Performs the
-=
operation. Read moresource§impl SubAssign for AESTowerField8b
impl SubAssign for AESTowerField8b
source§fn sub_assign(&mut self, rhs: Self)
fn sub_assign(&mut self, rhs: Self)
Performs the
-=
operation. Read moresource§impl<'a> Sum<&'a AESTowerField8b> for AESTowerField8b
impl<'a> Sum<&'a AESTowerField8b> for AESTowerField8b
source§impl Sum for AESTowerField8b
impl Sum for AESTowerField8b
source§impl TowerField for AESTowerField8b
impl TowerField for AESTowerField8b
source§type Canonical = BinaryField8b
type Canonical = BinaryField8b
The canonical field isomorphic to this tower field.
Currently for every tower field, the canonical field is Fan-Paar’s binary field of the same degree.
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
source§const TOWER_LEVEL: usize = _
const TOWER_LEVEL: usize = _
The level $\iota$ in the tower, where this field is isomorphic to $T_{\iota}$.
fn basis(iota: usize, i: usize) -> Result<Self, Error>
source§impl TransparentWrapper<u8> for AESTowerField8b
impl TransparentWrapper<u8> for AESTowerField8b
§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 AESTowerField8b
impl TryFrom<AESTowerField128b> for AESTowerField8b
source§impl TryFrom<AESTowerField16b> for AESTowerField8b
impl TryFrom<AESTowerField16b> for AESTowerField8b
source§impl TryFrom<AESTowerField32b> for AESTowerField8b
impl TryFrom<AESTowerField32b> for AESTowerField8b
source§impl TryFrom<AESTowerField64b> for AESTowerField8b
impl TryFrom<AESTowerField64b> for AESTowerField8b
source§impl TryFrom<AESTowerField8b> for BinaryField1b
impl TryFrom<AESTowerField8b> for BinaryField1b
source§impl WithUnderlier for AESTowerField8b
impl WithUnderlier for AESTowerField8b
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 AESTowerField8b
impl Eq for AESTowerField8b
impl Pod for AESTowerField8b
impl StructuralPartialEq for AESTowerField8b
Auto Trait Implementations§
impl Freeze for AESTowerField8b
impl RefUnwindSafe for AESTowerField8b
impl Send for AESTowerField8b
impl Sync for AESTowerField8b
impl Unpin for AESTowerField8b
impl UnwindSafe for AESTowerField8b
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,
source§const LOG_DEGREE: usize = 0usize
const LOG_DEGREE: usize = 0usize
Base-2 logarithm of the extension degree.
source§fn from_bases_sparse(base_elems: &[F], log_stride: usize) -> Result<F, Error>
fn from_bases_sparse(base_elems: &[F], log_stride: usize) -> Result<F, Error>
A specialized version of
from_bases
which assumes that only base field
elements with indices dividing 2^log_stride
can be nonzero. Read moresource§fn iter_bases(&self) -> <F as ExtensionField<F>>::Iterator
fn iter_bases(&self) -> <F as ExtensionField<F>>::Iterator
Iterator over base field elements.
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§unsafe fn spread_unchecked(self, _log_block_len: usize, _block_idx: usize) -> F
unsafe fn spread_unchecked(self, _log_block_len: usize, _block_idx: usize) -> F
Unsafe version of
Self::spread
. Read moresource§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<PairwiseStrategy> for PT
impl<PT> TaggedInvertOrZero<PairwiseStrategy> for PT
fn invert_or_zero(self) -> PT
source§impl<PT> TaggedMul<PairwiseStrategy> for PTwhere
PT: PackedField,
impl<PT> TaggedMul<PairwiseStrategy> for PTwhere
PT: PackedField,
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<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.