pub struct Binomial<F>(/* private fields */);Expand description
Marker for the binomial reducer X^D - W (degree-generic).
Trait Implementations§
impl<F> Copy for Binomial<F>where
F: Copy,
impl<F> Eq for Binomial<F>where
F: Eq,
Source§impl<F, const D: usize> ExtensionAlgebra<ExtField<F, 2, Binomial<F>>, D, Binomial<ExtField<F, 2, Binomial<F>>>> for ExtField<F, 2, Binomial<F>>where
F: HasComplexBinomialExtension<D>,
impl<F, const D: usize> ExtensionAlgebra<ExtField<F, 2, Binomial<F>>, D, Binomial<ExtField<F, 2, Binomial<F>>>> for ExtField<F, 2, Binomial<F>>where
F: HasComplexBinomialExtension<D>,
Source§fn ext_mul(
a: &[ExtField<F, 2, Binomial<F>>; D],
b: &[ExtField<F, 2, Binomial<F>>; D],
res: &mut [ExtField<F, 2, Binomial<F>>; D],
)
fn ext_mul( a: &[ExtField<F, 2, Binomial<F>>; D], b: &[ExtField<F, 2, Binomial<F>>; D], res: &mut [ExtField<F, 2, Binomial<F>>; D], )
Multiplication in the algebra extension ring.
Source§fn ext_square(a: &[Self; D], res: &mut [Self; D])
fn ext_square(a: &[Self; D], res: &mut [Self; D])
Squaring in the algebra extension ring. Read more
Source§fn ext_base_mul(lhs: [Self; D], rhs: Self) -> [Self; D]
fn ext_base_mul(lhs: [Self; D], rhs: Self) -> [Self; D]
Multiply an extension element by a base-field scalar.
Source§impl<F> ExtensionAlgebra<F, 2, Binomial<F>> for Fwhere
F: ComplexExtendable,
impl<F> ExtensionAlgebra<F, 2, Binomial<F>> for Fwhere
F: ComplexExtendable,
Source§fn ext_mul(a: &[F; 2], b: &[F; 2], res: &mut [F; 2])
fn ext_mul(a: &[F; 2], b: &[F; 2], res: &mut [F; 2])
Multiplication in the algebra extension ring.
Source§fn ext_square(a: &[Self; D], res: &mut [Self; D])
fn ext_square(a: &[Self; D], res: &mut [Self; D])
Squaring in the algebra extension ring. Read more
Source§fn ext_base_mul(lhs: [Self; D], rhs: Self) -> [Self; D]
fn ext_base_mul(lhs: [Self; D], rhs: Self) -> [Self; D]
Multiply an extension element by a base-field scalar.
Source§impl ExtensionAlgebra<Felt, 2, Binomial<Felt>> for Felt
impl ExtensionAlgebra<Felt, 2, Binomial<Felt>> for Felt
Source§fn ext_mul(a: &[Self; 2], b: &[Self; 2], res: &mut [Self; 2])
fn ext_mul(a: &[Self; 2], b: &[Self; 2], res: &mut [Self; 2])
Multiplication in the algebra extension ring.
Source§fn ext_square(a: &[Self; D], res: &mut [Self; D])
fn ext_square(a: &[Self; D], res: &mut [Self; D])
Squaring in the algebra extension ring. Read more
Source§fn ext_base_mul(lhs: [Self; D], rhs: Self) -> [Self; D]
fn ext_base_mul(lhs: [Self; D], rhs: Self) -> [Self; D]
Multiply an extension element by a base-field scalar.
Source§impl ExtensionAlgebra<Felt, 5, Binomial<Felt>> for Felt
impl ExtensionAlgebra<Felt, 5, Binomial<Felt>> for Felt
Source§fn ext_mul(a: &[Self; 5], b: &[Self; 5], res: &mut [Self; 5])
fn ext_mul(a: &[Self; 5], b: &[Self; 5], res: &mut [Self; 5])
Multiplication in the algebra extension ring.
Source§fn ext_square(a: &[Self; D], res: &mut [Self; D])
fn ext_square(a: &[Self; D], res: &mut [Self; D])
Squaring in the algebra extension ring. Read more
Source§fn ext_base_mul(lhs: [Self; D], rhs: Self) -> [Self; D]
fn ext_base_mul(lhs: [Self; D], rhs: Self) -> [Self; D]
Multiply an extension element by a base-field scalar.
Source§impl ExtensionAlgebra<Goldilocks, 2, Binomial<Goldilocks>> for Goldilocks
impl ExtensionAlgebra<Goldilocks, 2, Binomial<Goldilocks>> for Goldilocks
Source§fn ext_mul(a: &[Goldilocks; 2], b: &[Goldilocks; 2], res: &mut [Goldilocks; 2])
fn ext_mul(a: &[Goldilocks; 2], b: &[Goldilocks; 2], res: &mut [Goldilocks; 2])
Multiplication in the algebra extension ring.
Source§fn ext_square(a: &[Self; D], res: &mut [Self; D])
fn ext_square(a: &[Self; D], res: &mut [Self; D])
Squaring in the algebra extension ring. Read more
Source§fn ext_base_mul(lhs: [Self; D], rhs: Self) -> [Self; D]
fn ext_base_mul(lhs: [Self; D], rhs: Self) -> [Self; D]
Multiply an extension element by a base-field scalar.
Source§impl ExtensionAlgebra<Goldilocks, 5, Binomial<Goldilocks>> for Goldilocks
impl ExtensionAlgebra<Goldilocks, 5, Binomial<Goldilocks>> for Goldilocks
Source§fn ext_mul(a: &[Goldilocks; 5], b: &[Goldilocks; 5], res: &mut [Goldilocks; 5])
fn ext_mul(a: &[Goldilocks; 5], b: &[Goldilocks; 5], res: &mut [Goldilocks; 5])
Multiplication in the algebra extension ring.
Source§fn ext_square(a: &[Self; D], res: &mut [Self; D])
fn ext_square(a: &[Self; D], res: &mut [Self; D])
Squaring in the algebra extension ring. Read more
Source§fn ext_base_mul(lhs: [Self; D], rhs: Self) -> [Self; D]
fn ext_base_mul(lhs: [Self; D], rhs: Self) -> [Self; D]
Multiply an extension element by a base-field scalar.
Source§impl<const WIDTH: usize, FP> ExtensionAlgebra<MontyField31<FP>, WIDTH, Binomial<MontyField31<FP>>> for MontyField31<FP>where
FP: BinomialExtensionData<WIDTH> + FieldParameters,
impl<const WIDTH: usize, FP> ExtensionAlgebra<MontyField31<FP>, WIDTH, Binomial<MontyField31<FP>>> for MontyField31<FP>where
FP: BinomialExtensionData<WIDTH> + FieldParameters,
Source§fn ext_mul(
a: &[MontyField31<FP>; WIDTH],
b: &[MontyField31<FP>; WIDTH],
res: &mut [MontyField31<FP>; WIDTH],
)
fn ext_mul( a: &[MontyField31<FP>; WIDTH], b: &[MontyField31<FP>; WIDTH], res: &mut [MontyField31<FP>; WIDTH], )
Multiplication in the algebra extension ring.
Source§fn ext_add(
a: &[MontyField31<FP>; WIDTH],
b: &[MontyField31<FP>; WIDTH],
) -> [MontyField31<FP>; WIDTH]
fn ext_add( a: &[MontyField31<FP>; WIDTH], b: &[MontyField31<FP>; WIDTH], ) -> [MontyField31<FP>; WIDTH]
Coefficient-wise addition.
Source§fn ext_sub(
a: &[MontyField31<FP>; WIDTH],
b: &[MontyField31<FP>; WIDTH],
) -> [MontyField31<FP>; WIDTH]
fn ext_sub( a: &[MontyField31<FP>; WIDTH], b: &[MontyField31<FP>; WIDTH], ) -> [MontyField31<FP>; WIDTH]
Coefficient-wise subtraction.
Source§fn ext_base_mul(
lhs: [MontyField31<FP>; WIDTH],
rhs: MontyField31<FP>,
) -> [MontyField31<FP>; WIDTH]
fn ext_base_mul( lhs: [MontyField31<FP>; WIDTH], rhs: MontyField31<FP>, ) -> [MontyField31<FP>; WIDTH]
Multiply an extension element by a base-field scalar.
impl<F> ExtensionShape for Binomial<F>where
F: Field,
Source§impl<F> Ord for Binomial<F>where
F: Ord,
impl<F> Ord for Binomial<F>where
F: Ord,
1.21.0 (const: unstable) · 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<F> PartialEq for Binomial<F>where
F: PartialEq,
impl<F> PartialEq for Binomial<F>where
F: PartialEq,
Source§impl<F> PartialOrd for Binomial<F>where
F: PartialOrd,
impl<F> PartialOrd for Binomial<F>where
F: PartialOrd,
impl<F> StructuralPartialEq for Binomial<F>where
F: PartialEq,
Auto Trait Implementations§
impl<F> Freeze for Binomial<F>
impl<F> RefUnwindSafe for Binomial<F>where
F: RefUnwindSafe,
impl<F> Send for Binomial<F>where
F: Send,
impl<F> Sync for Binomial<F>where
F: Sync,
impl<F> Unpin for Binomial<F>where
F: Unpin,
impl<F> UnsafeUnpin for Binomial<F>
impl<F> UnwindSafe for Binomial<F>where
F: UnwindSafe,
Blanket Implementations§
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§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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 more