pub struct BinaryField1b(/* private fields */);
Implementations§
source§impl BinaryField1b
impl BinaryField1b
sourcepub unsafe fn new_unchecked(val: u8) -> Self
pub unsafe fn new_unchecked(val: u8) -> Self
Trait Implementations§
source§impl Add<&BinaryField1b> for BinaryField1b
impl Add<&BinaryField1b> for BinaryField1b
source§impl Add<AESTowerField128b> for BinaryField1b
impl Add<AESTowerField128b> for BinaryField1b
source§type Output = AESTowerField128b
type Output = AESTowerField128b
The resulting type after applying the
+
operator.source§impl Add<AESTowerField16b> for BinaryField1b
impl Add<AESTowerField16b> for BinaryField1b
source§type Output = AESTowerField16b
type Output = AESTowerField16b
The resulting type after applying the
+
operator.source§impl Add<AESTowerField32b> for BinaryField1b
impl Add<AESTowerField32b> for BinaryField1b
source§type Output = AESTowerField32b
type Output = AESTowerField32b
The resulting type after applying the
+
operator.source§impl Add<AESTowerField64b> for BinaryField1b
impl Add<AESTowerField64b> for BinaryField1b
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<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<BinaryField128bPolyval> for BinaryField1b
impl Add<BinaryField128bPolyval> for BinaryField1b
source§type Output = BinaryField128bPolyval
type Output = BinaryField128bPolyval
The resulting type after applying the
+
operator.source§impl Add<BinaryField16b> for BinaryField1b
impl Add<BinaryField16b> for BinaryField1b
source§type Output = BinaryField16b
type Output = BinaryField16b
The resulting type after applying the
+
operator.source§impl Add<BinaryField1b> for AESTowerField128b
impl Add<BinaryField1b> for AESTowerField128b
source§type Output = AESTowerField128b
type Output = AESTowerField128b
The resulting type after applying the
+
operator.source§impl Add<BinaryField1b> for AESTowerField16b
impl Add<BinaryField1b> for AESTowerField16b
source§type Output = AESTowerField16b
type Output = AESTowerField16b
The resulting type after applying the
+
operator.source§impl Add<BinaryField1b> for AESTowerField32b
impl Add<BinaryField1b> for AESTowerField32b
source§type Output = AESTowerField32b
type Output = AESTowerField32b
The resulting type after applying the
+
operator.source§impl Add<BinaryField1b> for AESTowerField64b
impl Add<BinaryField1b> for AESTowerField64b
source§type Output = AESTowerField64b
type Output = AESTowerField64b
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<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<BinaryField1b> for BinaryField128bPolyval
impl Add<BinaryField1b> for BinaryField128bPolyval
source§type Output = BinaryField128bPolyval
type Output = BinaryField128bPolyval
The resulting type after applying the
+
operator.source§impl Add<BinaryField1b> for BinaryField16b
impl Add<BinaryField1b> for BinaryField16b
source§type Output = BinaryField16b
type Output = BinaryField16b
The resulting type after applying the
+
operator.source§impl Add<BinaryField1b> for BinaryField2b
impl Add<BinaryField1b> for BinaryField2b
source§type Output = BinaryField2b
type Output = BinaryField2b
The resulting type after applying the
+
operator.source§impl Add<BinaryField1b> for BinaryField32b
impl Add<BinaryField1b> for BinaryField32b
source§type Output = BinaryField32b
type Output = BinaryField32b
The resulting type after applying the
+
operator.source§impl Add<BinaryField1b> for BinaryField4b
impl Add<BinaryField1b> for BinaryField4b
source§type Output = BinaryField4b
type Output = BinaryField4b
The resulting type after applying the
+
operator.source§impl Add<BinaryField1b> for BinaryField64b
impl Add<BinaryField1b> for BinaryField64b
source§type Output = BinaryField64b
type Output = BinaryField64b
The resulting type after applying the
+
operator.source§impl Add<BinaryField1b> for BinaryField8b
impl Add<BinaryField1b> for BinaryField8b
source§type Output = BinaryField8b
type Output = BinaryField8b
The resulting type after applying the
+
operator.source§impl Add<BinaryField2b> for BinaryField1b
impl Add<BinaryField2b> for BinaryField1b
source§type Output = BinaryField2b
type Output = BinaryField2b
The resulting type after applying the
+
operator.source§impl Add<BinaryField32b> for BinaryField1b
impl Add<BinaryField32b> for BinaryField1b
source§type Output = BinaryField32b
type Output = BinaryField32b
The resulting type after applying the
+
operator.source§impl Add<BinaryField4b> for BinaryField1b
impl Add<BinaryField4b> for BinaryField1b
source§type Output = BinaryField4b
type Output = BinaryField4b
The resulting type after applying the
+
operator.source§impl Add<BinaryField64b> for BinaryField1b
impl Add<BinaryField64b> for BinaryField1b
source§type Output = BinaryField64b
type Output = BinaryField64b
The resulting type after applying the
+
operator.source§impl Add<BinaryField8b> for BinaryField1b
impl Add<BinaryField8b> for BinaryField1b
source§type Output = BinaryField8b
type Output = BinaryField8b
The resulting type after applying the
+
operator.source§impl Add for BinaryField1b
impl Add for BinaryField1b
source§impl AddAssign<&BinaryField1b> for BinaryField1b
impl AddAssign<&BinaryField1b> for BinaryField1b
source§fn add_assign(&mut self, rhs: &Self)
fn add_assign(&mut self, rhs: &Self)
Performs the
+=
operation. Read moresource§impl AddAssign<BinaryField1b> for AESTowerField128b
impl AddAssign<BinaryField1b> for AESTowerField128b
source§fn add_assign(&mut self, rhs: BinaryField1b)
fn add_assign(&mut self, rhs: BinaryField1b)
Performs the
+=
operation. Read moresource§impl AddAssign<BinaryField1b> for AESTowerField16b
impl AddAssign<BinaryField1b> for AESTowerField16b
source§fn add_assign(&mut self, rhs: BinaryField1b)
fn add_assign(&mut self, rhs: BinaryField1b)
Performs the
+=
operation. Read moresource§impl AddAssign<BinaryField1b> for AESTowerField32b
impl AddAssign<BinaryField1b> for AESTowerField32b
source§fn add_assign(&mut self, rhs: BinaryField1b)
fn add_assign(&mut self, rhs: BinaryField1b)
Performs the
+=
operation. Read moresource§impl AddAssign<BinaryField1b> for AESTowerField64b
impl AddAssign<BinaryField1b> for AESTowerField64b
source§fn add_assign(&mut self, rhs: BinaryField1b)
fn add_assign(&mut self, rhs: BinaryField1b)
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<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<BinaryField1b> for BinaryField128bPolyval
impl AddAssign<BinaryField1b> for BinaryField128bPolyval
source§fn add_assign(&mut self, rhs: BinaryField1b)
fn add_assign(&mut self, rhs: BinaryField1b)
Performs the
+=
operation. Read moresource§impl AddAssign<BinaryField1b> for BinaryField16b
impl AddAssign<BinaryField1b> for BinaryField16b
source§fn add_assign(&mut self, rhs: BinaryField1b)
fn add_assign(&mut self, rhs: BinaryField1b)
Performs the
+=
operation. Read moresource§impl AddAssign<BinaryField1b> for BinaryField2b
impl AddAssign<BinaryField1b> for BinaryField2b
source§fn add_assign(&mut self, rhs: BinaryField1b)
fn add_assign(&mut self, rhs: BinaryField1b)
Performs the
+=
operation. Read moresource§impl AddAssign<BinaryField1b> for BinaryField32b
impl AddAssign<BinaryField1b> for BinaryField32b
source§fn add_assign(&mut self, rhs: BinaryField1b)
fn add_assign(&mut self, rhs: BinaryField1b)
Performs the
+=
operation. Read moresource§impl AddAssign<BinaryField1b> for BinaryField4b
impl AddAssign<BinaryField1b> for BinaryField4b
source§fn add_assign(&mut self, rhs: BinaryField1b)
fn add_assign(&mut self, rhs: BinaryField1b)
Performs the
+=
operation. Read moresource§impl AddAssign<BinaryField1b> for BinaryField64b
impl AddAssign<BinaryField1b> for BinaryField64b
source§fn add_assign(&mut self, rhs: BinaryField1b)
fn add_assign(&mut self, rhs: BinaryField1b)
Performs the
+=
operation. Read moresource§impl AddAssign<BinaryField1b> for BinaryField8b
impl AddAssign<BinaryField1b> for BinaryField8b
source§fn add_assign(&mut self, rhs: BinaryField1b)
fn add_assign(&mut self, rhs: BinaryField1b)
Performs the
+=
operation. Read moresource§impl AddAssign for BinaryField1b
impl AddAssign for BinaryField1b
source§fn add_assign(&mut self, rhs: Self)
fn add_assign(&mut self, rhs: Self)
Performs the
+=
operation. Read moresource§impl AsSinglePacked for BinaryField1b
impl AsSinglePacked for BinaryField1b
type Packed = PackedPrimitiveType<SmallU<1>, BinaryField1b>
fn to_single_packed(self) -> Self::Packed
fn from_single_packed(value: Self::Packed) -> Self
source§impl BinaryField for BinaryField1b
impl BinaryField for BinaryField1b
const MULTIPLICATIVE_GENERATOR: BinaryField1b = _
const N_BITS: usize = Self::DEGREE
source§impl Clone for BinaryField1b
impl Clone for BinaryField1b
source§fn clone(&self) -> BinaryField1b
fn clone(&self) -> BinaryField1b
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 BinaryField1b
impl ConditionallySelectable for BinaryField1b
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 BinaryField1b
impl ConstantTimeEq for BinaryField1b
source§impl Debug for BinaryField1b
impl Debug for BinaryField1b
source§impl Default for BinaryField1b
impl Default for BinaryField1b
source§fn default() -> BinaryField1b
fn default() -> BinaryField1b
Returns the “default value” for a type. Read more
source§impl DeserializeBytes for BinaryField1b
impl DeserializeBytes for BinaryField1b
fn deserialize(read_buf: impl Buf) -> Result<Self, SerializationError>
source§impl Display for BinaryField1b
impl Display for BinaryField1b
source§impl ExtensionField<BinaryField1b> for AESTowerField128b
impl ExtensionField<BinaryField1b> for AESTowerField128b
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<BinaryField1b> for AESTowerField16b
impl ExtensionField<BinaryField1b> for AESTowerField16b
source§const LOG_DEGREE: usize = 4usize
const LOG_DEGREE: usize = 4usize
Base-2 logarithm of the extension degree.
source§type Iterator = <[BinaryField1b; 16] as IntoIterator>::IntoIter
type Iterator = <[BinaryField1b; 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: &[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<BinaryField1b> for AESTowerField32b
impl ExtensionField<BinaryField1b> for AESTowerField32b
source§const LOG_DEGREE: usize = 5usize
const LOG_DEGREE: usize = 5usize
Base-2 logarithm of the extension degree.
source§type Iterator = <[BinaryField1b; 32] as IntoIterator>::IntoIter
type Iterator = <[BinaryField1b; 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: &[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<BinaryField1b> for AESTowerField64b
impl ExtensionField<BinaryField1b> for AESTowerField64b
source§const LOG_DEGREE: usize = 6usize
const LOG_DEGREE: usize = 6usize
Base-2 logarithm of the extension degree.
source§type Iterator = <[BinaryField1b; 64] as IntoIterator>::IntoIter
type Iterator = <[BinaryField1b; 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: &[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<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 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<BinaryField1b> for BinaryField128bPolyval
impl ExtensionField<BinaryField1b> for BinaryField128bPolyval
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<BinaryField1b> for BinaryField16b
impl ExtensionField<BinaryField1b> for BinaryField16b
source§const LOG_DEGREE: usize = 4usize
const LOG_DEGREE: usize = 4usize
Base-2 logarithm of the extension degree.
source§type Iterator = <[BinaryField1b; 16] as IntoIterator>::IntoIter
type Iterator = <[BinaryField1b; 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: &[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<BinaryField1b> for BinaryField2b
impl ExtensionField<BinaryField1b> for BinaryField2b
source§const LOG_DEGREE: usize = 1usize
const LOG_DEGREE: usize = 1usize
Base-2 logarithm of the extension degree.
source§type Iterator = <[BinaryField1b; 2] as IntoIterator>::IntoIter
type Iterator = <[BinaryField1b; 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: &[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<BinaryField1b> for BinaryField32b
impl ExtensionField<BinaryField1b> for BinaryField32b
source§const LOG_DEGREE: usize = 5usize
const LOG_DEGREE: usize = 5usize
Base-2 logarithm of the extension degree.
source§type Iterator = <[BinaryField1b; 32] as IntoIterator>::IntoIter
type Iterator = <[BinaryField1b; 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: &[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<BinaryField1b> for BinaryField4b
impl ExtensionField<BinaryField1b> for BinaryField4b
source§const LOG_DEGREE: usize = 2usize
const LOG_DEGREE: usize = 2usize
Base-2 logarithm of the extension degree.
source§type Iterator = <[BinaryField1b; 4] as IntoIterator>::IntoIter
type Iterator = <[BinaryField1b; 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: &[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<BinaryField1b> for BinaryField64b
impl ExtensionField<BinaryField1b> for BinaryField64b
source§const LOG_DEGREE: usize = 6usize
const LOG_DEGREE: usize = 6usize
Base-2 logarithm of the extension degree.
source§type Iterator = <[BinaryField1b; 64] as IntoIterator>::IntoIter
type Iterator = <[BinaryField1b; 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: &[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<BinaryField1b> for BinaryField8b
impl ExtensionField<BinaryField1b> for BinaryField8b
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 BinaryField1b
impl Field for BinaryField1b
source§impl From<BinaryField1b> for AESTowerField128b
impl From<BinaryField1b> for AESTowerField128b
source§fn from(elem: BinaryField1b) -> Self
fn from(elem: BinaryField1b) -> Self
Converts to this type from the input type.
source§impl From<BinaryField1b> for AESTowerField16b
impl From<BinaryField1b> for AESTowerField16b
source§fn from(elem: BinaryField1b) -> Self
fn from(elem: BinaryField1b) -> Self
Converts to this type from the input type.
source§impl From<BinaryField1b> for AESTowerField32b
impl From<BinaryField1b> for AESTowerField32b
source§fn from(elem: BinaryField1b) -> Self
fn from(elem: BinaryField1b) -> Self
Converts to this type from the input type.
source§impl From<BinaryField1b> for AESTowerField64b
impl From<BinaryField1b> for AESTowerField64b
source§fn from(elem: BinaryField1b) -> Self
fn from(elem: BinaryField1b) -> 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<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<BinaryField1b> for BinaryField128bPolyval
impl From<BinaryField1b> for BinaryField128bPolyval
source§fn from(value: BinaryField1b) -> Self
fn from(value: BinaryField1b) -> Self
Converts to this type from the input type.
source§impl From<BinaryField1b> for BinaryField16b
impl From<BinaryField1b> for BinaryField16b
source§fn from(elem: BinaryField1b) -> Self
fn from(elem: BinaryField1b) -> Self
Converts to this type from the input type.
source§impl From<BinaryField1b> for BinaryField2b
impl From<BinaryField1b> for BinaryField2b
source§fn from(elem: BinaryField1b) -> Self
fn from(elem: BinaryField1b) -> Self
Converts to this type from the input type.
source§impl From<BinaryField1b> for BinaryField32b
impl From<BinaryField1b> for BinaryField32b
source§fn from(elem: BinaryField1b) -> Self
fn from(elem: BinaryField1b) -> Self
Converts to this type from the input type.
source§impl From<BinaryField1b> for BinaryField4b
impl From<BinaryField1b> for BinaryField4b
source§fn from(elem: BinaryField1b) -> Self
fn from(elem: BinaryField1b) -> Self
Converts to this type from the input type.
source§impl From<BinaryField1b> for BinaryField64b
impl From<BinaryField1b> for BinaryField64b
source§fn from(elem: BinaryField1b) -> Self
fn from(elem: BinaryField1b) -> Self
Converts to this type from the input type.
source§impl From<BinaryField1b> for BinaryField8b
impl From<BinaryField1b> for BinaryField8b
source§fn from(elem: BinaryField1b) -> Self
fn from(elem: BinaryField1b) -> Self
Converts to this type from the input type.
source§impl From<BinaryField1b> for Choice
impl From<BinaryField1b> for Choice
source§fn from(val: BinaryField1b) -> Self
fn from(val: BinaryField1b) -> Self
Converts to this type from the input type.
source§impl From<BinaryField1b> for U1
impl From<BinaryField1b> for U1
source§fn from(val: BinaryField1b) -> Self
fn from(val: BinaryField1b) -> Self
Converts to this type from the input type.
source§impl From<BinaryField1b> for u8
impl From<BinaryField1b> for u8
source§fn from(value: BinaryField1b) -> Self
fn from(value: BinaryField1b) -> Self
Converts to this type from the input type.
source§impl From<SmallU<1>> for BinaryField1b
impl From<SmallU<1>> for BinaryField1b
source§impl From<u8> for BinaryField1b
impl From<u8> for BinaryField1b
source§impl Hash for BinaryField1b
impl Hash for BinaryField1b
source§impl InvertOrZero for BinaryField1b
impl InvertOrZero for BinaryField1b
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<&BinaryField1b> for BinaryField1b
impl Mul<&BinaryField1b> for BinaryField1b
source§impl Mul<AESTowerField128b> for BinaryField1b
impl Mul<AESTowerField128b> for BinaryField1b
source§type Output = AESTowerField128b
type Output = AESTowerField128b
The resulting type after applying the
*
operator.source§impl Mul<AESTowerField16b> for BinaryField1b
impl Mul<AESTowerField16b> for BinaryField1b
source§type Output = AESTowerField16b
type Output = AESTowerField16b
The resulting type after applying the
*
operator.source§impl Mul<AESTowerField32b> for BinaryField1b
impl Mul<AESTowerField32b> for BinaryField1b
source§type Output = AESTowerField32b
type Output = AESTowerField32b
The resulting type after applying the
*
operator.source§impl Mul<AESTowerField64b> for BinaryField1b
impl Mul<AESTowerField64b> for BinaryField1b
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<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<BinaryField128bPolyval> for BinaryField1b
impl Mul<BinaryField128bPolyval> for BinaryField1b
source§type Output = BinaryField128bPolyval
type Output = BinaryField128bPolyval
The resulting type after applying the
*
operator.source§impl Mul<BinaryField16b> for BinaryField1b
impl Mul<BinaryField16b> for BinaryField1b
source§type Output = BinaryField16b
type Output = BinaryField16b
The resulting type after applying the
*
operator.source§impl Mul<BinaryField1b> for AESTowerField128b
impl Mul<BinaryField1b> for AESTowerField128b
source§type Output = AESTowerField128b
type Output = AESTowerField128b
The resulting type after applying the
*
operator.source§impl Mul<BinaryField1b> for AESTowerField16b
impl Mul<BinaryField1b> for AESTowerField16b
source§type Output = AESTowerField16b
type Output = AESTowerField16b
The resulting type after applying the
*
operator.source§impl Mul<BinaryField1b> for AESTowerField32b
impl Mul<BinaryField1b> for AESTowerField32b
source§type Output = AESTowerField32b
type Output = AESTowerField32b
The resulting type after applying the
*
operator.source§impl Mul<BinaryField1b> for AESTowerField64b
impl Mul<BinaryField1b> for AESTowerField64b
source§type Output = AESTowerField64b
type Output = AESTowerField64b
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<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<BinaryField1b> for BinaryField128bPolyval
impl Mul<BinaryField1b> for BinaryField128bPolyval
source§type Output = BinaryField128bPolyval
type Output = BinaryField128bPolyval
The resulting type after applying the
*
operator.source§impl Mul<BinaryField1b> for BinaryField16b
impl Mul<BinaryField1b> for BinaryField16b
source§type Output = BinaryField16b
type Output = BinaryField16b
The resulting type after applying the
*
operator.source§impl Mul<BinaryField1b> for BinaryField2b
impl Mul<BinaryField1b> for BinaryField2b
source§type Output = BinaryField2b
type Output = BinaryField2b
The resulting type after applying the
*
operator.source§impl Mul<BinaryField1b> for BinaryField32b
impl Mul<BinaryField1b> for BinaryField32b
source§type Output = BinaryField32b
type Output = BinaryField32b
The resulting type after applying the
*
operator.source§impl Mul<BinaryField1b> for BinaryField4b
impl Mul<BinaryField1b> for BinaryField4b
source§type Output = BinaryField4b
type Output = BinaryField4b
The resulting type after applying the
*
operator.source§impl Mul<BinaryField1b> for BinaryField64b
impl Mul<BinaryField1b> for BinaryField64b
source§type Output = BinaryField64b
type Output = BinaryField64b
The resulting type after applying the
*
operator.source§impl Mul<BinaryField1b> for BinaryField8b
impl Mul<BinaryField1b> for BinaryField8b
source§type Output = BinaryField8b
type Output = BinaryField8b
The resulting type after applying the
*
operator.source§impl Mul<BinaryField2b> for BinaryField1b
impl Mul<BinaryField2b> for BinaryField1b
source§type Output = BinaryField2b
type Output = BinaryField2b
The resulting type after applying the
*
operator.source§impl Mul<BinaryField32b> for BinaryField1b
impl Mul<BinaryField32b> for BinaryField1b
source§type Output = BinaryField32b
type Output = BinaryField32b
The resulting type after applying the
*
operator.source§impl Mul<BinaryField4b> for BinaryField1b
impl Mul<BinaryField4b> for BinaryField1b
source§type Output = BinaryField4b
type Output = BinaryField4b
The resulting type after applying the
*
operator.source§impl Mul<BinaryField64b> for BinaryField1b
impl Mul<BinaryField64b> for BinaryField1b
source§type Output = BinaryField64b
type Output = BinaryField64b
The resulting type after applying the
*
operator.source§impl Mul<BinaryField8b> for BinaryField1b
impl Mul<BinaryField8b> for BinaryField1b
source§type Output = BinaryField8b
type Output = BinaryField8b
The resulting type after applying the
*
operator.source§impl Mul for BinaryField1b
impl Mul for BinaryField1b
source§impl MulAssign<&BinaryField1b> for BinaryField1b
impl MulAssign<&BinaryField1b> for BinaryField1b
source§fn mul_assign(&mut self, rhs: &Self)
fn mul_assign(&mut self, rhs: &Self)
Performs the
*=
operation. Read moresource§impl MulAssign<BinaryField1b> for AESTowerField128b
impl MulAssign<BinaryField1b> for AESTowerField128b
source§fn mul_assign(&mut self, rhs: BinaryField1b)
fn mul_assign(&mut self, rhs: BinaryField1b)
Performs the
*=
operation. Read moresource§impl MulAssign<BinaryField1b> for AESTowerField16b
impl MulAssign<BinaryField1b> for AESTowerField16b
source§fn mul_assign(&mut self, rhs: BinaryField1b)
fn mul_assign(&mut self, rhs: BinaryField1b)
Performs the
*=
operation. Read moresource§impl MulAssign<BinaryField1b> for AESTowerField32b
impl MulAssign<BinaryField1b> for AESTowerField32b
source§fn mul_assign(&mut self, rhs: BinaryField1b)
fn mul_assign(&mut self, rhs: BinaryField1b)
Performs the
*=
operation. Read moresource§impl MulAssign<BinaryField1b> for AESTowerField64b
impl MulAssign<BinaryField1b> for AESTowerField64b
source§fn mul_assign(&mut self, rhs: BinaryField1b)
fn mul_assign(&mut self, rhs: BinaryField1b)
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<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<BinaryField1b> for BinaryField128bPolyval
impl MulAssign<BinaryField1b> for BinaryField128bPolyval
source§fn mul_assign(&mut self, rhs: BinaryField1b)
fn mul_assign(&mut self, rhs: BinaryField1b)
Performs the
*=
operation. Read moresource§impl MulAssign<BinaryField1b> for BinaryField16b
impl MulAssign<BinaryField1b> for BinaryField16b
source§fn mul_assign(&mut self, rhs: BinaryField1b)
fn mul_assign(&mut self, rhs: BinaryField1b)
Performs the
*=
operation. Read moresource§impl MulAssign<BinaryField1b> for BinaryField2b
impl MulAssign<BinaryField1b> for BinaryField2b
source§fn mul_assign(&mut self, rhs: BinaryField1b)
fn mul_assign(&mut self, rhs: BinaryField1b)
Performs the
*=
operation. Read moresource§impl MulAssign<BinaryField1b> for BinaryField32b
impl MulAssign<BinaryField1b> for BinaryField32b
source§fn mul_assign(&mut self, rhs: BinaryField1b)
fn mul_assign(&mut self, rhs: BinaryField1b)
Performs the
*=
operation. Read moresource§impl MulAssign<BinaryField1b> for BinaryField4b
impl MulAssign<BinaryField1b> for BinaryField4b
source§fn mul_assign(&mut self, rhs: BinaryField1b)
fn mul_assign(&mut self, rhs: BinaryField1b)
Performs the
*=
operation. Read moresource§impl MulAssign<BinaryField1b> for BinaryField64b
impl MulAssign<BinaryField1b> for BinaryField64b
source§fn mul_assign(&mut self, rhs: BinaryField1b)
fn mul_assign(&mut self, rhs: BinaryField1b)
Performs the
*=
operation. Read moresource§impl MulAssign<BinaryField1b> for BinaryField8b
impl MulAssign<BinaryField1b> for BinaryField8b
source§fn mul_assign(&mut self, rhs: BinaryField1b)
fn mul_assign(&mut self, rhs: BinaryField1b)
Performs the
*=
operation. Read moresource§impl MulAssign for BinaryField1b
impl MulAssign for BinaryField1b
source§fn mul_assign(&mut self, rhs: Self)
fn mul_assign(&mut self, rhs: Self)
Performs the
*=
operation. Read moresource§impl Neg for BinaryField1b
impl Neg for BinaryField1b
source§impl Ord for BinaryField1b
impl Ord for BinaryField1b
source§fn cmp(&self, other: &BinaryField1b) -> Ordering
fn cmp(&self, other: &BinaryField1b) -> 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 BinaryField1b
impl PartialEq for BinaryField1b
source§impl PartialOrd for BinaryField1b
impl PartialOrd for BinaryField1b
source§impl<'a> Product<&'a BinaryField1b> for BinaryField1b
impl<'a> Product<&'a BinaryField1b> for BinaryField1b
source§impl Product for BinaryField1b
impl Product for BinaryField1b
source§impl SerializeBytes for BinaryField1b
impl SerializeBytes for BinaryField1b
source§impl Square for BinaryField1b
impl Square for BinaryField1b
source§impl Step for BinaryField1b
impl Step for BinaryField1b
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<&BinaryField1b> for BinaryField1b
impl Sub<&BinaryField1b> for BinaryField1b
source§impl Sub<AESTowerField128b> for BinaryField1b
impl Sub<AESTowerField128b> for BinaryField1b
source§type Output = AESTowerField128b
type Output = AESTowerField128b
The resulting type after applying the
-
operator.source§impl Sub<AESTowerField16b> for BinaryField1b
impl Sub<AESTowerField16b> for BinaryField1b
source§type Output = AESTowerField16b
type Output = AESTowerField16b
The resulting type after applying the
-
operator.source§impl Sub<AESTowerField32b> for BinaryField1b
impl Sub<AESTowerField32b> for BinaryField1b
source§type Output = AESTowerField32b
type Output = AESTowerField32b
The resulting type after applying the
-
operator.source§impl Sub<AESTowerField64b> for BinaryField1b
impl Sub<AESTowerField64b> for BinaryField1b
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<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<BinaryField128bPolyval> for BinaryField1b
impl Sub<BinaryField128bPolyval> for BinaryField1b
source§type Output = BinaryField128bPolyval
type Output = BinaryField128bPolyval
The resulting type after applying the
-
operator.source§impl Sub<BinaryField16b> for BinaryField1b
impl Sub<BinaryField16b> for BinaryField1b
source§type Output = BinaryField16b
type Output = BinaryField16b
The resulting type after applying the
-
operator.source§impl Sub<BinaryField1b> for AESTowerField128b
impl Sub<BinaryField1b> for AESTowerField128b
source§type Output = AESTowerField128b
type Output = AESTowerField128b
The resulting type after applying the
-
operator.source§impl Sub<BinaryField1b> for AESTowerField16b
impl Sub<BinaryField1b> for AESTowerField16b
source§type Output = AESTowerField16b
type Output = AESTowerField16b
The resulting type after applying the
-
operator.source§impl Sub<BinaryField1b> for AESTowerField32b
impl Sub<BinaryField1b> for AESTowerField32b
source§type Output = AESTowerField32b
type Output = AESTowerField32b
The resulting type after applying the
-
operator.source§impl Sub<BinaryField1b> for AESTowerField64b
impl Sub<BinaryField1b> for AESTowerField64b
source§type Output = AESTowerField64b
type Output = AESTowerField64b
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<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<BinaryField1b> for BinaryField128bPolyval
impl Sub<BinaryField1b> for BinaryField128bPolyval
source§type Output = BinaryField128bPolyval
type Output = BinaryField128bPolyval
The resulting type after applying the
-
operator.source§impl Sub<BinaryField1b> for BinaryField16b
impl Sub<BinaryField1b> for BinaryField16b
source§type Output = BinaryField16b
type Output = BinaryField16b
The resulting type after applying the
-
operator.source§impl Sub<BinaryField1b> for BinaryField2b
impl Sub<BinaryField1b> for BinaryField2b
source§type Output = BinaryField2b
type Output = BinaryField2b
The resulting type after applying the
-
operator.source§impl Sub<BinaryField1b> for BinaryField32b
impl Sub<BinaryField1b> for BinaryField32b
source§type Output = BinaryField32b
type Output = BinaryField32b
The resulting type after applying the
-
operator.source§impl Sub<BinaryField1b> for BinaryField4b
impl Sub<BinaryField1b> for BinaryField4b
source§type Output = BinaryField4b
type Output = BinaryField4b
The resulting type after applying the
-
operator.source§impl Sub<BinaryField1b> for BinaryField64b
impl Sub<BinaryField1b> for BinaryField64b
source§type Output = BinaryField64b
type Output = BinaryField64b
The resulting type after applying the
-
operator.source§impl Sub<BinaryField1b> for BinaryField8b
impl Sub<BinaryField1b> for BinaryField8b
source§type Output = BinaryField8b
type Output = BinaryField8b
The resulting type after applying the
-
operator.source§impl Sub<BinaryField2b> for BinaryField1b
impl Sub<BinaryField2b> for BinaryField1b
source§type Output = BinaryField2b
type Output = BinaryField2b
The resulting type after applying the
-
operator.source§impl Sub<BinaryField32b> for BinaryField1b
impl Sub<BinaryField32b> for BinaryField1b
source§type Output = BinaryField32b
type Output = BinaryField32b
The resulting type after applying the
-
operator.source§impl Sub<BinaryField4b> for BinaryField1b
impl Sub<BinaryField4b> for BinaryField1b
source§type Output = BinaryField4b
type Output = BinaryField4b
The resulting type after applying the
-
operator.source§impl Sub<BinaryField64b> for BinaryField1b
impl Sub<BinaryField64b> for BinaryField1b
source§type Output = BinaryField64b
type Output = BinaryField64b
The resulting type after applying the
-
operator.source§impl Sub<BinaryField8b> for BinaryField1b
impl Sub<BinaryField8b> for BinaryField1b
source§type Output = BinaryField8b
type Output = BinaryField8b
The resulting type after applying the
-
operator.source§impl Sub for BinaryField1b
impl Sub for BinaryField1b
source§impl SubAssign<&BinaryField1b> for BinaryField1b
impl SubAssign<&BinaryField1b> for BinaryField1b
source§fn sub_assign(&mut self, rhs: &Self)
fn sub_assign(&mut self, rhs: &Self)
Performs the
-=
operation. Read moresource§impl SubAssign<BinaryField1b> for AESTowerField128b
impl SubAssign<BinaryField1b> for AESTowerField128b
source§fn sub_assign(&mut self, rhs: BinaryField1b)
fn sub_assign(&mut self, rhs: BinaryField1b)
Performs the
-=
operation. Read moresource§impl SubAssign<BinaryField1b> for AESTowerField16b
impl SubAssign<BinaryField1b> for AESTowerField16b
source§fn sub_assign(&mut self, rhs: BinaryField1b)
fn sub_assign(&mut self, rhs: BinaryField1b)
Performs the
-=
operation. Read moresource§impl SubAssign<BinaryField1b> for AESTowerField32b
impl SubAssign<BinaryField1b> for AESTowerField32b
source§fn sub_assign(&mut self, rhs: BinaryField1b)
fn sub_assign(&mut self, rhs: BinaryField1b)
Performs the
-=
operation. Read moresource§impl SubAssign<BinaryField1b> for AESTowerField64b
impl SubAssign<BinaryField1b> for AESTowerField64b
source§fn sub_assign(&mut self, rhs: BinaryField1b)
fn sub_assign(&mut self, rhs: BinaryField1b)
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<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<BinaryField1b> for BinaryField128bPolyval
impl SubAssign<BinaryField1b> for BinaryField128bPolyval
source§fn sub_assign(&mut self, rhs: BinaryField1b)
fn sub_assign(&mut self, rhs: BinaryField1b)
Performs the
-=
operation. Read moresource§impl SubAssign<BinaryField1b> for BinaryField16b
impl SubAssign<BinaryField1b> for BinaryField16b
source§fn sub_assign(&mut self, rhs: BinaryField1b)
fn sub_assign(&mut self, rhs: BinaryField1b)
Performs the
-=
operation. Read moresource§impl SubAssign<BinaryField1b> for BinaryField2b
impl SubAssign<BinaryField1b> for BinaryField2b
source§fn sub_assign(&mut self, rhs: BinaryField1b)
fn sub_assign(&mut self, rhs: BinaryField1b)
Performs the
-=
operation. Read moresource§impl SubAssign<BinaryField1b> for BinaryField32b
impl SubAssign<BinaryField1b> for BinaryField32b
source§fn sub_assign(&mut self, rhs: BinaryField1b)
fn sub_assign(&mut self, rhs: BinaryField1b)
Performs the
-=
operation. Read moresource§impl SubAssign<BinaryField1b> for BinaryField4b
impl SubAssign<BinaryField1b> for BinaryField4b
source§fn sub_assign(&mut self, rhs: BinaryField1b)
fn sub_assign(&mut self, rhs: BinaryField1b)
Performs the
-=
operation. Read moresource§impl SubAssign<BinaryField1b> for BinaryField64b
impl SubAssign<BinaryField1b> for BinaryField64b
source§fn sub_assign(&mut self, rhs: BinaryField1b)
fn sub_assign(&mut self, rhs: BinaryField1b)
Performs the
-=
operation. Read moresource§impl SubAssign<BinaryField1b> for BinaryField8b
impl SubAssign<BinaryField1b> for BinaryField8b
source§fn sub_assign(&mut self, rhs: BinaryField1b)
fn sub_assign(&mut self, rhs: BinaryField1b)
Performs the
-=
operation. Read moresource§impl SubAssign for BinaryField1b
impl SubAssign for BinaryField1b
source§fn sub_assign(&mut self, rhs: Self)
fn sub_assign(&mut self, rhs: Self)
Performs the
-=
operation. Read moresource§impl<'a> Sum<&'a BinaryField1b> for BinaryField1b
impl<'a> Sum<&'a BinaryField1b> for BinaryField1b
source§impl Sum for BinaryField1b
impl Sum for BinaryField1b
source§impl TowerField for BinaryField1b
impl TowerField for BinaryField1b
source§type Canonical = BinaryField1b
type Canonical = BinaryField1b
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, _: usize) -> Result<Self, Error>
fn mul_primitive(self, _: 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<SmallU<1>> for BinaryField1b
impl TransparentWrapper<SmallU<1>> for BinaryField1b
§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 BinaryField1b
impl TryFrom<AESTowerField128b> for BinaryField1b
source§impl TryFrom<AESTowerField16b> for BinaryField1b
impl TryFrom<AESTowerField16b> for BinaryField1b
source§impl TryFrom<AESTowerField32b> for BinaryField1b
impl TryFrom<AESTowerField32b> for BinaryField1b
source§impl TryFrom<AESTowerField64b> for BinaryField1b
impl TryFrom<AESTowerField64b> for BinaryField1b
source§impl TryFrom<AESTowerField8b> for BinaryField1b
impl TryFrom<AESTowerField8b> for BinaryField1b
source§impl TryFrom<BinaryField128b> for BinaryField1b
impl TryFrom<BinaryField128b> for BinaryField1b
source§impl TryFrom<BinaryField16b> for BinaryField1b
impl TryFrom<BinaryField16b> for BinaryField1b
source§impl TryFrom<BinaryField2b> for BinaryField1b
impl TryFrom<BinaryField2b> for BinaryField1b
source§impl TryFrom<BinaryField32b> for BinaryField1b
impl TryFrom<BinaryField32b> for BinaryField1b
source§impl TryFrom<BinaryField4b> for BinaryField1b
impl TryFrom<BinaryField4b> for BinaryField1b
source§impl TryFrom<BinaryField64b> for BinaryField1b
impl TryFrom<BinaryField64b> for BinaryField1b
source§impl TryFrom<BinaryField8b> for BinaryField1b
impl TryFrom<BinaryField8b> for BinaryField1b
source§impl WithUnderlier for BinaryField1b
impl WithUnderlier for BinaryField1b
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 BinaryField1b
impl Eq for BinaryField1b
impl StructuralPartialEq for BinaryField1b
Auto Trait Implementations§
impl Freeze for BinaryField1b
impl RefUnwindSafe for BinaryField1b
impl Send for BinaryField1b
impl Sync for BinaryField1b
impl Unpin for BinaryField1b
impl UnwindSafe for BinaryField1b
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
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<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.