pub struct BinaryField128b(/* private fields */);
Implementations§
Trait Implementations§
source§impl Add<&BinaryField128b> for BinaryField128b
impl Add<&BinaryField128b> for BinaryField128b
source§impl Add<BinaryField128b> for BinaryField16b
impl Add<BinaryField128b> for BinaryField16b
source§type Output = BinaryField128b
type Output = BinaryField128b
The resulting type after applying the
+
operator.source§impl Add<BinaryField128b> for BinaryField1b
impl Add<BinaryField128b> for BinaryField1b
source§type Output = BinaryField128b
type Output = BinaryField128b
The resulting type after applying the
+
operator.source§impl Add<BinaryField128b> for BinaryField2b
impl Add<BinaryField128b> for BinaryField2b
source§type Output = BinaryField128b
type Output = BinaryField128b
The resulting type after applying the
+
operator.source§impl Add<BinaryField128b> for BinaryField32b
impl Add<BinaryField128b> for BinaryField32b
source§type Output = BinaryField128b
type Output = BinaryField128b
The resulting type after applying the
+
operator.source§impl Add<BinaryField128b> for BinaryField4b
impl Add<BinaryField128b> for BinaryField4b
source§type Output = BinaryField128b
type Output = BinaryField128b
The resulting type after applying the
+
operator.source§impl Add<BinaryField128b> for BinaryField64b
impl Add<BinaryField128b> for BinaryField64b
source§type Output = BinaryField128b
type Output = BinaryField128b
The resulting type after applying the
+
operator.source§impl Add<BinaryField128b> for BinaryField8b
impl Add<BinaryField128b> for BinaryField8b
source§type Output = BinaryField128b
type Output = BinaryField128b
The resulting type after applying the
+
operator.source§impl Add<BinaryField16b> for BinaryField128b
impl Add<BinaryField16b> for BinaryField128b
source§type Output = BinaryField128b
type Output = BinaryField128b
The resulting type after applying the
+
operator.source§impl Add<BinaryField1b> for BinaryField128b
impl Add<BinaryField1b> for BinaryField128b
source§type Output = BinaryField128b
type Output = BinaryField128b
The resulting type after applying the
+
operator.source§impl Add<BinaryField2b> for BinaryField128b
impl Add<BinaryField2b> for BinaryField128b
source§type Output = BinaryField128b
type Output = BinaryField128b
The resulting type after applying the
+
operator.source§impl Add<BinaryField32b> for BinaryField128b
impl Add<BinaryField32b> for BinaryField128b
source§type Output = BinaryField128b
type Output = BinaryField128b
The resulting type after applying the
+
operator.source§impl Add<BinaryField4b> for BinaryField128b
impl Add<BinaryField4b> for BinaryField128b
source§type Output = BinaryField128b
type Output = BinaryField128b
The resulting type after applying the
+
operator.source§impl Add<BinaryField64b> for BinaryField128b
impl Add<BinaryField64b> for BinaryField128b
source§type Output = BinaryField128b
type Output = BinaryField128b
The resulting type after applying the
+
operator.source§impl Add<BinaryField8b> for BinaryField128b
impl Add<BinaryField8b> for BinaryField128b
source§type Output = BinaryField128b
type Output = BinaryField128b
The resulting type after applying the
+
operator.source§impl Add for BinaryField128b
impl Add for BinaryField128b
source§impl AddAssign<&BinaryField128b> for BinaryField128b
impl AddAssign<&BinaryField128b> for BinaryField128b
source§fn add_assign(&mut self, rhs: &Self)
fn add_assign(&mut self, rhs: &Self)
Performs the
+=
operation. Read moresource§impl AddAssign<BinaryField16b> for BinaryField128b
impl AddAssign<BinaryField16b> for BinaryField128b
source§fn add_assign(&mut self, rhs: BinaryField16b)
fn add_assign(&mut self, rhs: BinaryField16b)
Performs the
+=
operation. Read moresource§impl AddAssign<BinaryField1b> for BinaryField128b
impl AddAssign<BinaryField1b> for BinaryField128b
source§fn add_assign(&mut self, rhs: BinaryField1b)
fn add_assign(&mut self, rhs: BinaryField1b)
Performs the
+=
operation. Read moresource§impl AddAssign<BinaryField2b> for BinaryField128b
impl AddAssign<BinaryField2b> for BinaryField128b
source§fn add_assign(&mut self, rhs: BinaryField2b)
fn add_assign(&mut self, rhs: BinaryField2b)
Performs the
+=
operation. Read moresource§impl AddAssign<BinaryField32b> for BinaryField128b
impl AddAssign<BinaryField32b> for BinaryField128b
source§fn add_assign(&mut self, rhs: BinaryField32b)
fn add_assign(&mut self, rhs: BinaryField32b)
Performs the
+=
operation. Read moresource§impl AddAssign<BinaryField4b> for BinaryField128b
impl AddAssign<BinaryField4b> for BinaryField128b
source§fn add_assign(&mut self, rhs: BinaryField4b)
fn add_assign(&mut self, rhs: BinaryField4b)
Performs the
+=
operation. Read moresource§impl AddAssign<BinaryField64b> for BinaryField128b
impl AddAssign<BinaryField64b> for BinaryField128b
source§fn add_assign(&mut self, rhs: BinaryField64b)
fn add_assign(&mut self, rhs: BinaryField64b)
Performs the
+=
operation. Read moresource§impl AddAssign<BinaryField8b> for BinaryField128b
impl AddAssign<BinaryField8b> for BinaryField128b
source§fn add_assign(&mut self, rhs: BinaryField8b)
fn add_assign(&mut self, rhs: BinaryField8b)
Performs the
+=
operation. Read moresource§impl AddAssign for BinaryField128b
impl AddAssign for BinaryField128b
source§fn add_assign(&mut self, rhs: Self)
fn add_assign(&mut self, rhs: Self)
Performs the
+=
operation. Read moresource§impl AsSinglePacked for BinaryField128b
impl AsSinglePacked for BinaryField128b
type Packed = PackedPrimitiveType<M128, BinaryField128b>
fn to_single_packed(self) -> Self::Packed
fn from_single_packed(value: Self::Packed) -> Self
source§impl BinaryField for BinaryField128b
impl BinaryField for BinaryField128b
const MULTIPLICATIVE_GENERATOR: BinaryField128b = _
const N_BITS: usize = Self::DEGREE
source§impl Clone for BinaryField128b
impl Clone for BinaryField128b
source§fn clone(&self) -> BinaryField128b
fn clone(&self) -> BinaryField128b
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 BinaryField128b
impl ConditionallySelectable for BinaryField128b
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 BinaryField128b
impl ConstantTimeEq for BinaryField128b
source§impl Debug for BinaryField128b
impl Debug for BinaryField128b
source§impl Default for BinaryField128b
impl Default for BinaryField128b
source§fn default() -> BinaryField128b
fn default() -> BinaryField128b
Returns the “default value” for a type. Read more
source§impl DeserializeBytes for BinaryField128b
impl DeserializeBytes for BinaryField128b
fn deserialize(read_buf: impl Buf) -> Result<Self, SerializationError>
source§impl Display for BinaryField128b
impl Display for BinaryField128b
source§impl ExtensionField<BinaryField16b> for BinaryField128b
impl ExtensionField<BinaryField16b> for BinaryField128b
source§const LOG_DEGREE: usize = 3usize
const LOG_DEGREE: usize = 3usize
Base-2 logarithm of the extension degree.
source§type Iterator = <[BinaryField16b; 8] as IntoIterator>::IntoIter
type Iterator = <[BinaryField16b; 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: &[BinaryField16b],
log_stride: usize,
) -> Result<Self, Error>
fn from_bases_sparse( base_elems: &[BinaryField16b], 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 BinaryField128b
impl ExtensionField<BinaryField1b> for BinaryField128b
source§const LOG_DEGREE: usize = 7usize
const LOG_DEGREE: usize = 7usize
Base-2 logarithm of the extension degree.
source§type Iterator = <[BinaryField1b; 128] as IntoIterator>::IntoIter
type Iterator = <[BinaryField1b; 128] 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 ExtensionField<BinaryField2b> for BinaryField128b
impl ExtensionField<BinaryField2b> for BinaryField128b
source§const LOG_DEGREE: usize = 6usize
const LOG_DEGREE: usize = 6usize
Base-2 logarithm of the extension degree.
source§type Iterator = <[BinaryField2b; 64] as IntoIterator>::IntoIter
type Iterator = <[BinaryField2b; 64] 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: &[BinaryField2b],
log_stride: usize,
) -> Result<Self, Error>
fn from_bases_sparse( base_elems: &[BinaryField2b], 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<BinaryField32b> for BinaryField128b
impl ExtensionField<BinaryField32b> for BinaryField128b
source§const LOG_DEGREE: usize = 2usize
const LOG_DEGREE: usize = 2usize
Base-2 logarithm of the extension degree.
source§type Iterator = <[BinaryField32b; 4] as IntoIterator>::IntoIter
type Iterator = <[BinaryField32b; 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: &[BinaryField32b],
log_stride: usize,
) -> Result<Self, Error>
fn from_bases_sparse( base_elems: &[BinaryField32b], 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<BinaryField4b> for BinaryField128b
impl ExtensionField<BinaryField4b> for BinaryField128b
source§const LOG_DEGREE: usize = 5usize
const LOG_DEGREE: usize = 5usize
Base-2 logarithm of the extension degree.
source§type Iterator = <[BinaryField4b; 32] as IntoIterator>::IntoIter
type Iterator = <[BinaryField4b; 32] 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: &[BinaryField4b],
log_stride: usize,
) -> Result<Self, Error>
fn from_bases_sparse( base_elems: &[BinaryField4b], 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<BinaryField64b> for BinaryField128b
impl ExtensionField<BinaryField64b> for BinaryField128b
source§const LOG_DEGREE: usize = 1usize
const LOG_DEGREE: usize = 1usize
Base-2 logarithm of the extension degree.
source§type Iterator = <[BinaryField64b; 2] as IntoIterator>::IntoIter
type Iterator = <[BinaryField64b; 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: &[BinaryField64b],
log_stride: usize,
) -> Result<Self, Error>
fn from_bases_sparse( base_elems: &[BinaryField64b], 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<BinaryField8b> for BinaryField128b
impl ExtensionField<BinaryField8b> for BinaryField128b
source§const LOG_DEGREE: usize = 4usize
const LOG_DEGREE: usize = 4usize
Base-2 logarithm of the extension degree.
source§type Iterator = <[BinaryField8b; 16] as IntoIterator>::IntoIter
type Iterator = <[BinaryField8b; 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: &[BinaryField8b],
log_stride: usize,
) -> Result<Self, Error>
fn from_bases_sparse( base_elems: &[BinaryField8b], 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 BinaryField128b
impl Field for BinaryField128b
source§impl From<(BinaryField64b, BinaryField64b)> for BinaryField128b
impl From<(BinaryField64b, BinaryField64b)> for BinaryField128b
source§fn from((a, b): (BinaryField64b, BinaryField64b)) -> Self
fn from((a, b): (BinaryField64b, BinaryField64b)) -> Self
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<BinaryField128b> for (BinaryField64b, BinaryField64b)
impl From<BinaryField128b> for (BinaryField64b, BinaryField64b)
source§fn from(src: BinaryField128b) -> (BinaryField64b, BinaryField64b)
fn from(src: BinaryField128b) -> (BinaryField64b, BinaryField64b)
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<BinaryField128b> for BinaryField128bPolyval
impl From<BinaryField128b> for BinaryField128bPolyval
source§fn from(value: BinaryField128b) -> Self
fn from(value: BinaryField128b) -> Self
Converts to this type from the input type.
source§impl From<BinaryField128b> for u128
impl From<BinaryField128b> for u128
source§fn from(val: BinaryField128b) -> Self
fn from(val: BinaryField128b) -> Self
Converts to this type from the input type.
source§impl From<BinaryField128bPolyval> for BinaryField128b
impl From<BinaryField128bPolyval> for BinaryField128b
source§fn from(value: BinaryField128bPolyval) -> BinaryField128b
fn from(value: BinaryField128bPolyval) -> BinaryField128b
Converts to this type from the input type.
source§impl From<BinaryField16b> for BinaryField128b
impl From<BinaryField16b> for BinaryField128b
source§fn from(elem: BinaryField16b) -> Self
fn from(elem: BinaryField16b) -> Self
Converts to this type from the input type.
source§impl From<BinaryField1b> for BinaryField128b
impl From<BinaryField1b> for BinaryField128b
source§fn from(elem: BinaryField1b) -> Self
fn from(elem: BinaryField1b) -> Self
Converts to this type from the input type.
source§impl From<BinaryField2b> for BinaryField128b
impl From<BinaryField2b> for BinaryField128b
source§fn from(elem: BinaryField2b) -> Self
fn from(elem: BinaryField2b) -> Self
Converts to this type from the input type.
source§impl From<BinaryField32b> for BinaryField128b
impl From<BinaryField32b> for BinaryField128b
source§fn from(elem: BinaryField32b) -> Self
fn from(elem: BinaryField32b) -> Self
Converts to this type from the input type.
source§impl From<BinaryField4b> for BinaryField128b
impl From<BinaryField4b> for BinaryField128b
source§fn from(elem: BinaryField4b) -> Self
fn from(elem: BinaryField4b) -> Self
Converts to this type from the input type.
source§impl From<BinaryField64b> for BinaryField128b
impl From<BinaryField64b> for BinaryField128b
source§fn from(elem: BinaryField64b) -> Self
fn from(elem: BinaryField64b) -> Self
Converts to this type from the input type.
source§impl From<BinaryField8b> for BinaryField128b
impl From<BinaryField8b> for BinaryField128b
source§fn from(elem: BinaryField8b) -> Self
fn from(elem: BinaryField8b) -> Self
Converts to this type from the input type.
source§impl From<u128> for BinaryField128b
impl From<u128> for BinaryField128b
source§impl Hash for BinaryField128b
impl Hash for BinaryField128b
source§impl InvertOrZero for BinaryField128b
impl InvertOrZero for BinaryField128b
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<&BinaryField128b> for BinaryField128b
impl Mul<&BinaryField128b> for BinaryField128b
source§impl Mul<BinaryField128b> for BinaryField16b
impl Mul<BinaryField128b> for BinaryField16b
source§type Output = BinaryField128b
type Output = BinaryField128b
The resulting type after applying the
*
operator.source§impl Mul<BinaryField128b> for BinaryField1b
impl Mul<BinaryField128b> for BinaryField1b
source§type Output = BinaryField128b
type Output = BinaryField128b
The resulting type after applying the
*
operator.source§impl Mul<BinaryField128b> for BinaryField2b
impl Mul<BinaryField128b> for BinaryField2b
source§type Output = BinaryField128b
type Output = BinaryField128b
The resulting type after applying the
*
operator.source§impl Mul<BinaryField128b> for BinaryField32b
impl Mul<BinaryField128b> for BinaryField32b
source§type Output = BinaryField128b
type Output = BinaryField128b
The resulting type after applying the
*
operator.source§impl Mul<BinaryField128b> for BinaryField4b
impl Mul<BinaryField128b> for BinaryField4b
source§type Output = BinaryField128b
type Output = BinaryField128b
The resulting type after applying the
*
operator.source§impl Mul<BinaryField128b> for BinaryField64b
impl Mul<BinaryField128b> for BinaryField64b
source§type Output = BinaryField128b
type Output = BinaryField128b
The resulting type after applying the
*
operator.source§impl Mul<BinaryField128b> for BinaryField8b
impl Mul<BinaryField128b> for BinaryField8b
source§type Output = BinaryField128b
type Output = BinaryField128b
The resulting type after applying the
*
operator.source§impl Mul<BinaryField16b> for BinaryField128b
impl Mul<BinaryField16b> for BinaryField128b
source§type Output = BinaryField128b
type Output = BinaryField128b
The resulting type after applying the
*
operator.source§impl Mul<BinaryField1b> for BinaryField128b
impl Mul<BinaryField1b> for BinaryField128b
source§type Output = BinaryField128b
type Output = BinaryField128b
The resulting type after applying the
*
operator.source§impl Mul<BinaryField2b> for BinaryField128b
impl Mul<BinaryField2b> for BinaryField128b
source§type Output = BinaryField128b
type Output = BinaryField128b
The resulting type after applying the
*
operator.source§impl Mul<BinaryField32b> for BinaryField128b
impl Mul<BinaryField32b> for BinaryField128b
source§type Output = BinaryField128b
type Output = BinaryField128b
The resulting type after applying the
*
operator.source§impl Mul<BinaryField4b> for BinaryField128b
impl Mul<BinaryField4b> for BinaryField128b
source§type Output = BinaryField128b
type Output = BinaryField128b
The resulting type after applying the
*
operator.source§impl Mul<BinaryField64b> for BinaryField128b
impl Mul<BinaryField64b> for BinaryField128b
source§type Output = BinaryField128b
type Output = BinaryField128b
The resulting type after applying the
*
operator.source§impl Mul<BinaryField8b> for BinaryField128b
impl Mul<BinaryField8b> for BinaryField128b
source§type Output = BinaryField128b
type Output = BinaryField128b
The resulting type after applying the
*
operator.source§impl Mul for BinaryField128b
impl Mul for BinaryField128b
source§impl MulAssign<&BinaryField128b> for BinaryField128b
impl MulAssign<&BinaryField128b> for BinaryField128b
source§fn mul_assign(&mut self, rhs: &Self)
fn mul_assign(&mut self, rhs: &Self)
Performs the
*=
operation. Read moresource§impl MulAssign<BinaryField16b> for BinaryField128b
impl MulAssign<BinaryField16b> for BinaryField128b
source§fn mul_assign(&mut self, rhs: BinaryField16b)
fn mul_assign(&mut self, rhs: BinaryField16b)
Performs the
*=
operation. Read moresource§impl MulAssign<BinaryField1b> for BinaryField128b
impl MulAssign<BinaryField1b> for BinaryField128b
source§fn mul_assign(&mut self, rhs: BinaryField1b)
fn mul_assign(&mut self, rhs: BinaryField1b)
Performs the
*=
operation. Read moresource§impl MulAssign<BinaryField2b> for BinaryField128b
impl MulAssign<BinaryField2b> for BinaryField128b
source§fn mul_assign(&mut self, rhs: BinaryField2b)
fn mul_assign(&mut self, rhs: BinaryField2b)
Performs the
*=
operation. Read moresource§impl MulAssign<BinaryField32b> for BinaryField128b
impl MulAssign<BinaryField32b> for BinaryField128b
source§fn mul_assign(&mut self, rhs: BinaryField32b)
fn mul_assign(&mut self, rhs: BinaryField32b)
Performs the
*=
operation. Read moresource§impl MulAssign<BinaryField4b> for BinaryField128b
impl MulAssign<BinaryField4b> for BinaryField128b
source§fn mul_assign(&mut self, rhs: BinaryField4b)
fn mul_assign(&mut self, rhs: BinaryField4b)
Performs the
*=
operation. Read moresource§impl MulAssign<BinaryField64b> for BinaryField128b
impl MulAssign<BinaryField64b> for BinaryField128b
source§fn mul_assign(&mut self, rhs: BinaryField64b)
fn mul_assign(&mut self, rhs: BinaryField64b)
Performs the
*=
operation. Read moresource§impl MulAssign<BinaryField8b> for BinaryField128b
impl MulAssign<BinaryField8b> for BinaryField128b
source§fn mul_assign(&mut self, rhs: BinaryField8b)
fn mul_assign(&mut self, rhs: BinaryField8b)
Performs the
*=
operation. Read moresource§impl MulAssign for BinaryField128b
impl MulAssign for BinaryField128b
source§fn mul_assign(&mut self, rhs: Self)
fn mul_assign(&mut self, rhs: Self)
Performs the
*=
operation. Read moresource§impl Neg for BinaryField128b
impl Neg for BinaryField128b
source§impl Ord for BinaryField128b
impl Ord for BinaryField128b
source§fn cmp(&self, other: &BinaryField128b) -> Ordering
fn cmp(&self, other: &BinaryField128b) -> 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 BinaryField128b
impl PartialEq for BinaryField128b
source§impl PartialOrd for BinaryField128b
impl PartialOrd for BinaryField128b
source§impl<'a> Product<&'a BinaryField128b> for BinaryField128b
impl<'a> Product<&'a BinaryField128b> for BinaryField128b
source§impl Product for BinaryField128b
impl Product for BinaryField128b
source§impl SerializeBytes for BinaryField128b
impl SerializeBytes for BinaryField128b
source§impl Square for BinaryField128b
impl Square for BinaryField128b
source§impl Step for BinaryField128b
impl Step for BinaryField128b
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<&BinaryField128b> for BinaryField128b
impl Sub<&BinaryField128b> for BinaryField128b
source§impl Sub<BinaryField128b> for BinaryField16b
impl Sub<BinaryField128b> for BinaryField16b
source§type Output = BinaryField128b
type Output = BinaryField128b
The resulting type after applying the
-
operator.source§impl Sub<BinaryField128b> for BinaryField1b
impl Sub<BinaryField128b> for BinaryField1b
source§type Output = BinaryField128b
type Output = BinaryField128b
The resulting type after applying the
-
operator.source§impl Sub<BinaryField128b> for BinaryField2b
impl Sub<BinaryField128b> for BinaryField2b
source§type Output = BinaryField128b
type Output = BinaryField128b
The resulting type after applying the
-
operator.source§impl Sub<BinaryField128b> for BinaryField32b
impl Sub<BinaryField128b> for BinaryField32b
source§type Output = BinaryField128b
type Output = BinaryField128b
The resulting type after applying the
-
operator.source§impl Sub<BinaryField128b> for BinaryField4b
impl Sub<BinaryField128b> for BinaryField4b
source§type Output = BinaryField128b
type Output = BinaryField128b
The resulting type after applying the
-
operator.source§impl Sub<BinaryField128b> for BinaryField64b
impl Sub<BinaryField128b> for BinaryField64b
source§type Output = BinaryField128b
type Output = BinaryField128b
The resulting type after applying the
-
operator.source§impl Sub<BinaryField128b> for BinaryField8b
impl Sub<BinaryField128b> for BinaryField8b
source§type Output = BinaryField128b
type Output = BinaryField128b
The resulting type after applying the
-
operator.source§impl Sub<BinaryField16b> for BinaryField128b
impl Sub<BinaryField16b> for BinaryField128b
source§type Output = BinaryField128b
type Output = BinaryField128b
The resulting type after applying the
-
operator.source§impl Sub<BinaryField1b> for BinaryField128b
impl Sub<BinaryField1b> for BinaryField128b
source§type Output = BinaryField128b
type Output = BinaryField128b
The resulting type after applying the
-
operator.source§impl Sub<BinaryField2b> for BinaryField128b
impl Sub<BinaryField2b> for BinaryField128b
source§type Output = BinaryField128b
type Output = BinaryField128b
The resulting type after applying the
-
operator.source§impl Sub<BinaryField32b> for BinaryField128b
impl Sub<BinaryField32b> for BinaryField128b
source§type Output = BinaryField128b
type Output = BinaryField128b
The resulting type after applying the
-
operator.source§impl Sub<BinaryField4b> for BinaryField128b
impl Sub<BinaryField4b> for BinaryField128b
source§type Output = BinaryField128b
type Output = BinaryField128b
The resulting type after applying the
-
operator.source§impl Sub<BinaryField64b> for BinaryField128b
impl Sub<BinaryField64b> for BinaryField128b
source§type Output = BinaryField128b
type Output = BinaryField128b
The resulting type after applying the
-
operator.source§impl Sub<BinaryField8b> for BinaryField128b
impl Sub<BinaryField8b> for BinaryField128b
source§type Output = BinaryField128b
type Output = BinaryField128b
The resulting type after applying the
-
operator.source§impl Sub for BinaryField128b
impl Sub for BinaryField128b
source§impl SubAssign<&BinaryField128b> for BinaryField128b
impl SubAssign<&BinaryField128b> for BinaryField128b
source§fn sub_assign(&mut self, rhs: &Self)
fn sub_assign(&mut self, rhs: &Self)
Performs the
-=
operation. Read moresource§impl SubAssign<BinaryField16b> for BinaryField128b
impl SubAssign<BinaryField16b> for BinaryField128b
source§fn sub_assign(&mut self, rhs: BinaryField16b)
fn sub_assign(&mut self, rhs: BinaryField16b)
Performs the
-=
operation. Read moresource§impl SubAssign<BinaryField1b> for BinaryField128b
impl SubAssign<BinaryField1b> for BinaryField128b
source§fn sub_assign(&mut self, rhs: BinaryField1b)
fn sub_assign(&mut self, rhs: BinaryField1b)
Performs the
-=
operation. Read moresource§impl SubAssign<BinaryField2b> for BinaryField128b
impl SubAssign<BinaryField2b> for BinaryField128b
source§fn sub_assign(&mut self, rhs: BinaryField2b)
fn sub_assign(&mut self, rhs: BinaryField2b)
Performs the
-=
operation. Read moresource§impl SubAssign<BinaryField32b> for BinaryField128b
impl SubAssign<BinaryField32b> for BinaryField128b
source§fn sub_assign(&mut self, rhs: BinaryField32b)
fn sub_assign(&mut self, rhs: BinaryField32b)
Performs the
-=
operation. Read moresource§impl SubAssign<BinaryField4b> for BinaryField128b
impl SubAssign<BinaryField4b> for BinaryField128b
source§fn sub_assign(&mut self, rhs: BinaryField4b)
fn sub_assign(&mut self, rhs: BinaryField4b)
Performs the
-=
operation. Read moresource§impl SubAssign<BinaryField64b> for BinaryField128b
impl SubAssign<BinaryField64b> for BinaryField128b
source§fn sub_assign(&mut self, rhs: BinaryField64b)
fn sub_assign(&mut self, rhs: BinaryField64b)
Performs the
-=
operation. Read moresource§impl SubAssign<BinaryField8b> for BinaryField128b
impl SubAssign<BinaryField8b> for BinaryField128b
source§fn sub_assign(&mut self, rhs: BinaryField8b)
fn sub_assign(&mut self, rhs: BinaryField8b)
Performs the
-=
operation. Read moresource§impl SubAssign for BinaryField128b
impl SubAssign for BinaryField128b
source§fn sub_assign(&mut self, rhs: Self)
fn sub_assign(&mut self, rhs: Self)
Performs the
-=
operation. Read moresource§impl<'a> Sum<&'a BinaryField128b> for BinaryField128b
impl<'a> Sum<&'a BinaryField128b> for BinaryField128b
source§impl Sum for BinaryField128b
impl Sum for BinaryField128b
source§impl TowerField for BinaryField128b
impl TowerField for BinaryField128b
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§type Canonical = BinaryField128b
type Canonical = BinaryField128b
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
fn basis(iota: usize, i: usize) -> Result<Self, Error>
source§impl TransparentWrapper<u128> for BinaryField128b
impl TransparentWrapper<u128> for BinaryField128b
§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<BinaryField128b> for BinaryField16b
impl TryFrom<BinaryField128b> for BinaryField16b
source§impl TryFrom<BinaryField128b> for BinaryField1b
impl TryFrom<BinaryField128b> for BinaryField1b
source§impl TryFrom<BinaryField128b> for BinaryField2b
impl TryFrom<BinaryField128b> for BinaryField2b
source§impl TryFrom<BinaryField128b> for BinaryField32b
impl TryFrom<BinaryField128b> for BinaryField32b
source§impl TryFrom<BinaryField128b> for BinaryField4b
impl TryFrom<BinaryField128b> for BinaryField4b
source§impl TryFrom<BinaryField128b> for BinaryField64b
impl TryFrom<BinaryField128b> for BinaryField64b
source§impl TryFrom<BinaryField128b> for BinaryField8b
impl TryFrom<BinaryField128b> for BinaryField8b
source§impl WithUnderlier for BinaryField128b
impl WithUnderlier for BinaryField128b
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 BinaryField128b
impl Eq for BinaryField128b
impl Pod for BinaryField128b
impl StructuralPartialEq for BinaryField128b
Auto Trait Implementations§
impl Freeze for BinaryField128b
impl RefUnwindSafe for BinaryField128b
impl Send for BinaryField128b
impl Sync for BinaryField128b
impl Unpin for BinaryField128b
impl UnwindSafe for BinaryField128b
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.
§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 spread(self, log_block_len: usize, block_idx: usize) -> F
fn spread(self, log_block_len: usize, block_idx: usize) -> F
Spread takes a block of elements within a packed field and repeats them to the full packing
width. Read more
source§fn get_checked(&self, i: usize) -> Result<Self::Scalar, Error>
fn get_checked(&self, i: usize) -> Result<Self::Scalar, Error>
Get the scalar at a given index.
source§fn set_checked(&mut self, i: usize, scalar: Self::Scalar) -> Result<(), Error>
fn set_checked(&mut self, i: usize, scalar: Self::Scalar) -> Result<(), Error>
Set the scalar at a given index.
fn into_iter(self) -> impl Iterator<Item = Self::Scalar>
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.