pub struct RingSwitchEqInd<FS, F>where
FS: Field,
F: ExtensionField<FS>,{ /* private fields */ }
Expand description
This struct provides functionality for the multilinear function $A$ from DP24 Section 5.
The function $A$ is $\ell’:= \ell - \kappa$-variate and depends on the last $\ell’$ coordinates of the evaluation point as well as the $\kappa$ mixing challenges. The struct takes as generics both a small and a big field.
Implementations§
source§impl<FS, F> RingSwitchEqInd<FS, F>
impl<FS, F> RingSwitchEqInd<FS, F>
pub fn new(r_evals: Vec<F>, r_mixing_challenges: Vec<F>) -> Result<Self, Error>
pub fn multilinear_extension<P, Backend>(
&self,
backend: &Backend,
) -> Result<MultilinearExtension<P, Backend::Vec<P>>, Error>where
P: PackedFieldIndexable<Scalar = F>,
Backend: ComputationBackend,
Trait Implementations§
source§impl<FS, F> Debug for RingSwitchEqInd<FS, F>
impl<FS, F> Debug for RingSwitchEqInd<FS, F>
source§impl<FS, F> MultivariatePoly<F> for RingSwitchEqInd<FS, F>where
FS: TowerField,
F: ExtensionField<FS> + PackedField<Scalar = F> + PackedExtension<FS> + TowerField,
impl<FS, F> MultivariatePoly<F> for RingSwitchEqInd<FS, F>where
FS: TowerField,
F: ExtensionField<FS> + PackedField<Scalar = F> + PackedExtension<FS> + TowerField,
Auto Trait Implementations§
impl<FS, F> Freeze for RingSwitchEqInd<FS, F>
impl<FS, F> RefUnwindSafe for RingSwitchEqInd<FS, F>where
<F as WithUnderlier>::Underlier: Sized,
<FS as WithUnderlier>::Underlier: Sized,
FS: RefUnwindSafe,
F: RefUnwindSafe,
impl<FS, F> Send for RingSwitchEqInd<FS, F>
impl<FS, F> Sync for RingSwitchEqInd<FS, F>
impl<FS, F> Unpin for RingSwitchEqInd<FS, F>where
<F as WithUnderlier>::Underlier: Sized,
<FS as WithUnderlier>::Underlier: Sized,
FS: Unpin,
F: Unpin,
impl<FS, F> UnwindSafe for RingSwitchEqInd<FS, F>where
<F as WithUnderlier>::Underlier: Sized,
<FS as WithUnderlier>::Underlier: Sized,
FS: UnwindSafe,
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
§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 more