pub struct BinaryField128bPolyval(/* private fields */);
Implementations§
Trait Implementations§
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<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 for BinaryField128bPolyval
impl Add for BinaryField128bPolyval
source§impl AddAssign<&BinaryField128bPolyval> for BinaryField128bPolyval
impl AddAssign<&BinaryField128bPolyval> for BinaryField128bPolyval
source§fn add_assign(&mut self, rhs: &Self)
fn add_assign(&mut self, rhs: &Self)
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 for BinaryField128bPolyval
impl AddAssign for BinaryField128bPolyval
source§fn add_assign(&mut self, rhs: Self)
fn add_assign(&mut self, rhs: Self)
Performs the
+=
operation. Read moresource§impl AsSinglePacked for BinaryField128bPolyval
impl AsSinglePacked for BinaryField128bPolyval
type Packed = PackedPrimitiveType<M128, BinaryField128bPolyval>
fn to_single_packed(self) -> Self::Packed
fn from_single_packed(value: Self::Packed) -> Self
source§impl BinaryField for BinaryField128bPolyval
impl BinaryField for BinaryField128bPolyval
const MULTIPLICATIVE_GENERATOR: BinaryField128bPolyval = _
const N_BITS: usize = Self::DEGREE
source§impl Clone for BinaryField128bPolyval
impl Clone for BinaryField128bPolyval
source§fn clone(&self) -> BinaryField128bPolyval
fn clone(&self) -> BinaryField128bPolyval
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 BinaryField128bPolyval
impl ConditionallySelectable for BinaryField128bPolyval
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 Debug for BinaryField128bPolyval
impl Debug for BinaryField128bPolyval
source§impl Default for BinaryField128bPolyval
impl Default for BinaryField128bPolyval
source§fn default() -> BinaryField128bPolyval
fn default() -> BinaryField128bPolyval
Returns the “default value” for a type. Read more
source§impl Display for BinaryField128bPolyval
impl Display for BinaryField128bPolyval
source§impl ExtensionField<BinaryField1b> for BinaryField128bPolyval
impl ExtensionField<BinaryField1b> for BinaryField128bPolyval
const DEGREE: usize = 128usize
type Iterator = <[BinaryField1b; 128] as IntoIterator>::IntoIter
fn basis(i: usize) -> Result<Self, Error>
fn from_bases_sparse( base_elems: &[BinaryField1b], log_stride: usize, ) -> Result<Self, Error>
fn iter_bases(&self) -> Self::Iterator
fn from_bases(base_elems: &[F]) -> Result<Self, Error>
source§impl Field for BinaryField128bPolyval
impl Field for BinaryField128bPolyval
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<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<BinaryField128bPolyval> for u128
impl From<BinaryField128bPolyval> for u128
source§fn from(value: BinaryField128bPolyval) -> Self
fn from(value: BinaryField128bPolyval) -> 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<u128> for BinaryField128bPolyval
impl From<u128> for BinaryField128bPolyval
source§impl Hash for BinaryField128bPolyval
impl Hash for BinaryField128bPolyval
source§impl InvertOrZero for BinaryField128bPolyval
impl InvertOrZero for BinaryField128bPolyval
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<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<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 for BinaryField128bPolyval
impl Mul for BinaryField128bPolyval
source§impl MulAssign<&BinaryField128bPolyval> for BinaryField128bPolyval
impl MulAssign<&BinaryField128bPolyval> for BinaryField128bPolyval
source§fn mul_assign(&mut self, rhs: &Self)
fn mul_assign(&mut self, rhs: &Self)
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 for BinaryField128bPolyval
impl MulAssign for BinaryField128bPolyval
source§fn mul_assign(&mut self, rhs: Self)
fn mul_assign(&mut self, rhs: Self)
Performs the
*=
operation. Read moresource§impl Neg for BinaryField128bPolyval
impl Neg for BinaryField128bPolyval
source§impl Ord for BinaryField128bPolyval
impl Ord for BinaryField128bPolyval
source§fn cmp(&self, other: &BinaryField128bPolyval) -> Ordering
fn cmp(&self, other: &BinaryField128bPolyval) -> 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 BinaryField128bPolyval
impl PartialEq for BinaryField128bPolyval
source§impl PartialOrd for BinaryField128bPolyval
impl PartialOrd for BinaryField128bPolyval
source§impl<'a> Product<&'a BinaryField128bPolyval> for BinaryField128bPolyval
impl<'a> Product<&'a BinaryField128bPolyval> for BinaryField128bPolyval
source§impl Product for BinaryField128bPolyval
impl Product for BinaryField128bPolyval
source§impl Square for BinaryField128bPolyval
impl Square for BinaryField128bPolyval
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<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 for BinaryField128bPolyval
impl Sub for BinaryField128bPolyval
source§impl SubAssign<&BinaryField128bPolyval> for BinaryField128bPolyval
impl SubAssign<&BinaryField128bPolyval> for BinaryField128bPolyval
source§fn sub_assign(&mut self, rhs: &Self)
fn sub_assign(&mut self, rhs: &Self)
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 for BinaryField128bPolyval
impl SubAssign for BinaryField128bPolyval
source§fn sub_assign(&mut self, rhs: Self)
fn sub_assign(&mut self, rhs: Self)
Performs the
-=
operation. Read moresource§impl<'a> Sum<&'a BinaryField128bPolyval> for BinaryField128bPolyval
impl<'a> Sum<&'a BinaryField128bPolyval> for BinaryField128bPolyval
source§impl Sum for BinaryField128bPolyval
impl Sum for BinaryField128bPolyval
source§impl TowerField for BinaryField128bPolyval
impl TowerField for BinaryField128bPolyval
source§fn mul_primitive(self, _iota: usize) -> Result<Self, Error>
fn mul_primitive(self, _iota: usize) -> Result<Self, Error>
Multiplies a field element by the canonical primitive element of the extension $T_{\iota + 1} / T_{iota}$. Read more
source§const TOWER_LEVEL: usize = _
const TOWER_LEVEL: usize = _
The level $\iota$ in the tower, where this field is isomorphic to $T_{\iota}$.
fn basis(iota: usize, i: usize) -> Result<Self, Error>
source§impl TransparentWrapper<u128> for BinaryField128bPolyval
impl TransparentWrapper<u128> for BinaryField128bPolyval
§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 WithUnderlier for BinaryField128bPolyval
impl WithUnderlier for BinaryField128bPolyval
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 BinaryField128bPolyval
impl Eq for BinaryField128bPolyval
impl Pod for BinaryField128bPolyval
impl StructuralPartialEq for BinaryField128bPolyval
Auto Trait Implementations§
impl Freeze for BinaryField128bPolyval
impl RefUnwindSafe for BinaryField128bPolyval
impl Send for BinaryField128bPolyval
impl Sync for BinaryField128bPolyval
impl Unpin for BinaryField128bPolyval
impl UnwindSafe for BinaryField128bPolyval
Blanket Implementations§
source§impl<F> ArchOptimal for Fwhere
F: Field,
M128: PackScalar<F>,
impl<F> ArchOptimal for Fwhere
F: Field,
M128: PackScalar<F>,
type OptimalThroughputPacked = <M128 as PackScalar<F>>::Packed
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
§type Bits = T
type Bits = T
Self
must have the same layout as the specified Bits
except for
the possible invalid bit patterns being checked during
is_valid_bit_pattern
.§fn is_valid_bit_pattern(_bits: &T) -> bool
fn is_valid_bit_pattern(_bits: &T) -> bool
If this function returns true, then it must be valid to reinterpret
bits
as &Self
.source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<F> ExtensionField<F> for Fwhere
F: Field,
impl<F> ExtensionField<F> for Fwhere
F: Field,
const DEGREE: usize = 1usize
type Iterator = Once<F>
fn basis(i: usize) -> Result<F, Error>
fn from_bases_sparse(base_elems: &[F], log_stride: usize) -> Result<F, Error>
fn iter_bases(&self) -> <F as ExtensionField<F>>::Iterator
fn from_bases(base_elems: &[F]) -> Result<Self, Error>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§impl<F, PT> PackedExtensionIndexable<F> for PTwhere
F: Field,
PT: PackedExtension<F>,
<PT as PackedField>::Scalar: ExtensionField<F>,
<PT as PackedExtension<F>>::PackedSubfield: PackedFieldIndexable,
impl<F, PT> PackedExtensionIndexable<F> for PTwhere
F: Field,
PT: PackedExtension<F>,
<PT as PackedField>::Scalar: ExtensionField<F>,
<PT as PackedExtension<F>>::PackedSubfield: PackedFieldIndexable,
fn unpack_base_scalars(packed: &[Self]) -> &[F]
fn unpack_base_scalars_mut(packed: &mut [Self]) -> &mut [F]
source§impl<F> PackedField for Fwhere
F: Field,
impl<F> PackedField for Fwhere
F: Field,
source§const LOG_WIDTH: usize = 0usize
const LOG_WIDTH: usize = 0usize
Base-2 logarithm of the number of field elements packed into one packed element.
type Scalar = F
source§unsafe fn get_unchecked(&self, _i: usize) -> <F as PackedField>::Scalar
unsafe fn get_unchecked(&self, _i: usize) -> <F as PackedField>::Scalar
Get the scalar at a given index without bounds checking. Read more
source§unsafe fn set_unchecked(
&mut self,
_i: usize,
scalar: <F as PackedField>::Scalar,
)
unsafe fn set_unchecked( &mut self, _i: usize, scalar: <F as PackedField>::Scalar, )
Set the scalar at a given index without bounds checking. Read more
fn iter(&self) -> impl Iterator<Item = <F as PackedField>::Scalar>
fn random(rng: impl RngCore) -> F
source§fn interleave(self, _other: F, _log_block_len: usize) -> (F, F)
fn interleave(self, _other: F, _log_block_len: usize) -> (F, F)
Interleaves blocks of this packed vector with another packed vector. Read more
fn broadcast(scalar: <F as PackedField>::Scalar) -> F
source§fn invert_or_zero(self) -> F
fn invert_or_zero(self) -> F
Returns the packed inverse values or zeroes at indices where
self
is zero.source§fn from_fn(f: impl FnMut(usize) -> <F as PackedField>::Scalar) -> F
fn from_fn(f: impl FnMut(usize) -> <F as PackedField>::Scalar) -> F
Construct a packed field element from a function that returns scalar values by index.
source§fn get_checked(&self, i: usize) -> Result<Self::Scalar, Error>
fn get_checked(&self, i: usize) -> Result<Self::Scalar, Error>
Get the scalar at a given index.
source§fn set_checked(&mut self, i: usize, scalar: Self::Scalar) -> Result<(), Error>
fn set_checked(&mut self, i: usize, scalar: Self::Scalar) -> Result<(), Error>
Set the scalar at a given index.
fn into_iter(self) -> impl Iterator<Item = Self::Scalar>
fn zero() -> Self
fn one() -> Self
source§fn set_single(scalar: Self::Scalar) -> Self
fn set_single(scalar: Self::Scalar) -> Self
Initialize zero position with
scalar
, set other elements to zero.source§fn from_scalars(values: impl IntoIterator<Item = Self::Scalar>) -> Self
fn from_scalars(values: impl IntoIterator<Item = Self::Scalar>) -> Self
Construct a packed field element from a sequence of scalars. Read more
source§impl<S, P> PackedFieldIndexable for Pwhere
S: Field,
P: PackedDivisible<S, Scalar = S>,
impl<S, P> PackedFieldIndexable for Pwhere
S: Field,
P: PackedDivisible<S, Scalar = S>,
fn unpack_scalars(packed: &[P]) -> &[<P as PackedField>::Scalar]
fn unpack_scalars_mut(packed: &mut [P]) -> &mut [<P as PackedField>::Scalar]
§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<PT> TaggedInvertOrZero<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<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.