pub struct DecomposableMIPSFoldingConfig;
Trait Implementations§
source§impl Clone for DecomposableMIPSFoldingConfig
impl Clone for DecomposableMIPSFoldingConfig
source§fn clone(&self) -> DecomposableMIPSFoldingConfig
fn clone(&self) -> DecomposableMIPSFoldingConfig
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl FoldingConfig for DecomposableMIPSFoldingConfig
impl FoldingConfig for DecomposableMIPSFoldingConfig
type Column = Column
type Selector = Instruction
§type Challenge = Challenge
type Challenge = Challenge
The type of an abstract challenge that can be found in the expressions
provided as constraints.
§type Curve = Affine<<Config as BnConfig>::G1Config>
type Curve = Affine<<Config as BnConfig>::G1Config>
The target curve used by the polynomial commitment
§type Srs = PairingSRS<Bn<Config>>
type Srs = PairingSRS<Bn<Config>>
The SRS used by the polynomial commitment. The SRS is used to commit to
the additional columns that are added by the quadraticization.
§type Instance = FoldingInstance<N_MIPS_COLS, Affine<<Config as BnConfig>::G1Config>>
type Instance = FoldingInstance<N_MIPS_COLS, Affine<<Config as BnConfig>::G1Config>>
For Plonk, it will be the commitments to the polynomials and the challenges
§type Witness = FoldingWitness<N_MIPS_COLS, Fp<MontBackend<FrConfig, 4>, 4>>
type Witness = FoldingWitness<N_MIPS_COLS, Fp<MontBackend<FrConfig, 4>, 4>>
For PlonK, it will be the polynomials in evaluation form that we commit
to, i.e. the columns.
In the generic prover/verifier, it would be
kimchi_msm::witness::Witness
.type Structure = ()
type Env = DecomposedFoldingEnvironment<N_MIPS_COLS, N_MIPS_REL_COLS, N_MIPS_SEL_COLS, DecomposableMIPSFoldingConfig, ()>
source§impl Hash for DecomposableMIPSFoldingConfig
impl Hash for DecomposableMIPSFoldingConfig
source§impl PartialEq<DecomposableMIPSFoldingConfig> for DecomposableMIPSFoldingConfig
impl PartialEq<DecomposableMIPSFoldingConfig> for DecomposableMIPSFoldingConfig
source§fn eq(&self, other: &DecomposableMIPSFoldingConfig) -> bool
fn eq(&self, other: &DecomposableMIPSFoldingConfig) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl Tracer<N_MIPS_REL_COLS, DecomposableMIPSFoldingConfig, Env<<<DecomposableMIPSFoldingConfig as FoldingConfig>::Curve as AffineRepr>::ScalarField>> for MIPSTrace
impl Tracer<N_MIPS_REL_COLS, DecomposableMIPSFoldingConfig, Env<<<DecomposableMIPSFoldingConfig as FoldingConfig>::Curve as AffineRepr>::ScalarField>> for MIPSTrace
type Selector = ()
source§fn init(
domain_size: usize,
instr: Instruction,
env: &mut Env<<<DecomposableMIPSFoldingConfig as FoldingConfig>::Curve as AffineRepr>::ScalarField>
) -> Self
fn init( domain_size: usize, instr: Instruction, env: &mut Env<<<DecomposableMIPSFoldingConfig as FoldingConfig>::Curve as AffineRepr>::ScalarField> ) -> Self
Initialize a new trace with the given domain size, selector, and environment.
source§fn push_row(
&mut self,
_selector: Self::Selector,
row: &[<<DecomposableMIPSFoldingConfig as FoldingConfig>::Curve as AffineRepr>::ScalarField; 100]
)
fn push_row( &mut self, _selector: Self::Selector, row: &[<<DecomposableMIPSFoldingConfig as FoldingConfig>::Curve as AffineRepr>::ScalarField; 100] )
Add a witness row to the circuit (only for relation columns)
source§fn pad_with_row(
&mut self,
_selector: Self::Selector,
row: &[<<DecomposableMIPSFoldingConfig as FoldingConfig>::Curve as AffineRepr>::ScalarField; 100]
) -> usize
fn pad_with_row( &mut self, _selector: Self::Selector, row: &[<<DecomposableMIPSFoldingConfig as FoldingConfig>::Curve as AffineRepr>::ScalarField; 100] ) -> usize
Pad the rows of one opcode with the given row until
reaching the domain size if needed.
Returns the number of rows that were added.
It does not add selector columns.
source§fn pad_with_zeros(&mut self, _selector: Self::Selector) -> usize
fn pad_with_zeros(&mut self, _selector: Self::Selector) -> usize
Pads the rows of one opcode with zero rows until
reaching the domain size if needed.
Returns the number of rows that were added.
It does not add selector columns.
impl Eq for DecomposableMIPSFoldingConfig
impl StructuralEq for DecomposableMIPSFoldingConfig
impl StructuralPartialEq for DecomposableMIPSFoldingConfig
Auto Trait Implementations§
impl RefUnwindSafe for DecomposableMIPSFoldingConfig
impl Send for DecomposableMIPSFoldingConfig
impl Sync for DecomposableMIPSFoldingConfig
impl Unpin for DecomposableMIPSFoldingConfig
impl UnwindSafe for DecomposableMIPSFoldingConfig
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<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more