diff --git a/rustdoc/help.html b/rustdoc/help.html index 5f6a6e11c2..20c79678f5 100644 --- a/rustdoc/help.html +++ b/rustdoc/help.html @@ -1 +1 @@ -Rustdoc help

Rustdoc help

Back
\ No newline at end of file +Rustdoc help

Rustdoc help

Back
\ No newline at end of file diff --git a/rustdoc/implementors/core/clone/trait.Clone.js b/rustdoc/implementors/core/clone/trait.Clone.js index f6845d0709..88db6a1f2f 100644 --- a/rustdoc/implementors/core/clone/trait.Clone.js +++ b/rustdoc/implementors/core/clone/trait.Clone.js @@ -2,7 +2,7 @@ "arrabiata":[["impl Clone for Gadget"],["impl Clone for Column"],["impl Clone for Instruction"],["impl Clone for GadgetIter"],["impl Clone for ChallengeTerm"],["impl<Fp: Clone + Field> Clone for Env<Fp>"]], "folding":[["impl<C> Clone for FoldingExp<C>where\n C: FoldingConfig,"],["impl<G: Clone + CommitmentCurve, I: Clone + Instance<G>> Clone for RelaxedInstance<G, I>where\n G::ScalarField: Clone,"],["impl<C> Clone for ExtendedFoldingColumn<C>where\n C: FoldingConfig,"],["impl Clone for Degree"],["impl<'a, F: Clone> Clone for EvalLeaf<'a, F>"],["impl<G: Clone + CommitmentCurve, I: Clone + Instance<G>> Clone for ExtendedInstance<G, I>"],["impl Clone for Column"],["impl<C> Clone for FoldingCompatibleExpr<C>where\n C: FoldingConfig,"],["impl<C> Clone for FoldingCompatibleExprInner<C>where\n C: FoldingConfig,"],["impl<G: Clone + CommitmentCurve, W: Clone + Witness<G>> Clone for RelaxedWitness<G, W>where\n G::ScalarField: Clone,"],["impl<C> Clone for IntegratedFoldingExpr<C>where\n C: FoldingConfig,"],["impl<F: Clone + Field> Clone for Alphas<F>"],["impl<C> Clone for Term<C>where\n C: FoldingConfig,"],["impl Clone for Sign"],["impl Clone for Side"],["impl<G: Clone + CommitmentCurve, W: Clone + Witness<G>> Clone for ExtendedWitness<G, W>where\n G::ScalarField: Clone,"],["impl<C> Clone for ExpExtension<C>where\n C: FoldingConfig,"],["impl<G: Clone + KimchiCurve> Clone for EmptyStructure<G>where\n G::ScalarField: Clone,"]], "groupmap":[["impl<G: Clone + SWCurveConfig> Clone for BWParameters<G>where\n G::BaseField: Clone,"]], -"ivc":[["impl<G: Clone + CommitmentCurve, const N_COL: usize, const N_CHALS: usize, const N_ALPHAS: usize> Clone for PlonkishInstance<G, N_COL, N_CHALS, N_ALPHAS>where\n G::ScalarField: Clone,"],["impl Clone for PlonkSpongeConstantsIVC"],["impl<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, F: Clone> Clone for ProofEvaluations<N_WIT, N_REL, N_DSEL, N_FSEL, F>"],["impl Clone for IVCColumn"],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize, const NB_PARTIAL_ROUND: usize> Clone for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND, NB_PARTIAL_ROUND>"],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize> Clone for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND>"],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize> Clone for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND>"],["impl Clone for ProverError"],["impl<Ff: Clone> Clone for IVCLookupTable<Ff>"],["impl Clone for PlonkishChallengeIter"],["impl Clone for PlonkSpongeConstantsIVC"],["impl<G: Clone + KimchiCurve> Clone for GenericVecStructure<G>where\n G::ScalarField: Clone,"],["impl<const N_WIT: usize, G: Clone + KimchiCurve> Clone for ProofCommitments<N_WIT, G>"],["impl Clone for PlonkishChallenge"],["impl<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, G: Clone + KimchiCurve, OpeningProof: Clone + OpenProof<G>> Clone for Proof<N_WIT, N_REL, N_DSEL, N_FSEL, G, OpeningProof>where\n G::ScalarField: Clone,"],["impl<const N_COL: usize, const N_FSEL: usize, F: Clone + Field, Evals: Clone> Clone for PlonkishWitnessGeneric<N_COL, N_FSEL, F, Evals>"]], +"ivc":[["impl<G: Clone + CommitmentCurve, const N_COL: usize, const N_CHALS: usize, const N_ALPHAS: usize> Clone for PlonkishInstance<G, N_COL, N_CHALS, N_ALPHAS>where\n G::ScalarField: Clone,"],["impl Clone for PlonkSpongeConstantsIVC"],["impl<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, F: Clone> Clone for ProofEvaluations<N_WIT, N_REL, N_DSEL, N_FSEL, F>"],["impl Clone for IVCColumn"],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize, const NB_PARTIAL_ROUND: usize> Clone for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND, NB_PARTIAL_ROUND>"],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize> Clone for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND>"],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize> Clone for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND>"],["impl Clone for ProverError"],["impl<Ff: Clone> Clone for IVCLookupTable<Ff>"],["impl Clone for PlonkishChallengeIter"],["impl Clone for PlonkSpongeConstantsIVC"],["impl<G: Clone + KimchiCurve> Clone for GenericVecStructure<G>where\n G::ScalarField: Clone,"],["impl<const N_WIT: usize, G: Clone + KimchiCurve> Clone for ProofCommitments<N_WIT, G>"],["impl Clone for PlonkishChallenge"],["impl<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, G: Clone + KimchiCurve, OpeningProof: Clone + OpenProof<G>> Clone for Proof<N_WIT, N_REL, N_DSEL, N_FSEL, G, OpeningProof>where\n G::ScalarField: Clone,"],["impl<const N_COL: usize, const N_FSEL: usize, F: Clone + Field, Evals: Clone> Clone for PlonkishWitnessGeneric<N_COL, N_FSEL, F, Evals>"]], "kimchi":[["impl<F: Clone + 'static> Clone for Constants<F>"],["impl Clone for LookupPatterns"],["impl<F: Clone + FftField> Clone for WitnessOverDomains<F>"],["impl<Evals: Clone> Clone for PointEvaluations<Evals>"],["impl Clone for LookupError"],["impl Clone for ArgumentType"],["impl<G: Clone> Clone for TestSRS<G>"],["impl Clone for GateType"],["impl<CamlF: Clone> Clone for CamlProofEvaluations<CamlF>"],["impl<G> Clone for RecursionChallenge<G>where\n G: AffineRepr + Clone,\n G::ScalarField: Clone,"],["impl Clone for FFOps"],["impl<F: Clone> Clone for LookupConfiguration<F>"],["impl<G: Clone + AffineRepr> Clone for LookupCommitments<G>"],["impl<CamlG: Clone> Clone for CamlProverCommitments<CamlG>"],["impl<F: Clone + Field> Clone for RandomOracles<F>"],["impl<Field> Clone for SnarkyConstraintSystem<Field>where\n Field: PrimeField + Clone,"],["impl<F: Clone, ChallengeTerm: Clone> Clone for ConstantExprInner<F, ChallengeTerm>"],["impl Clone for VerifierIndexError"],["impl Clone for RowOffset"],["impl Clone for Wire"],["impl<F: Clone + FftField> Clone for LookupEvals<F>"],["impl<CamlG: Clone, CamlF: Clone> Clone for CamlRecursionChallenge<CamlG, CamlF>"],["impl Clone for BerkeleyChallengeTerm"],["impl<F: Clone + PrimeField> Clone for CircuitGate<F>"],["impl Clone for CacheId"],["impl<CamlG: Clone> Clone for CamlLookupCommitments<CamlG>"],["impl<F: Clone> Clone for RuntimeTable<F>"],["impl<G: Clone + KimchiCurve, OpeningProof: Clone + OpenProof<G>> Clone for ProverIndex<G, OpeningProof>where\n G::ScalarField: Clone,\n OpeningProof::SRS: Clone,\n G::BaseField: Clone,"],["impl<T: Clone> Clone for LookupSelectors<T>"],["impl<G: Clone + CommitmentCurve> Clone for LookupVerifierIndex<G>"],["impl Clone for VerifyError"],["impl<F: Clone> Clone for Alphas<F>"],["impl Clone for GateLookupTables"],["impl<F: Clone> Clone for SingleLookup<F>"],["impl<SingleLookup: Clone, LookupTableID: Clone> Clone for JointLookup<SingleLookup, LookupTableID>"],["impl Clone for DomainCreationError"],["impl<F: Clone + PrimeField> Clone for ConstraintSystem<F>"],["impl Clone for Traces"],["impl Clone for ProverError"],["impl<F: Clone + FftField> Clone for WitnessShifts<F>"],["impl Clone for LookupPattern"],["impl Clone for FeatureFlags"],["impl<T: Clone> Clone for Operations<T>"],["impl Clone for LookupInfo"],["impl<F: Clone> Clone for FullChallenge<F>"],["impl<F: Clone> Clone for LookupTable<F>"],["impl Clone for LocalPosition"],["impl Clone for LookupPatternIter"],["impl<T: Clone> Clone for DisjointSet<T>"],["impl<G: Clone + AffineRepr, OpeningProof: Clone> Clone for ProverProof<G, OpeningProof>where\n G::ScalarField: Clone,"],["impl<F: Clone + FftField> Clone for EvaluationDomains<F>"],["impl Clone for SnarkyError"],["impl<F: Clone, Column: Clone, ChallengeTerm: Clone> Clone for PolishToken<F, Column, ChallengeTerm>"],["impl<F: Clone + FftField> Clone for DomainConstantEvaluations<F>"],["impl<G: Clone + KimchiCurve, OpeningProof: Clone + OpenProof<G>> Clone for VerifierIndex<G, OpeningProof>where\n G::ScalarField: Clone,\n OpeningProof::SRS: Clone,"],["impl Clone for CircuitGateError"],["impl<F: Clone> Clone for GenericGateSpec<F>"],["impl<F: Clone + FftField> Clone for WitnessEvals<F>"],["impl<F: Clone + Field> Clone for Constants<F>"],["impl Clone for RuntimeTableSpec"],["impl<C: Clone, Column: Clone> Clone for ExprInner<C, Column>"],["impl Clone for Column"],["impl<Evals: Clone> Clone for ProofEvaluations<Evals>"],["impl<Column: Clone> Clone for Variable<Column>"],["impl Clone for SnarkyCompilationError"],["impl<F: Clone> Clone for RuntimeTableCfg<F>"],["impl<F: Clone> Clone for ForeignElement<F>"],["impl Clone for LookupFeatures"],["impl Clone for RotMode"],["impl Clone for Domain"],["impl<F: Clone + FftField> Clone for LookupPolys<F>"],["impl<F> Clone for FieldVar<F>where\n F: PrimeField + Clone,"],["impl Clone for SnarkyRuntimeError"],["impl<E: Clone, Column: Clone> Clone for Linearization<E, Column>"],["impl Clone for FeatureFlag"],["impl<G: Clone + AffineRepr> Clone for ProverCommitments<G>"],["impl<F: Clone> Clone for ConstantTerm<F>"],["impl Clone for CurrOrNext"],["impl<F: Clone + PrimeField> Clone for ColumnEvaluations<F>"],["impl<F: Clone + FftField> Clone for LookupShifts<F>"],["impl Clone for StoredSRSType"],["impl<F: Clone + PrimeField> Clone for EvaluatedColumnCoefficients<F>"],["impl Clone for GateLookupTable"],["impl Clone for LookupTableID"],["impl Clone for SetupError"],["impl<F: Clone + PrimeField> Clone for Boolean<F>"],["impl<F: Clone + FftField> Clone for LookupConstraintSystem<F>"]], "kimchi_msm":[["impl<Ff> Clone for LookupTableIter<Ff>"],["impl<T: Clone> Clone for IdMPrism<T>"],["impl Clone for SerializationColumn"],["impl<Ff: Clone> Clone for LookupTable<Ff>"],["impl Clone for FECColumnInput"],["impl<T: Clone, ID: Clone> Clone for LookupProof<T, ID>"],["impl Clone for DummyLookupTable"],["impl Clone for LookupTable"],["impl Clone for TestColumn"],["impl<Ff> Clone for LookupTableIter<Ff>"],["impl Clone for FECColumn"],["impl Clone for Column"],["impl Clone for FECColumnOutput"],["impl<F: Clone, ID: Clone + LookupTableID> Clone for LookupTable<F, ID>"],["impl<Ff: Clone> Clone for LookupTable<Ff>"],["impl<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, F: Clone, ID: Clone + LookupTableID> Clone for ProofEvaluations<N_WIT, N_REL, N_DSEL, N_FSEL, F, ID>"],["impl<const N_WIT: usize, G: Clone + KimchiCurve, ID: Clone + LookupTableID> Clone for ProofCommitments<N_WIT, G, ID>"],["impl Clone for FECColumnInter"],["impl Clone for LookupTableIDs"],["impl Clone for FFAColumn"],["impl<F: Clone, ID: Clone + LookupTableID> Clone for LogupWitness<F, ID>"],["impl<const N_WIT: usize, T: Clone> Clone for Witness<N_WIT, T>"],["impl Clone for ProverError"],["impl Clone for LookupTableIter"],["impl<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, G: Clone + KimchiCurve, OpeningProof: Clone + OpenProof<G>, ID: Clone + LookupTableID> Clone for Proof<N_WIT, N_REL, N_DSEL, N_FSEL, G, OpeningProof, ID>where\n G::ScalarField: Clone,"],["impl<F: Clone, ID: Clone + LookupTableID> Clone for Logup<F, ID>"],["impl Clone for LookupTableIter"],["impl Clone for LookupTable"],["impl<const N_WIT: usize, F: Clone + PrimeField, ID: Clone + LookupTableID> Clone for ProofInputs<N_WIT, F, ID>"],["impl<Pair: Clone + Pairing> Clone for TestPairingSRS<Pair>where\n Pair::G1Affine: Clone,\n Pair::G2Affine: Clone,"]], "mina_curves":[["impl Clone for VestaParameters"],["impl Clone for PallasParameters"],["impl Clone for LegacyPallasParameters"],["impl Clone for LegacyVestaParameters"]], diff --git a/rustdoc/implementors/core/convert/trait.From.js b/rustdoc/implementors/core/convert/trait.From.js index e183dc7263..ab9d17661c 100644 --- a/rustdoc/implementors/core/convert/trait.From.js +++ b/rustdoc/implementors/core/convert/trait.From.js @@ -1,7 +1,7 @@ (function() {var implementors = { "folding":[["impl<F, Col, Config: FoldingConfig<Column = Col>> From<ExprInner<ConstantExprInner<F, BerkeleyChallengeTerm>, Col>> for FoldingCompatibleExprInner<Config>where\n Config::Curve: AffineRepr<ScalarField = F>,\n Config::Challenge: From<BerkeleyChallengeTerm>,"],["impl<F, Config: FoldingConfig> From<ConstantExprInner<F, BerkeleyChallengeTerm>> for FoldingCompatibleExprInner<Config>where\n Config::Curve: AffineRepr<ScalarField = F>,\n Config::Challenge: From<BerkeleyChallengeTerm>,"],["impl<F, Col, Config: FoldingConfig<Column = Col>> From<Operations<ConstantExprInner<F, BerkeleyChallengeTerm>>> for FoldingCompatibleExpr<Config>where\n Config::Curve: AffineRepr<ScalarField = F>,\n Config::Challenge: From<BerkeleyChallengeTerm>,"],["impl<F, Col, Config: FoldingConfig<Column = Col>> From<Operations<ExprInner<ConstantExprInner<F, BerkeleyChallengeTerm>, Col>>> for FoldingCompatibleExpr<Config>where\n Config::Curve: AffineRepr<ScalarField = F>,\n Config::Challenge: From<BerkeleyChallengeTerm>,"],["impl<F, Col, Config: FoldingConfig<Column = Col>> From<Operations<ExprInner<Operations<ConstantExprInner<F, BerkeleyChallengeTerm>>, Col>>> for FoldingCompatibleExpr<Config>where\n Config::Curve: AffineRepr<ScalarField = F>,\n Config::Challenge: From<BerkeleyChallengeTerm>,"]], "internal_tracing":[["impl From<u64> for TimeInput"],["impl From<SystemTime> for TimeInput"]], -"ivc":[["impl From<BerkeleyChallengeTerm> for PlonkishChallenge"]], +"ivc":[["impl From<BerkeleyChallengeTerm> for PlonkishChallenge"]], "kimchi":[["impl From<LookupFeatures> for JsValue"],["impl<F, CamlF> From<CamlRuntimeTableCfg<CamlF>> for RuntimeTableCfg<F>where\n F: PrimeField,\n CamlF: Into<F>,"],["impl From<CurrOrNext> for JsValue"],["impl From<CamlWire> for Wire"],["impl<G, CamlG> From<CamlLookupCommitments<CamlG>> for LookupCommitments<G>where\n G: AffineRepr,\n PolyComm<G>: From<CamlPolyComm<CamlG>>,"],["impl<G, CamlG> From<CamlProverCommitments<CamlG>> for ProverCommitments<G>where\n G: AffineRepr,\n PolyComm<G>: From<CamlPolyComm<CamlG>>,"],["impl<F: Field, ChallengeTerm> From<u64> for ConstantExpr<F, ChallengeTerm>"],["impl From<Traces> for String"],["impl<G, CamlG, CamlF> From<RecursionChallenge<G>> for CamlRecursionChallenge<CamlG, CamlF>where\n G: AffineRepr,\n CamlG: From<G>,\n CamlF: From<G::ScalarField>,"],["impl<T> From<T> for Operations<T>"],["impl<F, Column, ChallengeTerm> From<Operations<ConstantExprInner<F, ChallengeTerm>>> for Expr<ConstantExpr<F, ChallengeTerm>, Column>"],["impl<G, CamlG> From<LookupCommitments<G>> for CamlLookupCommitments<CamlG>where\n G: AffineRepr,\n CamlPolyComm<CamlG>: From<PolyComm<G>>,"],["impl<F, CamlF> From<CircuitGate<F>> for CamlCircuitGate<CamlF>where\n CamlF: From<F>,\n F: PrimeField,"],["impl<'a, F: Field, Column, ChallengeTerm: AlphaChallengeTerm<'a>> From<u64> for Expr<ConstantExpr<F, ChallengeTerm>, Column>"],["impl<F, CamlF> From<RuntimeTableCfg<F>> for CamlRuntimeTableCfg<CamlF>where\n F: PrimeField,\n CamlF: From<F>,"],["impl From<Traces> for CamlTraces"],["impl<F, CamlF> From<&CircuitGate<F>> for CamlCircuitGate<CamlF>where\n CamlF: From<F>,\n F: PrimeField,"],["impl<F, CamlF> From<RuntimeTable<F>> for CamlRuntimeTable<CamlF>where\n F: PrimeField,\n CamlF: From<F>,"],["impl<F, CamlF> From<(Option<PointEvaluations<Vec<CamlF, Global>>>, CamlProofEvaluations<CamlF>)> for ProofEvaluations<PointEvaluations<Vec<F>>>where\n F: Clone + From<CamlF>,\n CamlF: Clone,"],["impl<F, CamlF> From<ProofEvaluations<PointEvaluations<Vec<F, Global>>>> for (Option<PointEvaluations<Vec<CamlF>>>, CamlProofEvaluations<CamlF>)where\n F: Clone,\n CamlF: From<F>,"],["impl<F, ChallengeTerm> From<ConstantTerm<F>> for ConstantExpr<F, ChallengeTerm>"],["impl From<LookupPatterns> for JsValue"],["impl<F, CamlF> From<RandomOracles<F>> for CamlRandomOracles<CamlF>where\n F: Field,\n CamlF: From<F>,"],["impl From<Wire> for CamlWire"],["impl From<FeatureFlags> for JsValue"],["impl<'a, F, Column, ChallengeTerm: AlphaChallengeTerm<'a>> From<ChallengeTerm> for Expr<ConstantExpr<F, ChallengeTerm>, Column>"],["impl<F, CamlF> From<CamlRuntimeTable<CamlF>> for RuntimeTable<F>where\n F: PrimeField,\n CamlF: Into<F>,"],["impl<F, ChallengeTerm> From<ConstantTerm<F>> for ConstantExprInner<F, ChallengeTerm>"],["impl<G, CamlG, CamlF> From<CamlProofWithPublic<CamlG, CamlF>> for (ProverProof<G, OpeningProof<G>>, Vec<G::ScalarField>)where\n CamlF: Clone,\n G: AffineRepr + From<CamlG>,\n G::ScalarField: From<CamlF>,"],["impl From<RuntimeTableSpec> for CamlRuntimeTableSpec"],["impl<F, CamlF> From<CamlCircuitGate<CamlF>> for CircuitGate<F>where\n F: From<CamlF> + PrimeField,"],["impl<'a, F> From<&'a ConstraintSystem<F>> for Circuit<'a, F>where\n F: PrimeField,"],["impl<'a, F, Column, ChallengeTerm: AlphaChallengeTerm<'a>> From<ConstantTerm<F>> for Expr<ConstantExpr<F, ChallengeTerm>, Column>"],["impl From<CamlRuntimeTableSpec> for RuntimeTableSpec"],["impl<G: Clone> From<SRS<G>> for TestSRS<G>"],["impl<G, CamlG, CamlF> From<CamlRecursionChallenge<CamlG, CamlF>> for RecursionChallenge<G>where\n G: AffineRepr + From<CamlG>,\n G::ScalarField: From<CamlF>,"],["impl<F> From<RuntimeTableCfg<F>> for RuntimeTableSpec"],["impl<F, CamlF> From<CamlRandomOracles<CamlF>> for RandomOracles<F>where\n CamlF: Into<F>,\n F: Field,"],["impl<F, CamlF> From<LookupTable<F>> for CamlLookupTable<CamlF>where\n F: PrimeField,\n CamlF: From<F>,"],["impl<G> From<TestSRS<G>> for SRS<G>"],["impl<F: Field, Column> From<u64> for Expr<F, Column>"],["impl From<GateType> for JsValue"],["impl From<Wire> for JsValue"],["impl<F, CamlF> From<CamlLookupTable<CamlF>> for LookupTable<F>where\n F: PrimeField,\n CamlF: Into<F>,"],["impl<G, CamlG> From<ProverCommitments<G>> for CamlProverCommitments<CamlG>where\n G: AffineRepr,\n CamlPolyComm<CamlG>: From<PolyComm<G>>,"],["impl<'a, F, ChallengeTerm: AlphaChallengeTerm<'a>> From<ChallengeTerm> for ConstantExprInner<F, ChallengeTerm>"],["impl From<LookupInfo> for JsValue"],["impl<G, CamlG, CamlF> From<(ProverProof<G, OpeningProof<G>>, Vec<<G as AffineRepr>::ScalarField, Global>)> for CamlProofWithPublic<CamlG, CamlF>where\n G: AffineRepr,\n CamlG: From<G>,\n CamlF: From<G::ScalarField>,"],["impl<'a, F, ChallengeTerm: AlphaChallengeTerm<'a>> From<ChallengeTerm> for ConstantExpr<F, ChallengeTerm>"]], "kimchi_msm":[["impl<Pair: Pairing> From<PairingSRS<Pair>> for TestPairingSRS<Pair>"],["impl<Pair: Pairing> From<TestPairingSRS<Pair>> for PairingSRS<Pair>"]], "kimchi_visu":[["impl<F> From<[Vec<F, Global>; 15]> for Witness<F>where\n F: Field,"]], diff --git a/rustdoc/implementors/core/fmt/trait.Debug.js b/rustdoc/implementors/core/fmt/trait.Debug.js index 9eb6d9e153..6a351e7faf 100644 --- a/rustdoc/implementors/core/fmt/trait.Debug.js +++ b/rustdoc/implementors/core/fmt/trait.Debug.js @@ -2,7 +2,7 @@ "arrabiata":[["impl Debug for GadgetIter"],["impl Debug for ChallengeTerm"],["impl Debug for Gadget"],["impl Debug for Column"],["impl<Fp: Debug + Field> Debug for Env<Fp>"],["impl Debug for Instruction"]], "export_test_vectors":[["impl Debug for ParamType"],["impl Debug for TestVector"],["impl Debug for TestVectors"],["impl Debug for Mode"]], "folding":[["impl<'a, F: Debug> Debug for EvalLeaf<'a, F>"],["impl<G: Debug + CommitmentCurve, W: Debug + Witness<G>> Debug for RelaxedWitness<G, W>where\n G::ScalarField: Debug,"],["impl<C> Debug for FoldingCompatibleExprInner<C>where\n C: FoldingConfig,"],["impl<C> Debug for FoldingCompatibleExpr<C>where\n C: FoldingConfig,"],["impl<G, Col, Chall, I, W, Srs, Sel, Str> Debug for StandardConfig<G, Col, Chall, I, W, Srs, Sel, Str>"],["impl<C> Debug for FoldingExp<C>where\n C: FoldingConfig,"],["impl<C> Debug for ExtendedFoldingColumn<C>where\n C: FoldingConfig,"],["impl<C> Debug for ExpExtension<C>where\n C: FoldingConfig,"],["impl<F: Debug + Field> Debug for Alphas<F>"],["impl<C> Debug for IntegratedFoldingExpr<C>where\n C: FoldingConfig,"],["impl<G: Debug + CommitmentCurve, W: Debug + Witness<G>> Debug for ExtendedWitness<G, W>where\n G::ScalarField: Debug,"],["impl<C> Debug for Term<C>where\n C: Debug + FoldingConfig,"],["impl Debug for Sign"],["impl Debug for Degree"],["impl Debug for Column"]], -"ivc":[["impl<const N_WIT: usize, G: Debug + KimchiCurve> Debug for ProofCommitments<N_WIT, G>"],["impl<Ff: Debug> Debug for IVCLookupTable<Ff>"],["impl Debug for PlonkishChallengeIter"],["impl Debug for PlonkishChallenge"],["impl<G: Debug + CommitmentCurve, const N_COL: usize, const N_CHALS: usize, const N_ALPHAS: usize> Debug for PlonkishInstance<G, N_COL, N_CHALS, N_ALPHAS>where\n G::ScalarField: Debug,"],["impl<const N_COL: usize, const N_FSEL: usize, F: Debug + Field, Evals: Debug> Debug for PlonkishWitnessGeneric<N_COL, N_FSEL, F, Evals>"],["impl<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, F: Debug> Debug for ProofEvaluations<N_WIT, N_REL, N_DSEL, N_FSEL, F>"],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize, const NB_PARTIAL_ROUND: usize> Debug for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND, NB_PARTIAL_ROUND>"],["impl Debug for ProverError"],["impl<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, G: Debug + KimchiCurve, OpeningProof: Debug + OpenProof<G>> Debug for Proof<N_WIT, N_REL, N_DSEL, N_FSEL, G, OpeningProof>where\n G::ScalarField: Debug,"],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize> Debug for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND>"],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize> Debug for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND>"],["impl Debug for IVCColumn"]], +"ivc":[["impl<const N_WIT: usize, G: Debug + KimchiCurve> Debug for ProofCommitments<N_WIT, G>"],["impl<Ff: Debug> Debug for IVCLookupTable<Ff>"],["impl Debug for PlonkishChallengeIter"],["impl Debug for PlonkishChallenge"],["impl<G: Debug + CommitmentCurve, const N_COL: usize, const N_CHALS: usize, const N_ALPHAS: usize> Debug for PlonkishInstance<G, N_COL, N_CHALS, N_ALPHAS>where\n G::ScalarField: Debug,"],["impl<const N_COL: usize, const N_FSEL: usize, F: Debug + Field, Evals: Debug> Debug for PlonkishWitnessGeneric<N_COL, N_FSEL, F, Evals>"],["impl<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, F: Debug> Debug for ProofEvaluations<N_WIT, N_REL, N_DSEL, N_FSEL, F>"],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize, const NB_PARTIAL_ROUND: usize> Debug for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND, NB_PARTIAL_ROUND>"],["impl Debug for ProverError"],["impl<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, G: Debug + KimchiCurve, OpeningProof: Debug + OpenProof<G>> Debug for Proof<N_WIT, N_REL, N_DSEL, N_FSEL, G, OpeningProof>where\n G::ScalarField: Debug,"],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize> Debug for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND>"],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize> Debug for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND>"],["impl Debug for IVCColumn"]], "kimchi":[["impl<G: Debug + CommitmentCurve> Debug for LookupVerifierIndex<G>"],["impl<Field> Debug for SnarkyConstraintSystem<Field>where\n Field: PrimeField + Debug,"],["impl Debug for BerkeleyChallengeTerm"],["impl<F: Debug> Debug for FullChallenge<F>"],["impl<F: Debug + PrimeField> Debug for ConstraintSystem<F>"],["impl Debug for LookupPatternIter"],["impl Debug for RuntimeTableSpec"],["impl<G: Debug + KimchiCurve, OpeningProof: Debug + OpenProof<G>> Debug for ProverIndex<G, OpeningProof>where\n G::ScalarField: Debug,\n OpeningProof::SRS: Debug,\n G::BaseField: Debug,"],["impl Debug for Wire"],["impl<F: Debug + PrimeField> Debug for EvaluatedColumnCoefficients<F>"],["impl<G> Debug for RecursionChallenge<G>where\n G: AffineRepr + Debug,\n G::ScalarField: Debug,"],["impl Debug for LookupError"],["impl Debug for GateLookupTable"],["impl Debug for FeatureFlag"],["impl<A: Debug> Debug for EndoscaleScalarRound<A>"],["impl Debug for LookupPatterns"],["impl Debug for CacheId"],["impl Debug for LocalPosition"],["impl<F: Debug + PrimeField> Debug for ColumnEvaluations<F>"],["impl<C: Debug, Column: Debug> Debug for ExprInner<C, Column>"],["impl<F: Debug> Debug for ConstantTerm<F>"],["impl<G: Debug> Debug for TestSRS<G>"],["impl Debug for LookupFeatures"],["impl<G: Debug + AffineRepr> Debug for LookupCommitments<G>"],["impl<F: Debug + Field> Debug for RandomOracles<F>"],["impl<Var: Debug, Field: Debug> Debug for KimchiConstraint<Var, Field>"],["impl Debug for LookupInfo"],["impl<A: Debug> Debug for ScaleRound<A>"],["impl Debug for SnarkyError"],["impl<F: Debug, ChallengeTerm: Debug> Debug for ConstantExprInner<F, ChallengeTerm>"],["impl<Evals: Debug> Debug for ProofEvaluations<Evals>"],["impl Debug for GateLookupTables"],["impl<F: Debug> Debug for Alphas<F>"],["impl<F> Debug for RunState<F>where\n F: PrimeField + Debug,"],["impl Debug for LookupTableID"],["impl<G: Debug + AffineRepr, OpeningProof: Debug> Debug for ProverProof<G, OpeningProof>where\n G::ScalarField: Debug,"],["impl<F: Debug> Debug for Witness<F>"],["impl Debug for CurrOrNext"],["impl Debug for LookupPattern"],["impl Debug for RotMode"],["impl<Var: Debug> Debug for BasicSnarkyConstraint<Var>"],["impl Debug for SetupError"],["impl Debug for ProverError"],["impl<F: Debug + FftField> Debug for DomainConstantEvaluations<F>"],["impl<Var: Debug> Debug for EcEndoscaleInput<Var>"],["impl<F: Debug> Debug for LookupTable<F>"],["impl<T: Debug> Debug for DisjointSet<T>"],["impl<F: Debug> Debug for RuntimeTable<F>"],["impl<A: Debug> Debug for EndoscaleRound<A>"],["impl<Column: Debug> Debug for ExprError<Column>"],["impl Debug for Column"],["impl<Var: Debug, Field: Debug> Debug for BasicInput<Var, Field>"],["impl<F: Debug, Column: Debug, ChallengeTerm: Debug> Debug for PolishToken<F, Column, ChallengeTerm>"],["impl Debug for CamlTraces"],["impl Debug for FeatureFlags"],["impl<'a, G: Debug + KimchiCurve, OpeningProof: Debug + OpenProof<G>> Debug for Context<'a, G, OpeningProof>where\n G::ScalarField: Debug,"],["impl Debug for VerifyError"],["impl<F: Debug + PrimeField> Debug for Boolean<F>"],["impl<G: Debug + AffineRepr> Debug for ProverCommitments<G>"],["impl Debug for Domain"],["impl<Var: Debug> Debug for EcAddCompleteInput<Var>"],["impl Debug for SnarkyRuntimeError"],["impl<F: Debug + PrimeField> Debug for CircuitGate<F>"],["impl Debug for Traces"],["impl<E: Debug, Column: Debug> Debug for Linearization<E, Column>"],["impl<I, T> Debug for MustConsumeIterator<I, T>where\n I: Iterator<Item = T> + Debug,\n T: Display + Debug,"],["impl<F: Debug + FftField> Debug for LookupConstraintSystem<F>"],["impl<F: Debug + FftField> Debug for EvaluationDomains<F>"],["impl<F: Debug> Debug for ForeignElement<F>"],["impl<F: Debug> Debug for LookupConfiguration<F>"],["impl<F> Debug for FieldVar<F>where\n F: PrimeField + Debug,"],["impl<T: Debug> Debug for LookupSelectors<T>"],["impl<Column: Debug> Debug for Variable<Column>"],["impl Debug for GateType"],["impl Debug for RowOffset"],["impl<SingleLookup: Debug, LookupTableID: Debug> Debug for JointLookup<SingleLookup, LookupTableID>"],["impl Debug for VerifierIndexError"],["impl Debug for DomainCreationError"],["impl<T: Debug> Debug for Operations<T>"],["impl Debug for FFOps"],["impl Debug for ArgumentType"],["impl Debug for CircuitGateError"],["impl<F: Debug + Field> Debug for Constants<F>"],["impl<F: Debug> Debug for RuntimeTableCfg<F>"],["impl<Evals: Debug> Debug for PointEvaluations<Evals>"],["impl<G: Debug + KimchiCurve, OpeningProof: Debug + OpenProof<G>> Debug for VerifierIndex<G, OpeningProof>where\n G::ScalarField: Debug,\n OpeningProof::SRS: Debug,"],["impl Debug for SnarkyCompilationError"],["impl<Var: Debug> Debug for PoseidonInput<Var>"],["impl<F: Debug + PrimeField> Debug for Constraint<F>"],["impl Debug for GateError"],["impl Debug for RealSnarkyError"]], "kimchi_msm":[["impl Debug for FFAColumn"],["impl<F: Debug, ID: Debug + LookupTableID> Debug for LookupTable<F, ID>"],["impl Debug for LookupTableIter"],["impl Debug for LookupTable"],["impl<const N_WIT: usize, T: Debug> Debug for Witness<N_WIT, T>"],["impl Debug for LookupTable"],["impl<F: Debug, ID: Debug + LookupTableID> Debug for LogupWitness<F, ID>"],["impl Debug for DummyLookupTable"],["impl<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, F: Debug, ID: Debug + LookupTableID> Debug for ProofEvaluations<N_WIT, N_REL, N_DSEL, N_FSEL, F, ID>"],["impl<T: Debug, ID: Debug> Debug for LookupProof<T, ID>"],["impl Debug for FECColumnInter"],["impl<T: Debug> Debug for IdMPrism<T>"],["impl<Ff> Debug for LookupTableIter<Ff>"],["impl Debug for FECColumn"],["impl<Pair: Debug + Pairing> Debug for TestPairingSRS<Pair>where\n Pair::G1Affine: Debug,\n Pair::G2Affine: Debug,"],["impl Debug for SerializationColumn"],["impl<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, G: Debug + KimchiCurve, OpeningProof: Debug + OpenProof<G>, ID: Debug + LookupTableID> Debug for Proof<N_WIT, N_REL, N_DSEL, N_FSEL, G, OpeningProof, ID>where\n G::ScalarField: Debug,"],["impl<const N_WIT: usize, F: Debug + PrimeField, ID: Debug + LookupTableID> Debug for ProofInputs<N_WIT, F, ID>"],["impl<Ff> Debug for LookupTableIter<Ff>"],["impl Debug for LookupTableIter"],["impl Debug for ProverError"],["impl<F: Debug, ID: Debug + LookupTableID> Debug for Logup<F, ID>"],["impl<Ff: Debug> Debug for LookupTable<Ff>"],["impl Debug for FECColumnInput"],["impl Debug for LookupTableIDs"],["impl Debug for Column"],["impl Debug for FECColumnOutput"],["impl Debug for TestColumn"],["impl<const N_WIT: usize, G: Debug + KimchiCurve, ID: Debug + LookupTableID> Debug for ProofCommitments<N_WIT, G, ID>"],["impl<Ff: Debug> Debug for LookupTable<Ff>"]], "kimchi_visu":[["impl<F> Debug for Witness<F>where\n F: Field + Debug,"]], diff --git a/rustdoc/implementors/core/ops/index/trait.Index.js b/rustdoc/implementors/core/ops/index/trait.Index.js index 69ed87049d..db57583fa3 100644 --- a/rustdoc/implementors/core/ops/index/trait.Index.js +++ b/rustdoc/implementors/core/ops/index/trait.Index.js @@ -1,7 +1,7 @@ (function() {var implementors = { "arrabiata":[["impl<F: Field> Index<ChallengeTerm> for Challenges<F>"]], "folding":[["impl<G: KimchiCurve, Col> Index<Col> for EmptyStructure<G>"]], -"ivc":[["impl<G: CommitmentCurve, const N_COL: usize, const N_ALPHAS: usize> Index<PlonkishChallenge> for PlonkishInstance<G, N_COL, 3, N_ALPHAS>"],["impl<const N_COL: usize, const N_FSEL: usize, F: FftField> Index<()> for PlonkishWitness<N_COL, N_FSEL, F>"],["impl<G: KimchiCurve> Index<Column> for GenericVecStructure<G>"],["impl<const N_COL: usize, const N_FSEL: usize, F: FftField, Evals: CombinableEvals<F>> Index<Column> for PlonkishWitnessGeneric<N_COL, N_FSEL, F, Evals>"]], +"ivc":[["impl<G: CommitmentCurve, const N_COL: usize, const N_ALPHAS: usize> Index<PlonkishChallenge> for PlonkishInstance<G, N_COL, 3, N_ALPHAS>"],["impl<const N_COL: usize, const N_FSEL: usize, F: FftField> Index<()> for PlonkishWitness<N_COL, N_FSEL, F>"],["impl<G: KimchiCurve> Index<Column> for GenericVecStructure<G>"],["impl<const N_COL: usize, const N_FSEL: usize, F: FftField, Evals: CombinableEvals<F>> Index<Column> for PlonkishWitnessGeneric<N_COL, N_FSEL, F, Evals>"]], "kimchi":[["impl<T> Index<LookupPattern> for LookupSelectors<T>"],["impl<'a, T> Index<&'a str> for Variables<'a, T>"],["impl<F: Field> Index<BerkeleyChallengeTerm> for BerkeleyChallenges<F>"],["impl Index<LookupPattern> for LookupPatterns"],["impl Index<GateLookupTable> for GateLookupTables"],["impl<T> Index<(CurrOrNext, usize)> for ArgumentWitness<T>"]], "kimchi_msm":[["impl<const N_WIT: usize, T> Index<usize> for Witness<N_WIT, T>"]], "mvpoly":[["impl<F: PrimeField, const N: usize, const D: usize> Index<usize> for Dense<F, N, D>"]], diff --git a/rustdoc/implementors/folding/expressions/trait.FoldingColumnTrait.js b/rustdoc/implementors/folding/expressions/trait.FoldingColumnTrait.js index 63df9c2b82..4abcd07a73 100644 --- a/rustdoc/implementors/folding/expressions/trait.FoldingColumnTrait.js +++ b/rustdoc/implementors/folding/expressions/trait.FoldingColumnTrait.js @@ -1,5 +1,5 @@ (function() {var implementors = { "folding":[], -"kimchi_msm":[["impl FoldingColumnTrait for Column"]], +"kimchi_msm":[["impl FoldingColumnTrait for Column"]], "o1vm":[["impl FoldingColumnTrait for KeccakColumn"],["impl FoldingColumnTrait for MIPSColumn"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/rustdoc/implementors/folding/instance_witness/trait.Foldable.js b/rustdoc/implementors/folding/instance_witness/trait.Foldable.js index 094f7e6a7a..116a1b7624 100644 --- a/rustdoc/implementors/folding/instance_witness/trait.Foldable.js +++ b/rustdoc/implementors/folding/instance_witness/trait.Foldable.js @@ -1,6 +1,6 @@ (function() {var implementors = { "folding":[], "ivc":[["impl<G: CommitmentCurve, const N_COL: usize, const N_CHALS: usize, const N_ALPHAS: usize> Foldable<<G as AffineRepr>::ScalarField> for PlonkishInstance<G, N_COL, N_CHALS, N_ALPHAS>"],["impl<const N_COL: usize, const N_FSEL: usize, F: Field, Evals: CombinableEvals<F>> Foldable<F> for PlonkishWitnessGeneric<N_COL, N_FSEL, F, Evals>"]], -"kimchi_msm":[["impl<const N: usize, F: FftField> Foldable<F> for Witness<N, Evaluations<F, Radix2EvaluationDomain<F>>>"]], +"kimchi_msm":[["impl<const N: usize, F: FftField> Foldable<F> for Witness<N, Evaluations<F, Radix2EvaluationDomain<F>>>"]], "o1vm":[["impl<const N: usize, G: CommitmentCurve> Foldable<<G as AffineRepr>::ScalarField> for FoldingInstance<N, G>"],["impl<const N: usize, F: FftField> Foldable<F> for FoldingWitness<N, F>"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/rustdoc/implementors/folding/instance_witness/trait.Witness.js b/rustdoc/implementors/folding/instance_witness/trait.Witness.js index 11c667506e..456a3bd816 100644 --- a/rustdoc/implementors/folding/instance_witness/trait.Witness.js +++ b/rustdoc/implementors/folding/instance_witness/trait.Witness.js @@ -1,6 +1,6 @@ (function() {var implementors = { "folding":[], "ivc":[["impl<const N_COL: usize, const N_FSEL: usize, Curve: CommitmentCurve, Evals: CombinableEvals<Curve::ScalarField>> Witness<Curve> for PlonkishWitnessGeneric<N_COL, N_FSEL, Curve::ScalarField, Evals>"]], -"kimchi_msm":[["impl<const N: usize, G: CommitmentCurve> Witness<G> for Witness<N, Evaluations<G::ScalarField, Radix2EvaluationDomain<G::ScalarField>>>"]], +"kimchi_msm":[["impl<const N: usize, G: CommitmentCurve> Witness<G> for Witness<N, Evaluations<G::ScalarField, Radix2EvaluationDomain<G::ScalarField>>>"]], "o1vm":[["impl<const N: usize, G: CommitmentCurve> Witness<G> for FoldingWitness<N, G::ScalarField>"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/rustdoc/implementors/kimchi/circuits/expr/trait.ColumnEvaluations.js b/rustdoc/implementors/kimchi/circuits/expr/trait.ColumnEvaluations.js index 57f9431322..04304cfbdd 100644 --- a/rustdoc/implementors/kimchi/circuits/expr/trait.ColumnEvaluations.js +++ b/rustdoc/implementors/kimchi/circuits/expr/trait.ColumnEvaluations.js @@ -1,5 +1,5 @@ (function() {var implementors = { -"ivc":[["impl<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, F: Clone> ColumnEvaluations<F> for ProofEvaluations<N_WIT, N_REL, N_DSEL, N_FSEL, F>"]], +"ivc":[["impl<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, F: Clone> ColumnEvaluations<F> for ProofEvaluations<N_WIT, N_REL, N_DSEL, N_FSEL, F>"]], "kimchi":[], "kimchi_msm":[["impl<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, F: Clone, ID: LookupTableID> ColumnEvaluations<F> for ProofEvaluations<N_WIT, N_REL, N_DSEL, N_FSEL, F, ID>"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/rustdoc/index.html b/rustdoc/index.html index c4fb8a104a..cbdadebb21 100644 --- a/rustdoc/index.html +++ b/rustdoc/index.html @@ -1 +1 @@ -Index of crates

List of all crates

\ No newline at end of file +Index of crates

List of all crates

\ No newline at end of file diff --git a/rustdoc/ivc/expr_eval/struct.GenericEvalEnv.html b/rustdoc/ivc/expr_eval/struct.GenericEvalEnv.html index c760b306fe..ba8244f870 100644 --- a/rustdoc/ivc/expr_eval/struct.GenericEvalEnv.html +++ b/rustdoc/ivc/expr_eval/struct.GenericEvalEnv.html @@ -1,4 +1,4 @@ -GenericEvalEnv in ivc::expr_eval - Rust
pub struct GenericEvalEnv<Curve: KimchiCurve, const N_COL: usize, const N_FSEL: usize, Eval: CombinableEvals<Curve::ScalarField>> {
+GenericEvalEnv in ivc::expr_eval - Rust
pub struct GenericEvalEnv<Curve: KimchiCurve, const N_COL: usize, const N_FSEL: usize, Eval: CombinableEvals<Curve::ScalarField>> {
     pub ext_witness: ExtendedWitness<Curve, PlonkishWitnessGeneric<N_COL, N_FSEL, Curve::ScalarField, Eval>>,
     pub alphas: Alphas<Curve::ScalarField>,
     pub challenges: [Curve::ScalarField; 3],
@@ -6,7 +6,7 @@
     pub u: Curve::ScalarField,
 }
Expand description

Minimal environment needed for evaluating constraints.

Fields§

§ext_witness: ExtendedWitness<Curve, PlonkishWitnessGeneric<N_COL, N_FSEL, Curve::ScalarField, Eval>>§alphas: Alphas<Curve::ScalarField>§challenges: [Curve::ScalarField; 3]§error_vec: Eval§u: Curve::ScalarField

The scalar u that is used to homogenize the polynomials

-

Implementations§

source§

impl<Curve: KimchiCurve, const N_COL: usize, const N_FSEL: usize, Evals: CombinableEvals<Curve::ScalarField>> GenericEvalEnv<Curve, N_COL, N_FSEL, Evals>

source

pub fn process_extended_folding_column<FC: FoldingConfig<Column = GenericColumn, Curve = Curve, Challenge = PlonkishChallenge>>( +

Implementations§

source§

impl<Curve: KimchiCurve, const N_COL: usize, const N_FSEL: usize, Evals: CombinableEvals<Curve::ScalarField>> GenericEvalEnv<Curve, N_COL, N_FSEL, Evals>

source

pub fn process_extended_folding_column<FC: FoldingConfig<Column = GenericColumn, Curve = Curve, Challenge = PlonkishChallenge>>( &self, col: &ExtendedFoldingColumn<FC> ) -> EvalLeaf<'_, Curve::ScalarField>

source

pub fn eval_naive_fexpr<'a, FC: FoldingConfig<Column = GenericColumn, Curve = Curve, Challenge = PlonkishChallenge>>( diff --git a/rustdoc/ivc/expr_eval/struct.GenericVecStructure.html b/rustdoc/ivc/expr_eval/struct.GenericVecStructure.html index 2cf74a0a19..0aa3abaabd 100644 --- a/rustdoc/ivc/expr_eval/struct.GenericVecStructure.html +++ b/rustdoc/ivc/expr_eval/struct.GenericVecStructure.html @@ -1,6 +1,6 @@ -GenericVecStructure in ivc::expr_eval - Rust
pub struct GenericVecStructure<G: KimchiCurve>(pub Vec<Vec<G::ScalarField>>);
Expand description

Generic structure containing column vectors.

-

Tuple Fields§

§0: Vec<Vec<G::ScalarField>>

Trait Implementations§

source§

impl<G: Clone + KimchiCurve> Clone for GenericVecStructure<G>where - G::ScalarField: Clone,

source§

fn clone(&self) -> GenericVecStructure<G>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<G: KimchiCurve> Index<Column> for GenericVecStructure<G>

§

type Output = [<G as AffineRepr>::ScalarField]

The returned type after indexing.
source§

fn index(&self, index: GenericColumn) -> &Self::Output

Performs the indexing (container[index]) operation. Read more

Auto Trait Implementations§

§

impl<G> RefUnwindSafe for GenericVecStructure<G>where +GenericVecStructure in ivc::expr_eval - Rust
pub struct GenericVecStructure<G: KimchiCurve>(pub Vec<Vec<G::ScalarField>>);
Expand description

Generic structure containing column vectors.

+

Tuple Fields§

§0: Vec<Vec<G::ScalarField>>

Trait Implementations§

source§

impl<G: Clone + KimchiCurve> Clone for GenericVecStructure<G>where + G::ScalarField: Clone,

source§

fn clone(&self) -> GenericVecStructure<G>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<G: KimchiCurve> Index<Column> for GenericVecStructure<G>

§

type Output = [<G as AffineRepr>::ScalarField]

The returned type after indexing.
source§

fn index(&self, index: GenericColumn) -> &Self::Output

Performs the indexing (container[index]) operation. Read more

Auto Trait Implementations§

§

impl<G> RefUnwindSafe for GenericVecStructure<G>where <G as AffineRepr>::ScalarField: RefUnwindSafe,

§

impl<G> Send for GenericVecStructure<G>

§

impl<G> Sync for GenericVecStructure<G>

§

impl<G> Unpin for GenericVecStructure<G>where <G as AffineRepr>::ScalarField: Unpin,

§

impl<G> UnwindSafe for GenericVecStructure<G>where <G as AffineRepr>::ScalarField: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for Twhere diff --git a/rustdoc/ivc/ivc/lookups/enum.IVCLookupTable.html b/rustdoc/ivc/ivc/lookups/enum.IVCLookupTable.html index 9903cc2ae8..7a9f2a05c1 100644 --- a/rustdoc/ivc/ivc/lookups/enum.IVCLookupTable.html +++ b/rustdoc/ivc/ivc/lookups/enum.IVCLookupTable.html @@ -12,7 +12,7 @@ relation) columns, and no extra columns should be added. Read more

source§

fn length(&self) -> usize

Returns the length of each table.
source§

fn all_variants() -> Vec<Self>

§

fn to_field<F>(&self) -> Fwhere F: Field,

Assign a unique ID to the lookup tables.
§

fn to_constraint<F>( &self -) -> Operations<ExprInner<Operations<ConstantExprInner<F, BerkeleyChallengeTerm>>, Column>>where +) -> Operations<ExprInner<Operations<ConstantExprInner<F, BerkeleyChallengeTerm>>, Column>>where F: Field,

Assign a unique ID to the lookup tables, as an expression.
source§

impl<Ff: Ord> Ord for IVCLookupTable<Ff>

source§

fn cmp(&self, other: &IVCLookupTable<Ff>) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Selfwhere diff --git a/rustdoc/ivc/plonkish_lang/enum.PlonkishChallenge.html b/rustdoc/ivc/plonkish_lang/enum.PlonkishChallenge.html index 65796d4260..853ea411ae 100644 --- a/rustdoc/ivc/plonkish_lang/enum.PlonkishChallenge.html +++ b/rustdoc/ivc/plonkish_lang/enum.PlonkishChallenge.html @@ -2,7 +2,7 @@ Beta, Gamma, JointCombiner, -}

Variants§

§

Beta

§

Gamma

§

JointCombiner

Trait Implementations§

source§

impl Clone for PlonkishChallenge

source§

fn clone(&self) -> PlonkishChallenge

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for PlonkishChallenge

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl EnumCount for PlonkishChallenge

source§

const COUNT: usize = 3usize

source§

impl From<BerkeleyChallengeTerm> for PlonkishChallenge

source§

fn from(chal: BerkeleyChallengeTerm) -> Self

Converts to this type from the input type.
source§

impl Hash for PlonkishChallenge

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where +}

Variants§

§

Beta

§

Gamma

§

JointCombiner

Trait Implementations§

source§

impl Clone for PlonkishChallenge

source§

fn clone(&self) -> PlonkishChallenge

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for PlonkishChallenge

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl EnumCount for PlonkishChallenge

source§

const COUNT: usize = 3usize

source§

impl From<BerkeleyChallengeTerm> for PlonkishChallenge

source§

fn from(chal: BerkeleyChallengeTerm) -> Self

Converts to this type from the input type.
source§

impl Hash for PlonkishChallenge

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl<G: CommitmentCurve, const N_COL: usize, const N_ALPHAS: usize> Index<PlonkishChallenge> for PlonkishInstance<G, N_COL, 3, N_ALPHAS>

§

type Output = <G as AffineRepr>::ScalarField

The returned type after indexing.
source§

fn index(&self, index: PlonkishChallenge) -> &Self::Output

Performs the indexing (container[index]) operation. Read more
source§

impl IntoEnumIterator for PlonkishChallenge

source§

impl PartialEq<PlonkishChallenge> for PlonkishChallenge

source§

fn eq(&self, other: &PlonkishChallenge) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always diff --git a/rustdoc/ivc/prover/fn.prove.html b/rustdoc/ivc/prover/fn.prove.html index 79e9fa9986..e0bf3cdb3a 100644 --- a/rustdoc/ivc/prover/fn.prove.html +++ b/rustdoc/ivc/prover/fn.prove.html @@ -1,5 +1,5 @@ -prove in ivc::prover - Rust

Function ivc::prover::prove

source ·
pub fn prove<EFqSponge: Clone + FqSponge<Fq, G, Fp>, EFrSponge: FrSponge<Fp>, FC: FoldingConfig<Column = GenericColumn, Curve = G, Challenge = PlonkishChallenge>, RNG, const N_WIT: usize, const N_WIT_QUAD: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, const N_ALPHAS: usize>(
-    domain: EvaluationDomains<Fp>,
+prove in ivc::prover - Rust

Function ivc::prover::prove

source ·
pub fn prove<EFqSponge: Clone + FqSponge<Fq, G, Fp>, EFrSponge: FrSponge<Fp>, FC: FoldingConfig<Column = GenericColumn, Curve = G, Challenge = PlonkishChallenge>, RNG, const N_WIT: usize, const N_WIT_QUAD: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, const N_ALPHAS: usize>(
+    domain: EvaluationDomains<Fp>,
     srs: &PairingSRS<Pairing>,
     combined_expr: &FoldingCompatibleExpr<FC>,
     folded_instance: RelaxedInstance<G, PlonkishInstance<G, N_WIT, 3, N_ALPHAS>>,
diff --git a/rustdoc/ivc/prover/struct.Proof.html b/rustdoc/ivc/prover/struct.Proof.html
index 4f6e5c8753..dac74d4c53 100644
--- a/rustdoc/ivc/prover/struct.Proof.html
+++ b/rustdoc/ivc/prover/struct.Proof.html
@@ -1,12 +1,12 @@
-Proof in ivc::prover - Rust

Struct ivc::prover::Proof

source ·
pub struct Proof<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, G: KimchiCurve, OpeningProof: OpenProof<G>> {
+Proof in ivc::prover - Rust

Struct ivc::prover::Proof

source ·
pub struct Proof<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, G: KimchiCurve, OpeningProof: OpenProof<G>> {
     pub proof_comms: ProofCommitments<N_WIT, G>,
     pub proof_evals: ProofEvaluations<N_WIT, N_REL, N_DSEL, N_FSEL, G::ScalarField>,
     pub opening_proof: OpeningProof,
     pub alphas: Alphas<G::ScalarField>,
     pub challenges: [G::ScalarField; 3],
     pub u: G::ScalarField,
-}

Fields§

§proof_comms: ProofCommitments<N_WIT, G>§proof_evals: ProofEvaluations<N_WIT, N_REL, N_DSEL, N_FSEL, G::ScalarField>§opening_proof: OpeningProof§alphas: Alphas<G::ScalarField>§challenges: [G::ScalarField; 3]§u: G::ScalarField

Trait Implementations§

source§

impl<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, G: Clone + KimchiCurve, OpeningProof: Clone + OpenProof<G>> Clone for Proof<N_WIT, N_REL, N_DSEL, N_FSEL, G, OpeningProof>where - G::ScalarField: Clone,

source§

fn clone(&self) -> Proof<N_WIT, N_REL, N_DSEL, N_FSEL, G, OpeningProof>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, G: Debug + KimchiCurve, OpeningProof: Debug + OpenProof<G>> Debug for Proof<N_WIT, N_REL, N_DSEL, N_FSEL, G, OpeningProof>where +}

Fields§

§proof_comms: ProofCommitments<N_WIT, G>§proof_evals: ProofEvaluations<N_WIT, N_REL, N_DSEL, N_FSEL, G::ScalarField>§opening_proof: OpeningProof§alphas: Alphas<G::ScalarField>§challenges: [G::ScalarField; 3]§u: G::ScalarField

Trait Implementations§

source§

impl<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, G: Clone + KimchiCurve, OpeningProof: Clone + OpenProof<G>> Clone for Proof<N_WIT, N_REL, N_DSEL, N_FSEL, G, OpeningProof>where + G::ScalarField: Clone,

source§

fn clone(&self) -> Proof<N_WIT, N_REL, N_DSEL, N_FSEL, G, OpeningProof>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, G: Debug + KimchiCurve, OpeningProof: Debug + OpenProof<G>> Debug for Proof<N_WIT, N_REL, N_DSEL, N_FSEL, G, OpeningProof>where G::ScalarField: Debug,

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, G, OpeningProof> RefUnwindSafe for Proof<N_WIT, N_REL, N_DSEL, N_FSEL, G, OpeningProof>where G: RefUnwindSafe, OpeningProof: RefUnwindSafe, diff --git a/rustdoc/ivc/prover/struct.ProofCommitments.html b/rustdoc/ivc/prover/struct.ProofCommitments.html index c23bf8f922..f37e6859d4 100644 --- a/rustdoc/ivc/prover/struct.ProofCommitments.html +++ b/rustdoc/ivc/prover/struct.ProofCommitments.html @@ -1,11 +1,11 @@ -ProofCommitments in ivc::prover - Rust
pub struct ProofCommitments<const N_WIT: usize, G: KimchiCurve> {
+ProofCommitments in ivc::prover - Rust
pub struct ProofCommitments<const N_WIT: usize, G: KimchiCurve> {
     pub witness_comms: Witness<N_WIT, PolyComm<G>>,
     pub t_comm: PolyComm<G>,
 }

Fields§

§witness_comms: Witness<N_WIT, PolyComm<G>>

Commitments to the N columns of the circuits, also called the ‘witnesses’. If some columns are considered as public inputs, it is counted in the witness.

§t_comm: PolyComm<G>

Commitments to the quotient polynomial. The value contains the chunked polynomials.

-

Trait Implementations§

source§

impl<const N_WIT: usize, G: Clone + KimchiCurve> Clone for ProofCommitments<N_WIT, G>

source§

fn clone(&self) -> ProofCommitments<N_WIT, G>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<const N_WIT: usize, G: Debug + KimchiCurve> Debug for ProofCommitments<N_WIT, G>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<const N_WIT: usize, G> RefUnwindSafe for ProofCommitments<N_WIT, G>where +

Trait Implementations§

source§

impl<const N_WIT: usize, G: Clone + KimchiCurve> Clone for ProofCommitments<N_WIT, G>

source§

fn clone(&self) -> ProofCommitments<N_WIT, G>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<const N_WIT: usize, G: Debug + KimchiCurve> Debug for ProofCommitments<N_WIT, G>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<const N_WIT: usize, G> RefUnwindSafe for ProofCommitments<N_WIT, G>where G: RefUnwindSafe,

§

impl<const N_WIT: usize, G> Send for ProofCommitments<N_WIT, G>

§

impl<const N_WIT: usize, G> Sync for ProofCommitments<N_WIT, G>

§

impl<const N_WIT: usize, G> Unpin for ProofCommitments<N_WIT, G>where G: Unpin,

§

impl<const N_WIT: usize, G> UnwindSafe for ProofCommitments<N_WIT, G>where G: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for Twhere diff --git a/rustdoc/ivc/prover/struct.ProofEvaluations.html b/rustdoc/ivc/prover/struct.ProofEvaluations.html index 941f45f0ae..b3bf2c3b44 100644 --- a/rustdoc/ivc/prover/struct.ProofEvaluations.html +++ b/rustdoc/ivc/prover/struct.ProofEvaluations.html @@ -1,18 +1,18 @@ ProofEvaluations in ivc::prover - Rust
pub struct ProofEvaluations<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, F> {
-    pub witness_evals: Witness<N_WIT, PointEvaluations<F>>,
-    pub fixed_selectors_evals: Box<[PointEvaluations<F>; N_FSEL]>,
-    pub error_vec: PointEvaluations<F>,
+    pub witness_evals: Witness<N_WIT, PointEvaluations<F>>,
+    pub fixed_selectors_evals: Box<[PointEvaluations<F>; N_FSEL]>,
+    pub error_vec: PointEvaluations<F>,
     pub ft_eval1: F,
-}

Fields§

§witness_evals: Witness<N_WIT, PointEvaluations<F>>

Witness evaluations, including public inputs

-
§fixed_selectors_evals: Box<[PointEvaluations<F>; N_FSEL]>

Evaluations of fixed selectors.

-
§error_vec: PointEvaluations<F>§ft_eval1: F

Evaluation of Z_H(ζ) (t_0(X) + ζ^n t_1(X) + …) at ζω.

-

Trait Implementations§

source§

impl<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, F: Clone> Clone for ProofEvaluations<N_WIT, N_REL, N_DSEL, N_FSEL, F>

source§

fn clone(&self) -> ProofEvaluations<N_WIT, N_REL, N_DSEL, N_FSEL, F>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, F: Clone> ColumnEvaluations<F> for ProofEvaluations<N_WIT, N_REL, N_DSEL, N_FSEL, F>

The trait ColumnEvaluations is used by the verifier. +}

Fields§

§witness_evals: Witness<N_WIT, PointEvaluations<F>>

Witness evaluations, including public inputs

+
§fixed_selectors_evals: Box<[PointEvaluations<F>; N_FSEL]>

Evaluations of fixed selectors.

+
§error_vec: PointEvaluations<F>§ft_eval1: F

Evaluation of Z_H(ζ) (t_0(X) + ζ^n t_1(X) + …) at ζω.

+

Trait Implementations§

source§

impl<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, F: Clone> Clone for ProofEvaluations<N_WIT, N_REL, N_DSEL, N_FSEL, F>

source§

fn clone(&self) -> ProofEvaluations<N_WIT, N_REL, N_DSEL, N_FSEL, F>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, F: Clone> ColumnEvaluations<F> for ProofEvaluations<N_WIT, N_REL, N_DSEL, N_FSEL, F>

The trait ColumnEvaluations is used by the verifier. It will return the evaluation of the corresponding column at the evaluation points coined by the verifier during the protocol.

-
§

type Column = Column

source§

fn evaluate( +

§

type Column = Column

source§

fn evaluate( &self, - col: Self::Column -) -> Result<PointEvaluations<F>, ExprError<Self::Column>>

source§

impl<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, F: Debug> Debug for ProofEvaluations<N_WIT, N_REL, N_DSEL, N_FSEL, F>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, F> RefUnwindSafe for ProofEvaluations<N_WIT, N_REL, N_DSEL, N_FSEL, F>where + col: Self::Column +) -> Result<PointEvaluations<F>, ExprError<Self::Column>>

source§

impl<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, F: Debug> Debug for ProofEvaluations<N_WIT, N_REL, N_DSEL, N_FSEL, F>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, F> RefUnwindSafe for ProofEvaluations<N_WIT, N_REL, N_DSEL, N_FSEL, F>where F: RefUnwindSafe,

§

impl<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, F> Send for ProofEvaluations<N_WIT, N_REL, N_DSEL, N_FSEL, F>where F: Send,

§

impl<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, F> Sync for ProofEvaluations<N_WIT, N_REL, N_DSEL, N_FSEL, F>where F: Sync,

§

impl<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, F> Unpin for ProofEvaluations<N_WIT, N_REL, N_DSEL, N_FSEL, F>where diff --git a/rustdoc/ivc/verifier/fn.verify.html b/rustdoc/ivc/verifier/fn.verify.html index e6492eb4d8..9e28d8fb01 100644 --- a/rustdoc/ivc/verifier/fn.verify.html +++ b/rustdoc/ivc/verifier/fn.verify.html @@ -1,5 +1,5 @@ -verify in ivc::verifier - Rust

Function ivc::verifier::verify

source ·
pub fn verify<EFqSponge: Clone + FqSponge<Fq, G, Fp>, EFrSponge: FrSponge<Fp>, FC: FoldingConfig<Column = GenericColumn, Curve = G, Challenge = PlonkishChallenge>, const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, const NPUB: usize>(
-    domain: EvaluationDomains<Fp>,
+verify in ivc::verifier - Rust

Function ivc::verifier::verify

source ·
pub fn verify<EFqSponge: Clone + FqSponge<Fq, G, Fp>, EFrSponge: FrSponge<Fp>, FC: FoldingConfig<Column = GenericColumn, Curve = G, Challenge = PlonkishChallenge>, const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, const NPUB: usize>(
+    domain: EvaluationDomains<Fp>,
     srs: &PairingSRS<Pairing>,
     combined_expr: &FoldingCompatibleExpr<FC>,
     fixed_selectors: Box<[Evaluations<Fp, R2D<Fp>>; N_FSEL]>,
diff --git a/rustdoc/kimchi_msm/columns/enum.Column.html b/rustdoc/kimchi_msm/columns/enum.Column.html
index b6ee919653..930f9b7db1 100644
--- a/rustdoc/kimchi_msm/columns/enum.Column.html
+++ b/rustdoc/kimchi_msm/columns/enum.Column.html
@@ -17,7 +17,7 @@
 
§

LookupAggregation

The lookup aggregation, i.e. phi

§

LookupFixedTable(u32)

The fixed tables. The parameter is considered to the indexed table.

Implementations§

source§

impl Column

source

pub fn add_rel_offset(self, offset: usize) -> Column

Adds offset if the column is Relation. Fails otherwise.

-

Trait Implementations§

source§

impl Clone for Column

source§

fn clone(&self) -> Column

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Column

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl FoldingColumnTrait for Column

source§

fn is_witness(&self) -> bool

source§

fn degree(&self) -> Degree

Return the degree of the column Read more
source§

impl FormattedOutput for Column

source§

fn latex(&self, _cache: &mut HashMap<CacheId, Self>) -> String

source§

fn text(&self, _cache: &mut HashMap<CacheId, Self>) -> String

source§

fn ocaml(&self, _cache: &mut HashMap<CacheId, Self>) -> String

source§

fn is_alpha(&self) -> bool

source§

impl Hash for Column

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where +

Trait Implementations§

source§

impl Clone for Column

source§

fn clone(&self) -> Column

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Column

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl FoldingColumnTrait for Column

source§

fn is_witness(&self) -> bool

§

fn degree(&self) -> Degree

Return the degree of the column Read more
source§

impl FormattedOutput for Column

source§

fn latex(&self, _cache: &mut HashMap<CacheId, Self>) -> String

source§

fn text(&self, _cache: &mut HashMap<CacheId, Self>) -> String

source§

fn ocaml(&self, _cache: &mut HashMap<CacheId, Self>) -> String

source§

fn is_alpha(&self) -> bool

source§

impl Hash for Column

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq<Column> for Column

source§

fn eq(&self, other: &Column) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always diff --git a/rustdoc/kimchi_msm/witness/struct.Witness.html b/rustdoc/kimchi_msm/witness/struct.Witness.html index bca4c1075f..d6a8787cfd 100644 --- a/rustdoc/kimchi_msm/witness/struct.Witness.html +++ b/rustdoc/kimchi_msm/witness/struct.Witness.html @@ -10,7 +10,7 @@

Fields§

§cols: Box<[T; N_WIT]>

A witness row is represented by an array of N witness columns When T is a vector, then the witness describes the rows of the circuit.

-

Implementations§

source§

impl<const N_WIT: usize, T> Witness<N_WIT, T>

source

pub fn len(&self) -> usize

source

pub fn is_empty(&self) -> bool

source§

impl<const N_WIT: usize, T: Zero + Clone> Witness<N_WIT, Vec<T>>

source

pub fn zero_vec(domain_size: usize) -> Self

source

pub fn to_pub_columns<const NPUB: usize>(&self) -> Witness<NPUB, Vec<T>>

Trait Implementations§

source§

impl<const N_WIT: usize, T: Clone> Clone for Witness<N_WIT, T>

source§

fn clone(&self) -> Witness<N_WIT, T>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<const N_WIT: usize, T: Debug> Debug for Witness<N_WIT, T>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<const N_WIT: usize, T: Zero + Clone> Default for Witness<N_WIT, T>

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<const N: usize, F: FftField> Foldable<F> for Witness<N, Evaluations<F, Radix2EvaluationDomain<F>>>

source§

fn combine(a: Self, b: Self, challenge: F) -> Self

Combine two objects ‘a’ and ‘b’ into a new object using the challenge.
source§

impl<const N_WIT: usize, G: Send + Debug> FromParallelIterator<G> for Witness<N_WIT, G>

source§

fn from_par_iter<I>(par_iter: I) -> Selfwhere +

Implementations§

source§

impl<const N_WIT: usize, T> Witness<N_WIT, T>

source

pub fn len(&self) -> usize

source

pub fn is_empty(&self) -> bool

source§

impl<const N_WIT: usize, T: Zero + Clone> Witness<N_WIT, Vec<T>>

source

pub fn zero_vec(domain_size: usize) -> Self

source

pub fn to_pub_columns<const NPUB: usize>(&self) -> Witness<NPUB, Vec<T>>

Trait Implementations§

source§

impl<const N_WIT: usize, T: Clone> Clone for Witness<N_WIT, T>

source§

fn clone(&self) -> Witness<N_WIT, T>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<const N_WIT: usize, T: Debug> Debug for Witness<N_WIT, T>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<const N_WIT: usize, T: Zero + Clone> Default for Witness<N_WIT, T>

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<const N: usize, F: FftField> Foldable<F> for Witness<N, Evaluations<F, Radix2EvaluationDomain<F>>>

source§

fn combine(a: Self, b: Self, challenge: F) -> Self

Combine two objects ‘a’ and ‘b’ into a new object using the challenge.
source§

impl<const N_WIT: usize, G: Send + Debug> FromParallelIterator<G> for Witness<N_WIT, G>

source§

fn from_par_iter<I>(par_iter: I) -> Selfwhere I: IntoParallelIterator<Item = G>,

Creates an instance of the collection from the parallel iterator par_iter. Read more
source§

impl<const N_WIT: usize, T: Hash> Hash for Witness<N_WIT, T>

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl<const N_WIT: usize, T> Index<usize> for Witness<N_WIT, T>

§

type Output = T

The returned type after indexing.
source§

fn index(&self, index: usize) -> &Self::Output

Performs the indexing (container[index]) operation. Read more
source§

impl<'lt, const N_WIT: usize, G> IntoIterator for &'lt Witness<N_WIT, G>

§

type Item = &'lt G

The type of the elements being iterated over.
§

type IntoIter = IntoIter<&'lt G, Global>

Which kind of iterator are we turning this into?
source§

fn into_iter(self) -> Self::IntoIter

Creates an iterator from a value. Read more
source§

impl<const N_WIT: usize, F: Clone> IntoIterator for Witness<N_WIT, F>

source§

fn into_iter(self) -> Self::IntoIter

Iterate over the columns in the circuit.

@@ -20,7 +20,7 @@ Vec<G>: IntoParallelIterator,
source§

fn into_par_iter(self) -> Self::Iter

Iterate over the columns in the circuit, in parallel.

§

type Iter = <Vec<G, Global> as IntoParallelIterator>::Iter

The parallel iterator type that will be created.
§

type Item = <Vec<G, Global> as IntoParallelIterator>::Item

The type of item that the parallel iterator will produce.
source§

impl<const N_WIT: usize, T: PartialEq> PartialEq<Witness<N_WIT, T>> for Witness<N_WIT, T>

source§

fn eq(&self, other: &Witness<N_WIT, T>) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl<const N_WIT: usize, T> TryFrom<Vec<T, Global>> for Witness<N_WIT, T>

§

type Error = String

The type returned in the event of a conversion error.
source§

fn try_from(value: Vec<T>) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl<const N_WIT: usize, T: Eq> Eq for Witness<N_WIT, T>

source§

impl<const N_WIT: usize, T> StructuralEq for Witness<N_WIT, T>

source§

impl<const N_WIT: usize, T> StructuralPartialEq for Witness<N_WIT, T>

source§

impl<const N: usize, G: CommitmentCurve> Witness<G> for Witness<N, Evaluations<G::ScalarField, Radix2EvaluationDomain<G::ScalarField>>>

Auto Trait Implementations§

§

impl<const N_WIT: usize, T> RefUnwindSafe for Witness<N_WIT, T>where +sufficient, and should not be overridden without very good reason.

source§

impl<const N_WIT: usize, T> TryFrom<Vec<T, Global>> for Witness<N_WIT, T>

§

type Error = String

The type returned in the event of a conversion error.
source§

fn try_from(value: Vec<T>) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl<const N_WIT: usize, T: Eq> Eq for Witness<N_WIT, T>

source§

impl<const N_WIT: usize, T> StructuralEq for Witness<N_WIT, T>

source§

impl<const N_WIT: usize, T> StructuralPartialEq for Witness<N_WIT, T>

source§

impl<const N: usize, G: CommitmentCurve> Witness<G> for Witness<N, Evaluations<G::ScalarField, Radix2EvaluationDomain<G::ScalarField>>>

Auto Trait Implementations§

§

impl<const N_WIT: usize, T> RefUnwindSafe for Witness<N_WIT, T>where T: RefUnwindSafe,

§

impl<const N_WIT: usize, T> Send for Witness<N_WIT, T>where T: Send,

§

impl<const N_WIT: usize, T> Sync for Witness<N_WIT, T>where T: Sync,

§

impl<const N_WIT: usize, T> Unpin for Witness<N_WIT, T>

§

impl<const N_WIT: usize, T> UnwindSafe for Witness<N_WIT, T>where @@ -42,12 +42,12 @@ &'data mut I: IntoParallelIterator,

§

type Iter = <&'data mut I as IntoParallelIterator>::Iter

The type of iterator that will be created.
§

type Item = <&'data mut I as IntoParallelIterator>::Item

The type of item that will be produced; this is typically an &'data mut T reference.
§

fn par_iter_mut( &'data mut self -) -> <I as IntoParallelRefMutIterator<'data>>::Iter

Creates the parallel iterator from self. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = mem::align_of::<T>()

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<G, W> RelaxableWitness<G, W> for Wwhere +) -> <I as IntoParallelRefMutIterator<'data>>::Iter

Creates the parallel iterator from self. Read more
§

impl<T> Pointable for T

§

const ALIGN: usize = mem::align_of::<T>()

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
§

impl<G, W> RelaxableWitness<G, W> for Wwhere G: CommitmentCurve, - W: Witness<G>,

source§

fn relax( + W: Witness<G>,

§

fn relax( self, zero_poly: &Evaluations<<G as AffineRepr>::ScalarField, Radix2EvaluationDomain<<G as AffineRepr>::ScalarField>> -) -> RelaxedWitness<G, W>

This method takes a witness and a vector of evaluations to the zero +) -> RelaxedWitness<G, W>

This method takes a witness and a vector of evaluations to the zero polynomial, returning a relaxed witness which is composed by the extended witness and the error vector that is set to the zero polynomial.

diff --git a/rustdoc/o1vm/interpreters/riscv32im/interpreter/fn.interpret_mtype.html b/rustdoc/o1vm/interpreters/riscv32im/interpreter/fn.interpret_mtype.html index b9979612eb..5d84193b9d 100644 --- a/rustdoc/o1vm/interpreters/riscv32im/interpreter/fn.interpret_mtype.html +++ b/rustdoc/o1vm/interpreters/riscv32im/interpreter/fn.interpret_mtype.html @@ -1,4 +1,4 @@ -interpret_mtype in o1vm::interpreters::riscv32im::interpreter - Rust
pub fn interpret_mtype<Env: InterpreterEnv>(env: &mut Env, instr: MInstruction)
Expand description

Interpret an M-type instruction. +interpret_mtype in o1vm::interpreters::riscv32im::interpreter - Rust

pub fn interpret_mtype<Env: InterpreterEnv>(env: &mut Env, instr: MInstruction)
Expand description

Interpret an M-type instruction. The encoding of an M-type instruction is as follows:

| 31     27 | 26    25 | 24     20 | 19     15 | 14        12 | 11    7 | 6      0 |
 |   00000   |    01    |    rs2    |    rs1    |    funct3    |    rd   |  opcode  |
diff --git a/rustdoc/o1vm/interpreters/riscv32im/interpreter/index.html b/rustdoc/o1vm/interpreters/riscv32im/interpreter/index.html
index 5cac3d3ab4..053bccaeb6 100644
--- a/rustdoc/o1vm/interpreters/riscv32im/interpreter/index.html
+++ b/rustdoc/o1vm/interpreters/riscv32im/interpreter/index.html
@@ -1,4 +1,4 @@
-o1vm::interpreters::riscv32im::interpreter - Rust
Expand description

This module implement an interpreter for the RISCV32 IM instruction set +o1vm::interpreters::riscv32im::interpreter - Rust

Expand description

This module implement an interpreter for the RISCV32 IM instruction set architecture.

The implementation mostly follows (and copy) code from the MIPS interpreter available here.

diff --git a/rustdoc/settings.html b/rustdoc/settings.html index 9718890d0b..9f421508ce 100644 --- a/rustdoc/settings.html +++ b/rustdoc/settings.html @@ -1 +1 @@ -Rustdoc settings

Rustdoc settings

Back
\ No newline at end of file +Rustdoc settings

Rustdoc settings

Back
\ No newline at end of file diff --git a/rustdoc/src/o1vm/interpreters/riscv32im/interpreter.rs.html b/rustdoc/src/o1vm/interpreters/riscv32im/interpreter.rs.html index d084779112..20ee9e83e5 100644 --- a/rustdoc/src/o1vm/interpreters/riscv32im/interpreter.rs.html +++ b/rustdoc/src/o1vm/interpreters/riscv32im/interpreter.rs.html @@ -2234,6 +2234,16 @@ 2234 2235 2236 +2237 +2238 +2239 +2240 +2241 +2242 +2243 +2244 +2245 +2246
//! This module implement an interpreter for the RISCV32 IM instruction set
 //! architecture.
 //!
@@ -4374,7 +4384,7 @@
 /// [here](https://www.cs.cornell.edu/courses/cs3410/2024fa/assignments/cpusim/riscv-instructions.pdf)
 pub fn interpret_mtype<Env: InterpreterEnv>(env: &mut Env, instr: MInstruction) {
     let instruction_pointer = env.get_instruction_pointer();
-    let _next_instruction_pointer = env.get_next_instruction_pointer();
+    let next_instruction_pointer = env.get_next_instruction_pointer();
 
     let instruction = {
         let v0 = env.read_memory(&instruction_pointer);
@@ -4445,7 +4455,17 @@
 
     match instr {
         MInstruction::Mul => {
-            unimplemented!("Mul")
+            let rs1 = env.read_register(&rs1);
+            let rs2 = env.read_register(&rs2);
+            // FIXME: constrain
+            let res = {
+                let pos = env.alloc_scratch();
+                unsafe { env.mul_lo_signed(&rs1, &rs2, pos) }
+            };
+            env.write_register(&rd, res);
+
+            env.set_instruction_pointer(next_instruction_pointer.clone());
+            env.set_next_instruction_pointer(next_instruction_pointer + Env::constant(4u32));
         }
         MInstruction::Mulh => {
             unimplemented!("Mulh")