`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<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<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>

`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>

`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<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<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<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<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>

`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.

§### 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<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.