diff --git a/rustdoc/latest/halo2/all.html b/rustdoc/latest/halo2/all.html index dfba6234..a04fbb55 100644 --- a/rustdoc/latest/halo2/all.html +++ b/rustdoc/latest/halo2/all.html @@ -15,6 +15,6 @@

List of all items[] -

Structs

Enums

Traits

Functions

+

Structs

Enums

Traits

Functions

\ No newline at end of file diff --git a/rustdoc/latest/halo2/dev/cost/index.html b/rustdoc/latest/halo2/dev/cost/index.html index ed38ca47..623a4d74 100644 --- a/rustdoc/latest/halo2/dev/cost/index.html +++ b/rustdoc/latest/halo2/dev/cost/index.html @@ -13,9 +13,10 @@ }); }); -

Module halo2::dev::cost[][src]

Expand description

Developer tools for investigating the cost of a circuit.

+

Module halo2::dev::cost[][src]

Expand description

Developer tools for investigating the cost of a circuit.

Structs

Measures a circuit to determine its costs, and explain what contributes to them.

+

The marginal size of a Halo 2 proof, broken down into its contributing factors.

The size of a Halo 2 proof, broken down into its contributing factors.

diff --git a/rustdoc/latest/halo2/dev/cost/sidebar-items.js b/rustdoc/latest/halo2/dev/cost/sidebar-items.js index 4fde0f1f..97478eda 100644 --- a/rustdoc/latest/halo2/dev/cost/sidebar-items.js +++ b/rustdoc/latest/halo2/dev/cost/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"struct":[["CircuitCost","Measures a circuit to determine its costs, and explain what contributes to them."],["ProofSize","The size of a Halo 2 proof, broken down into its contributing factors."]]}); \ No newline at end of file +initSidebarItems({"struct":[["CircuitCost","Measures a circuit to determine its costs, and explain what contributes to them."],["MarginalProofSize","The marginal size of a Halo 2 proof, broken down into its contributing factors."],["ProofSize","The size of a Halo 2 proof, broken down into its contributing factors."]]}); \ No newline at end of file diff --git a/rustdoc/latest/halo2/dev/cost/struct.CircuitCost.html b/rustdoc/latest/halo2/dev/cost/struct.CircuitCost.html index 22ba2dfa..3271bb60 100644 --- a/rustdoc/latest/halo2/dev/cost/struct.CircuitCost.html +++ b/rustdoc/latest/halo2/dev/cost/struct.CircuitCost.html @@ -13,11 +13,12 @@ }); }); -

Struct halo2::dev::cost::CircuitCost[][src]

pub struct CircuitCost<G: PrimeGroup, ConcreteCircuit: Circuit<G::Scalar>> { /* fields omitted */ }
Expand description

Measures a circuit to determine its costs, and explain what contributes to them.

-

Implementations

Measures a circuit with parameter constant k.

+

Struct halo2::dev::cost::CircuitCost[][src]

pub struct CircuitCost<G: PrimeGroup, ConcreteCircuit: Circuit<G::Scalar>> { /* fields omitted */ }
Expand description

Measures a circuit to determine its costs, and explain what contributes to them.

+

Implementations

Measures a circuit with parameter constant k.

Panics if k is not large enough for the circuit.

-

Returns the proof size for the given number of instances of this circuit.

-

Trait Implementations

Formats the value using the given formatter. Read more

+

Returns the marginal proof size per instance of this circuit.

+

Returns the proof size for the given number of instances of this circuit.

+

Trait Implementations

Formats the value using the given formatter. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

diff --git a/rustdoc/latest/halo2/dev/cost/struct.MarginalProofSize.html b/rustdoc/latest/halo2/dev/cost/struct.MarginalProofSize.html new file mode 100644 index 00000000..dfc194be --- /dev/null +++ b/rustdoc/latest/halo2/dev/cost/struct.MarginalProofSize.html @@ -0,0 +1,87 @@ +MarginalProofSize in halo2::dev::cost - Rust + + + +

Struct halo2::dev::cost::MarginalProofSize[][src]

pub struct MarginalProofSize<G: PrimeGroup> { /* fields omitted */ }
Expand description

The marginal size of a Halo 2 proof, broken down into its contributing factors.

+

Trait Implementations

Formats the value using the given formatter. Read more

+

Performs the conversion.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Converts self into T using Into<T>. Read more

+

Causes self to use its Binary implementation when Debug-formatted.

+

Causes self to use its Display implementation when +Debug-formatted. Read more

+

Causes self to use its LowerExp implementation when +Debug-formatted. Read more

+

Causes self to use its LowerHex implementation when +Debug-formatted. Read more

+

Causes self to use its Octal implementation when Debug-formatted.

+

Causes self to use its Pointer implementation when +Debug-formatted. Read more

+

Causes self to use its UpperExp implementation when +Debug-formatted. Read more

+

Causes self to use its UpperHex implementation when +Debug-formatted. Read more

+

Performs the conversion.

+

Performs the conversion.

+

Pipes by value. This is generally the method you want to use. Read more

+

Borrows self and passes that borrow into the pipe function. Read more

+

Mutably borrows self and passes that borrow into the pipe function. Read more

+

Borrows self, then passes self.borrow() into the pipe function. Read more

+

Mutably borrows self, then passes self.borrow_mut() into the pipe +function. Read more

+

Borrows self, then passes self.as_ref() into the pipe function.

+

Mutably borrows self, then passes self.as_mut() into the pipe +function. Read more

+

Borrows self, then passes self.deref() into the pipe function.

+

Mutably borrows self, then passes self.deref_mut() into the pipe +function. Read more

+

The alignment of pointer.

+

The type for initializers.

+

Initializes a with the given initializer. Read more

+

Dereferences the given pointer. Read more

+

Mutably dereferences the given pointer. Read more

+

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

+

Immutable access to a value. Read more

+

Mutable access to a value. Read more

+

Immutable access to the Borrow<B> of a value. Read more

+

Mutable access to the BorrowMut<B> of a value. Read more

+

Immutable access to the AsRef<R> view of a value. Read more

+

Mutable access to the AsMut<R> view of a value. Read more

+

Immutable access to the Deref::Target of a value. Read more

+

Mutable access to the Deref::Target of a value. Read more

+

Calls .tap() only in debug builds, and is erased in release builds.

+

Calls .tap_mut() only in debug builds, and is erased in release +builds. Read more

+

Calls .tap_borrow() only in debug builds, and is erased in release +builds. Read more

+

Calls .tap_borrow_mut() only in debug builds, and is erased in release +builds. Read more

+

Calls .tap_ref() only in debug builds, and is erased in release +builds. Read more

+

Calls .tap_ref_mut() only in debug builds, and is erased in release +builds. Read more

+

Calls .tap_deref() only in debug builds, and is erased in release +builds. Read more

+

Calls .tap_deref_mut() only in debug builds, and is erased in release +builds. Read more

+

Attempts to convert self into T using TryInto<T>. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/rustdoc/latest/halo2/dev/cost/struct.ProofSize.html b/rustdoc/latest/halo2/dev/cost/struct.ProofSize.html index 56d0a119..62da50d3 100644 --- a/rustdoc/latest/halo2/dev/cost/struct.ProofSize.html +++ b/rustdoc/latest/halo2/dev/cost/struct.ProofSize.html @@ -13,9 +13,9 @@ }); }); -

Struct halo2::dev::cost::ProofSize[][src]

pub struct ProofSize<G: PrimeGroup> { /* fields omitted */ }
Expand description

The size of a Halo 2 proof, broken down into its contributing factors.

-

Trait Implementations

Formats the value using the given formatter. Read more

-

Performs the conversion.

+

Struct halo2::dev::cost::ProofSize[][src]

pub struct ProofSize<G: PrimeGroup> { /* fields omitted */ }
Expand description

The size of a Halo 2 proof, broken down into its contributing factors.

+

Trait Implementations

Formats the value using the given formatter. Read more

+

Performs the conversion.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

diff --git a/rustdoc/latest/halo2/dev/enum.VerifyFailure.html b/rustdoc/latest/halo2/dev/enum.VerifyFailure.html index cc5fa18c..c82a9181 100644 --- a/rustdoc/latest/halo2/dev/enum.VerifyFailure.html +++ b/rustdoc/latest/halo2/dev/enum.VerifyFailure.html @@ -13,7 +13,7 @@ }); }); -

Enum halo2::dev::VerifyFailure[][src]

pub enum VerifyFailure {
+

Enum halo2::dev::VerifyFailure[][src]

pub enum VerifyFailure {
     Cell {
         gate: Gate,
         region: Region,
@@ -56,12 +56,12 @@ the order in which ConstraintSystem::lookup is called during
 
Permutation

A permutation did not preserve the original value of a cell.

Fields of Permutation

column: Column

The column in which this permutation is not satisfied.

row: usize

The row on which this permutation is not satisfied.

-

Trait Implementations

Formats the value using the given formatter. Read more

-

Formats the value using the given formatter. Read more

-

This method tests for self and other values to be equal, and is used +

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

This method tests for self and other values to be equal, and is used by ==. Read more

-

This method tests for !=.

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

This method tests for !=.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Converts self into T using Into<T>. Read more

diff --git a/rustdoc/latest/halo2/dev/gates/struct.CircuitGates.html b/rustdoc/latest/halo2/dev/gates/struct.CircuitGates.html new file mode 100644 index 00000000..c90d9d1f --- /dev/null +++ b/rustdoc/latest/halo2/dev/gates/struct.CircuitGates.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

Redirecting to ../../../halo2/dev/struct.CircuitGates.html...

+ + + \ No newline at end of file diff --git a/rustdoc/latest/halo2/dev/index.html b/rustdoc/latest/halo2/dev/index.html index c883a74d..a4503c55 100644 --- a/rustdoc/latest/halo2/dev/index.html +++ b/rustdoc/latest/halo2/dev/index.html @@ -13,13 +13,14 @@ }); }); -

Module halo2::dev[][src]

Expand description

Tools for developing circuits.

+

Module halo2::dev[][src]

Expand description

Tools for developing circuits.

Re-exports

pub use cost::CircuitCost;

Modules

Developer tools for investigating the cost of a circuit.

Metadata about circuits.

Structs

-

A test prover for debugging circuits.

+

A struct for collecting and displaying the gates within a circuit.

+

A test prover for debugging circuits.

Enums

The reasons why a particular circuit is not satisfied.

diff --git a/rustdoc/latest/halo2/dev/sidebar-items.js b/rustdoc/latest/halo2/dev/sidebar-items.js index a63e89ef..0ac98030 100644 --- a/rustdoc/latest/halo2/dev/sidebar-items.js +++ b/rustdoc/latest/halo2/dev/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"enum":[["VerifyFailure","The reasons why a particular circuit is not satisfied."]],"mod":[["cost","Developer tools for investigating the cost of a circuit."],["metadata","Metadata about circuits."]],"struct":[["MockProver","A test prover for debugging circuits."]]}); \ No newline at end of file +initSidebarItems({"enum":[["VerifyFailure","The reasons why a particular circuit is not satisfied."]],"mod":[["cost","Developer tools for investigating the cost of a circuit."],["metadata","Metadata about circuits."]],"struct":[["CircuitGates","A struct for collecting and displaying the gates within a circuit."],["MockProver","A test prover for debugging circuits."]]}); \ No newline at end of file diff --git a/rustdoc/latest/halo2/dev/struct.CircuitGates.html b/rustdoc/latest/halo2/dev/struct.CircuitGates.html new file mode 100644 index 00000000..b3d3d0e7 --- /dev/null +++ b/rustdoc/latest/halo2/dev/struct.CircuitGates.html @@ -0,0 +1,152 @@ +CircuitGates in halo2::dev - Rust + + + +

Struct halo2::dev::CircuitGates[][src]

pub struct CircuitGates { /* fields omitted */ }
Expand description

A struct for collecting and displaying the gates within a circuit.

+

Examples

+
+use ff::Field;
+use halo2::{
+    circuit::{Layouter, SimpleFloorPlanner},
+    dev::CircuitGates,
+    plonk::{Circuit, ConstraintSystem, Error},
+    poly::Rotation,
+};
+use pasta_curves::pallas;
+
+#[derive(Copy, Clone)]
+struct MyConfig {}
+
+#[derive(Clone, Default)]
+struct MyCircuit {}
+
+impl<F: Field> Circuit<F> for MyCircuit {
+    type Config = MyConfig;
+    type FloorPlanner = SimpleFloorPlanner;
+
+    fn without_witnesses(&self) -> Self {
+        Self::default()
+    }
+
+    fn configure(meta: &mut ConstraintSystem<F>) -> MyConfig {
+        let a = meta.advice_column();
+        let b = meta.advice_column();
+        let c = meta.advice_column();
+        let s = meta.selector();
+
+        meta.create_gate("R1CS constraint", |meta| {
+            let a = meta.query_advice(a, Rotation::cur());
+            let b = meta.query_advice(b, Rotation::cur());
+            let c = meta.query_advice(c, Rotation::cur());
+            let s = meta.query_selector(s);
+
+            Some(("R1CS", s * (a * b - c)))
+        });
+
+        // We aren't using this circuit for anything in this example.
+        MyConfig {}
+    }
+
+    fn synthesize(&self, _: MyConfig, _: impl Layouter<F>) -> Result<(), Error> {
+        // Gates are known at configure time; it doesn't matter how we use them.
+        Ok(())
+    }
+}
+
+let gates = CircuitGates::collect::<pallas::Base, MyCircuit>();
+assert_eq!(
+    format!("{}", gates),
+    r#####"R1CS constraint:
+- R1CS:
+  S0 * (A0@0 * A1@0 - A2@0)
+Total gates: 1
+Total custom constraint polynomials: 1
+Total negations: 1
+Total additions: 1
+Total multiplications: 2
+"#####,
+);
+

Implementations

Collects the gates from within the circuit.

+

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Converts self into T using Into<T>. Read more

+

Causes self to use its Binary implementation when Debug-formatted.

+

Causes self to use its Display implementation when +Debug-formatted. Read more

+

Causes self to use its LowerExp implementation when +Debug-formatted. Read more

+

Causes self to use its LowerHex implementation when +Debug-formatted. Read more

+

Causes self to use its Octal implementation when Debug-formatted.

+

Causes self to use its Pointer implementation when +Debug-formatted. Read more

+

Causes self to use its UpperExp implementation when +Debug-formatted. Read more

+

Causes self to use its UpperHex implementation when +Debug-formatted. Read more

+

Performs the conversion.

+

Performs the conversion.

+

Pipes by value. This is generally the method you want to use. Read more

+

Borrows self and passes that borrow into the pipe function. Read more

+

Mutably borrows self and passes that borrow into the pipe function. Read more

+

Borrows self, then passes self.borrow() into the pipe function. Read more

+

Mutably borrows self, then passes self.borrow_mut() into the pipe +function. Read more

+

Borrows self, then passes self.as_ref() into the pipe function.

+

Mutably borrows self, then passes self.as_mut() into the pipe +function. Read more

+

Borrows self, then passes self.deref() into the pipe function.

+

Mutably borrows self, then passes self.deref_mut() into the pipe +function. Read more

+

The alignment of pointer.

+

The type for initializers.

+

Initializes a with the given initializer. Read more

+

Dereferences the given pointer. Read more

+

Mutably dereferences the given pointer. Read more

+

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

+

Immutable access to a value. Read more

+

Mutable access to a value. Read more

+

Immutable access to the Borrow<B> of a value. Read more

+

Mutable access to the BorrowMut<B> of a value. Read more

+

Immutable access to the AsRef<R> view of a value. Read more

+

Mutable access to the AsMut<R> view of a value. Read more

+

Immutable access to the Deref::Target of a value. Read more

+

Mutable access to the Deref::Target of a value. Read more

+

Calls .tap() only in debug builds, and is erased in release builds.

+

Calls .tap_mut() only in debug builds, and is erased in release +builds. Read more

+

Calls .tap_borrow() only in debug builds, and is erased in release +builds. Read more

+

Calls .tap_borrow_mut() only in debug builds, and is erased in release +builds. Read more

+

Calls .tap_ref() only in debug builds, and is erased in release +builds. Read more

+

Calls .tap_ref_mut() only in debug builds, and is erased in release +builds. Read more

+

Calls .tap_deref() only in debug builds, and is erased in release +builds. Read more

+

Calls .tap_deref_mut() only in debug builds, and is erased in release +builds. Read more

+

Converts the given value to a String. Read more

+

Attempts to convert self into T using TryInto<T>. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+
+ + \ No newline at end of file diff --git a/rustdoc/latest/halo2/dev/struct.MockProver.html b/rustdoc/latest/halo2/dev/struct.MockProver.html index 52670f2d..92e73911 100644 --- a/rustdoc/latest/halo2/dev/struct.MockProver.html +++ b/rustdoc/latest/halo2/dev/struct.MockProver.html @@ -13,7 +13,7 @@ }); }); -

Struct halo2::dev::MockProver[][src]

pub struct MockProver<F: Group + Field> { /* fields omitted */ }
Expand description

A test prover for debugging circuits.

+

Struct halo2::dev::MockProver[][src]

pub struct MockProver<F: Group + Field> { /* fields omitted */ }
Expand description

A test prover for debugging circuits.

The normal proving process, when applied to a buggy circuit implementation, might return proofs that do not validate when they should, but it can’t indicate anything other than “something is invalid”. MockProver can be used to figure out why these @@ -108,20 +108,20 @@ then checks every constraint manually.

row: 0 }]) );
-

Implementations

Runs a synthetic keygen-and-prove operation on the given circuit, collecting data +

Implementations

Runs a synthetic keygen-and-prove operation on the given circuit, collecting data about the constraints and their assignments.

-

Returns Ok(()) if this MockProver is satisfied, or a list of errors indicating +

Returns Ok(()) if this MockProver is satisfied, or a list of errors indicating the reasons that the circuit is not satisfied.

-

Trait Implementations

Creates a new region and enters into it. Read more

-

Exits the current region. Read more

-

Enables a selector at the given row.

-

Queries the cell of an instance column at a particular absolute row. Read more

-

Assign an advice column value (witness)

-

Assign a fixed value

-

Assign two cells to have the same value

-

Creates a new (sub)namespace and enters into it. Read more

-

Exits out of the existing namespace. Read more

-

Formats the value using the given formatter. Read more

+

Trait Implementations

Creates a new region and enters into it. Read more

+

Exits the current region. Read more

+

Enables a selector at the given row.

+

Queries the cell of an instance column at a particular absolute row. Read more

+

Assign an advice column value (witness)

+

Assign a fixed value

+

Assign two cells to have the same value

+

Creates a new (sub)namespace and enters into it. Read more

+

Exits out of the existing namespace. Read more

+

Formats the value using the given formatter. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

diff --git a/rustdoc/latest/halo2/plonk/trait.Assignment.html b/rustdoc/latest/halo2/plonk/trait.Assignment.html index 54adde40..a7a622d8 100644 --- a/rustdoc/latest/halo2/plonk/trait.Assignment.html +++ b/rustdoc/latest/halo2/plonk/trait.Assignment.html @@ -41,6 +41,6 @@ for a constraint system.

Not intended for downstream consumption; use Layouter::namespace instead.

Exits out of the existing namespace.

Not intended for downstream consumption; use Layouter::namespace instead.

-

Implementors

+

Implementors

\ No newline at end of file diff --git a/rustdoc/latest/implementors/core/convert/trait.From.js b/rustdoc/latest/implementors/core/convert/trait.From.js index 6d2f1d5f..e21e9e53 100644 --- a/rustdoc/latest/implementors/core/convert/trait.From.js +++ b/rustdoc/latest/implementors/core/convert/trait.From.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["halo2"] = [{"text":"impl From<Column<Any>> for RegionColumn","synthetic":false,"types":["halo2::circuit::layouter::RegionColumn"]},{"text":"impl From<Selector> for RegionColumn","synthetic":false,"types":["halo2::circuit::layouter::RegionColumn"]},{"text":"impl From<usize> for RegionIndex","synthetic":false,"types":["halo2::circuit::RegionIndex"]},{"text":"impl From<usize> for RegionStart","synthetic":false,"types":["halo2::circuit::RegionStart"]},{"text":"impl<'r, F: Field> From<&'r mut (dyn RegionLayouter<F> + 'r)> for Region<'r, F>","synthetic":false,"types":["halo2::circuit::Region"]},{"text":"impl From<Advice> for Any","synthetic":false,"types":["halo2::plonk::circuit::Any"]},{"text":"impl From<Fixed> for Any","synthetic":false,"types":["halo2::plonk::circuit::Any"]},{"text":"impl From<Instance> for Any","synthetic":false,"types":["halo2::plonk::circuit::Any"]},{"text":"impl From<Column<Advice>> for Column<Any>","synthetic":false,"types":["halo2::plonk::circuit::Column"]},{"text":"impl From<Column<Fixed>> for Column<Any>","synthetic":false,"types":["halo2::plonk::circuit::Column"]},{"text":"impl From<Column<Instance>> for Column<Any>","synthetic":false,"types":["halo2::plonk::circuit::Column"]},{"text":"impl<F: Field> From<F> for Assigned<F>","synthetic":false,"types":["halo2::plonk::circuit::Assigned"]},{"text":"impl<F: Field> From<(F, F)> for Assigned<F>","synthetic":false,"types":["halo2::plonk::circuit::Assigned"]},{"text":"impl<F: Field> From<Expression<F>> for Constraint<F>","synthetic":false,"types":["halo2::plonk::circuit::Constraint"]},{"text":"impl<F: Field> From<(&'static str, Expression<F>)> for Constraint<F>","synthetic":false,"types":["halo2::plonk::circuit::Constraint"]},{"text":"impl<F: Field> From<Expression<F>> for Vec<Constraint<F>>","synthetic":false,"types":["alloc::vec::Vec"]},{"text":"impl From<(Any, usize)> for Column","synthetic":false,"types":["halo2::dev::metadata::Column"]},{"text":"impl From<Column<Any>> for Column","synthetic":false,"types":["halo2::dev::metadata::Column"]},{"text":"impl From<(usize, &'static str)> for Gate","synthetic":false,"types":["halo2::dev::metadata::Gate"]},{"text":"impl From<(Gate, usize, &'static str)> for Constraint","synthetic":false,"types":["halo2::dev::metadata::Constraint"]},{"text":"impl From<(usize, String)> for Region","synthetic":false,"types":["halo2::dev::metadata::Region"]},{"text":"impl<G: PrimeGroup> From<ProofSize<G>> for usize","synthetic":false,"types":[]}]; +implementors["halo2"] = [{"text":"impl From<Column<Any>> for RegionColumn","synthetic":false,"types":["halo2::circuit::layouter::RegionColumn"]},{"text":"impl From<Selector> for RegionColumn","synthetic":false,"types":["halo2::circuit::layouter::RegionColumn"]},{"text":"impl From<usize> for RegionIndex","synthetic":false,"types":["halo2::circuit::RegionIndex"]},{"text":"impl From<usize> for RegionStart","synthetic":false,"types":["halo2::circuit::RegionStart"]},{"text":"impl<'r, F: Field> From<&'r mut (dyn RegionLayouter<F> + 'r)> for Region<'r, F>","synthetic":false,"types":["halo2::circuit::Region"]},{"text":"impl From<Advice> for Any","synthetic":false,"types":["halo2::plonk::circuit::Any"]},{"text":"impl From<Fixed> for Any","synthetic":false,"types":["halo2::plonk::circuit::Any"]},{"text":"impl From<Instance> for Any","synthetic":false,"types":["halo2::plonk::circuit::Any"]},{"text":"impl From<Column<Advice>> for Column<Any>","synthetic":false,"types":["halo2::plonk::circuit::Column"]},{"text":"impl From<Column<Fixed>> for Column<Any>","synthetic":false,"types":["halo2::plonk::circuit::Column"]},{"text":"impl From<Column<Instance>> for Column<Any>","synthetic":false,"types":["halo2::plonk::circuit::Column"]},{"text":"impl<F: Field> From<F> for Assigned<F>","synthetic":false,"types":["halo2::plonk::circuit::Assigned"]},{"text":"impl<F: Field> From<(F, F)> for Assigned<F>","synthetic":false,"types":["halo2::plonk::circuit::Assigned"]},{"text":"impl<F: Field> From<Expression<F>> for Constraint<F>","synthetic":false,"types":["halo2::plonk::circuit::Constraint"]},{"text":"impl<F: Field> From<(&'static str, Expression<F>)> for Constraint<F>","synthetic":false,"types":["halo2::plonk::circuit::Constraint"]},{"text":"impl<F: Field> From<Expression<F>> for Vec<Constraint<F>>","synthetic":false,"types":["alloc::vec::Vec"]},{"text":"impl From<(Any, usize)> for Column","synthetic":false,"types":["halo2::dev::metadata::Column"]},{"text":"impl From<Column<Any>> for Column","synthetic":false,"types":["halo2::dev::metadata::Column"]},{"text":"impl From<(usize, &'static str)> for Gate","synthetic":false,"types":["halo2::dev::metadata::Gate"]},{"text":"impl From<(Gate, usize, &'static str)> for Constraint","synthetic":false,"types":["halo2::dev::metadata::Constraint"]},{"text":"impl From<(usize, String)> for Region","synthetic":false,"types":["halo2::dev::metadata::Region"]},{"text":"impl<G: PrimeGroup> From<MarginalProofSize<G>> for usize","synthetic":false,"types":[]},{"text":"impl<G: PrimeGroup> From<ProofSize<G>> for usize","synthetic":false,"types":[]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/rustdoc/latest/implementors/core/fmt/trait.Debug.js b/rustdoc/latest/implementors/core/fmt/trait.Debug.js index 8b1fbbcd..6b5e3463 100644 --- a/rustdoc/latest/implementors/core/fmt/trait.Debug.js +++ b/rustdoc/latest/implementors/core/fmt/trait.Debug.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["halo2"] = [{"text":"impl Debug for SimpleFloorPlanner","synthetic":false,"types":["halo2::circuit::floor_planner::single_pass::SimpleFloorPlanner"]},{"text":"impl Debug for V1","synthetic":false,"types":["halo2::circuit::floor_planner::v1::V1"]},{"text":"impl<'p, 'a, F: Debug + Field, CS: Debug + Assignment<F> + 'a> Debug for V1Pass<'p, 'a, F, CS>","synthetic":false,"types":["halo2::circuit::floor_planner::v1::V1Pass"]},{"text":"impl Debug for RegionShape","synthetic":false,"types":["halo2::circuit::layouter::RegionShape"]},{"text":"impl Debug for RegionColumn","synthetic":false,"types":["halo2::circuit::layouter::RegionColumn"]},{"text":"impl Debug for RegionIndex","synthetic":false,"types":["halo2::circuit::RegionIndex"]},{"text":"impl Debug for RegionStart","synthetic":false,"types":["halo2::circuit::RegionStart"]},{"text":"impl Debug for Cell","synthetic":false,"types":["halo2::circuit::Cell"]},{"text":"impl<'r, F: Debug + Field> Debug for Region<'r, F>","synthetic":false,"types":["halo2::circuit::Region"]},{"text":"impl<'a, F: Debug + Field, L: Debug + Layouter<F> + 'a> Debug for NamespacedLayouter<'a, F, L>","synthetic":false,"types":["halo2::circuit::NamespacedLayouter"]},{"text":"impl<C: Debug + ColumnType> Debug for Column<C>","synthetic":false,"types":["halo2::plonk::circuit::Column"]},{"text":"impl Debug for Advice","synthetic":false,"types":["halo2::plonk::circuit::Advice"]},{"text":"impl Debug for Fixed","synthetic":false,"types":["halo2::plonk::circuit::Fixed"]},{"text":"impl Debug for Instance","synthetic":false,"types":["halo2::plonk::circuit::Instance"]},{"text":"impl Debug for Any","synthetic":false,"types":["halo2::plonk::circuit::Any"]},{"text":"impl Debug for Selector","synthetic":false,"types":["halo2::plonk::circuit::Selector"]},{"text":"impl<F: Debug> Debug for Assigned<F>","synthetic":false,"types":["halo2::plonk::circuit::Assigned"]},{"text":"impl<F: Debug> Debug for Expression<F>","synthetic":false,"types":["halo2::plonk::circuit::Expression"]},{"text":"impl<F: Debug + Field> Debug for Constraint<F>","synthetic":false,"types":["halo2::plonk::circuit::Constraint"]},{"text":"impl<F: Debug + Field> Debug for ConstraintSystem<F>","synthetic":false,"types":["halo2::plonk::circuit::ConstraintSystem"]},{"text":"impl<'a, F: Debug + Field> Debug for PinnedConstraintSystem<'a, F>","synthetic":false,"types":["halo2::plonk::circuit::PinnedConstraintSystem"]},{"text":"impl<'a, F: Debug + Field> Debug for VirtualCells<'a, F>","synthetic":false,"types":["halo2::plonk::circuit::VirtualCells"]},{"text":"impl<C: Debug + CurveAffine> Debug for VerifyingKey<C> where
    C::Scalar: Debug,
    C::Scalar: Debug
","synthetic":false,"types":["halo2::plonk::VerifyingKey"]},{"text":"impl<'a, C: Debug + CurveAffine> Debug for PinnedVerificationKey<'a, C> where
    C::Scalar: Debug,
    C::Scalar: Debug
","synthetic":false,"types":["halo2::plonk::PinnedVerificationKey"]},{"text":"impl<C: Debug + CurveAffine> Debug for ProvingKey<C> where
    C::Scalar: Debug,
    C::Scalar: Debug,
    C::Scalar: Debug,
    C::Scalar: Debug,
    C::Scalar: Debug,
    C::Scalar: Debug
","synthetic":false,"types":["halo2::plonk::ProvingKey"]},{"text":"impl Debug for Error","synthetic":false,"types":["halo2::plonk::Error"]},{"text":"impl<'a, C: Debug + CurveAffine> Debug for MSM<'a, C> where
    C::Scalar: Debug,
    C::Scalar: Debug,
    C::Scalar: Debug,
    C::Scalar: Debug
","synthetic":false,"types":["halo2::poly::commitment::msm::MSM"]},{"text":"impl<'a, C: Debug + CurveAffine, E: Debug + EncodedChallenge<C>> Debug for Guard<'a, C, E> where
    C::Scalar: Debug,
    C::Scalar: Debug
","synthetic":false,"types":["halo2::poly::commitment::verifier::Guard"]},{"text":"impl<C: Debug + CurveAffine, E: Debug + EncodedChallenge<C>> Debug for Accumulator<C, E>","synthetic":false,"types":["halo2::poly::commitment::verifier::Accumulator"]},{"text":"impl<C: Debug + CurveAffine> Debug for Params<C>","synthetic":false,"types":["halo2::poly::commitment::Params"]},{"text":"impl<F: Debug> Debug for Blind<F>","synthetic":false,"types":["halo2::poly::commitment::Blind"]},{"text":"impl<G: Debug + Group> Debug for EvaluationDomain<G> where
    G::Scalar: Debug,
    G::Scalar: Debug,
    G::Scalar: Debug,
    G::Scalar: Debug,
    G::Scalar: Debug,
    G::Scalar: Debug,
    G::Scalar: Debug,
    G::Scalar: Debug,
    G::Scalar: Debug,
    G::Scalar: Debug
","synthetic":false,"types":["halo2::poly::domain::EvaluationDomain"]},{"text":"impl<'a, G: Debug + Group> Debug for PinnedEvaluationDomain<'a, G> where
    G::Scalar: Debug
","synthetic":false,"types":["halo2::poly::domain::PinnedEvaluationDomain"]},{"text":"impl<'a, C: Debug + CurveAffine> Debug for ProverQuery<'a, C> where
    C::Scalar: Debug,
    C::Scalar: Debug,
    C::Scalar: Debug
","synthetic":false,"types":["halo2::poly::multiopen::ProverQuery"]},{"text":"impl<'r, 'params: 'r, C: Debug + CurveAffine> Debug for VerifierQuery<'r, 'params, C> where
    C::Scalar: Debug,
    C::Scalar: Debug
","synthetic":false,"types":["halo2::poly::multiopen::VerifierQuery"]},{"text":"impl Debug for Error","synthetic":false,"types":["halo2::poly::Error"]},{"text":"impl Debug for Coeff","synthetic":false,"types":["halo2::poly::Coeff"]},{"text":"impl Debug for LagrangeCoeff","synthetic":false,"types":["halo2::poly::LagrangeCoeff"]},{"text":"impl Debug for ExtendedLagrangeCoeff","synthetic":false,"types":["halo2::poly::ExtendedLagrangeCoeff"]},{"text":"impl<F: Debug, B: Debug> Debug for Polynomial<F, B>","synthetic":false,"types":["halo2::poly::Polynomial"]},{"text":"impl Debug for Rotation","synthetic":false,"types":["halo2::poly::Rotation"]},{"text":"impl<R: Debug + Read, C: Debug + CurveAffine, E: Debug + EncodedChallenge<C>> Debug for Blake2bRead<R, C, E>","synthetic":false,"types":["halo2::transcript::Blake2bRead"]},{"text":"impl<W: Debug + Write, C: Debug + CurveAffine, E: Debug + EncodedChallenge<C>> Debug for Blake2bWrite<W, C, E>","synthetic":false,"types":["halo2::transcript::Blake2bWrite"]},{"text":"impl<C: Debug + CurveAffine, T: Debug> Debug for ChallengeScalar<C, T> where
    C::Scalar: Debug
","synthetic":false,"types":["halo2::transcript::ChallengeScalar"]},{"text":"impl<C: Debug + CurveAffine> Debug for Challenge255<C>","synthetic":false,"types":["halo2::transcript::Challenge255"]},{"text":"impl Debug for Column","synthetic":false,"types":["halo2::dev::metadata::Column"]},{"text":"impl Debug for Gate","synthetic":false,"types":["halo2::dev::metadata::Gate"]},{"text":"impl Debug for Constraint","synthetic":false,"types":["halo2::dev::metadata::Constraint"]},{"text":"impl Debug for Region","synthetic":false,"types":["halo2::dev::metadata::Region"]},{"text":"impl<G: Debug + PrimeGroup, ConcreteCircuit: Debug + Circuit<G::Scalar>> Debug for CircuitCost<G, ConcreteCircuit>","synthetic":false,"types":["halo2::dev::cost::CircuitCost"]},{"text":"impl<G: Debug + PrimeGroup> Debug for ProofSize<G>","synthetic":false,"types":["halo2::dev::cost::ProofSize"]},{"text":"impl Debug for VerifyFailure","synthetic":false,"types":["halo2::dev::VerifyFailure"]},{"text":"impl<F: Debug + Group + Field> Debug for MockProver<F>","synthetic":false,"types":["halo2::dev::MockProver"]}]; +implementors["halo2"] = [{"text":"impl Debug for SimpleFloorPlanner","synthetic":false,"types":["halo2::circuit::floor_planner::single_pass::SimpleFloorPlanner"]},{"text":"impl Debug for V1","synthetic":false,"types":["halo2::circuit::floor_planner::v1::V1"]},{"text":"impl<'p, 'a, F: Debug + Field, CS: Debug + Assignment<F> + 'a> Debug for V1Pass<'p, 'a, F, CS>","synthetic":false,"types":["halo2::circuit::floor_planner::v1::V1Pass"]},{"text":"impl Debug for RegionShape","synthetic":false,"types":["halo2::circuit::layouter::RegionShape"]},{"text":"impl Debug for RegionColumn","synthetic":false,"types":["halo2::circuit::layouter::RegionColumn"]},{"text":"impl Debug for RegionIndex","synthetic":false,"types":["halo2::circuit::RegionIndex"]},{"text":"impl Debug for RegionStart","synthetic":false,"types":["halo2::circuit::RegionStart"]},{"text":"impl Debug for Cell","synthetic":false,"types":["halo2::circuit::Cell"]},{"text":"impl<'r, F: Debug + Field> Debug for Region<'r, F>","synthetic":false,"types":["halo2::circuit::Region"]},{"text":"impl<'a, F: Debug + Field, L: Debug + Layouter<F> + 'a> Debug for NamespacedLayouter<'a, F, L>","synthetic":false,"types":["halo2::circuit::NamespacedLayouter"]},{"text":"impl<C: Debug + ColumnType> Debug for Column<C>","synthetic":false,"types":["halo2::plonk::circuit::Column"]},{"text":"impl Debug for Advice","synthetic":false,"types":["halo2::plonk::circuit::Advice"]},{"text":"impl Debug for Fixed","synthetic":false,"types":["halo2::plonk::circuit::Fixed"]},{"text":"impl Debug for Instance","synthetic":false,"types":["halo2::plonk::circuit::Instance"]},{"text":"impl Debug for Any","synthetic":false,"types":["halo2::plonk::circuit::Any"]},{"text":"impl Debug for Selector","synthetic":false,"types":["halo2::plonk::circuit::Selector"]},{"text":"impl<F: Debug> Debug for Assigned<F>","synthetic":false,"types":["halo2::plonk::circuit::Assigned"]},{"text":"impl<F: Debug> Debug for Expression<F>","synthetic":false,"types":["halo2::plonk::circuit::Expression"]},{"text":"impl<F: Debug + Field> Debug for Constraint<F>","synthetic":false,"types":["halo2::plonk::circuit::Constraint"]},{"text":"impl<F: Debug + Field> Debug for ConstraintSystem<F>","synthetic":false,"types":["halo2::plonk::circuit::ConstraintSystem"]},{"text":"impl<'a, F: Debug + Field> Debug for PinnedConstraintSystem<'a, F>","synthetic":false,"types":["halo2::plonk::circuit::PinnedConstraintSystem"]},{"text":"impl<'a, F: Debug + Field> Debug for VirtualCells<'a, F>","synthetic":false,"types":["halo2::plonk::circuit::VirtualCells"]},{"text":"impl<C: Debug + CurveAffine> Debug for VerifyingKey<C> where
    C::Scalar: Debug,
    C::Scalar: Debug
","synthetic":false,"types":["halo2::plonk::VerifyingKey"]},{"text":"impl<'a, C: Debug + CurveAffine> Debug for PinnedVerificationKey<'a, C> where
    C::Scalar: Debug,
    C::Scalar: Debug
","synthetic":false,"types":["halo2::plonk::PinnedVerificationKey"]},{"text":"impl<C: Debug + CurveAffine> Debug for ProvingKey<C> where
    C::Scalar: Debug,
    C::Scalar: Debug,
    C::Scalar: Debug,
    C::Scalar: Debug,
    C::Scalar: Debug,
    C::Scalar: Debug
","synthetic":false,"types":["halo2::plonk::ProvingKey"]},{"text":"impl Debug for Error","synthetic":false,"types":["halo2::plonk::Error"]},{"text":"impl<'a, C: Debug + CurveAffine> Debug for MSM<'a, C> where
    C::Scalar: Debug,
    C::Scalar: Debug,
    C::Scalar: Debug,
    C::Scalar: Debug
","synthetic":false,"types":["halo2::poly::commitment::msm::MSM"]},{"text":"impl<'a, C: Debug + CurveAffine, E: Debug + EncodedChallenge<C>> Debug for Guard<'a, C, E> where
    C::Scalar: Debug,
    C::Scalar: Debug
","synthetic":false,"types":["halo2::poly::commitment::verifier::Guard"]},{"text":"impl<C: Debug + CurveAffine, E: Debug + EncodedChallenge<C>> Debug for Accumulator<C, E>","synthetic":false,"types":["halo2::poly::commitment::verifier::Accumulator"]},{"text":"impl<C: Debug + CurveAffine> Debug for Params<C>","synthetic":false,"types":["halo2::poly::commitment::Params"]},{"text":"impl<F: Debug> Debug for Blind<F>","synthetic":false,"types":["halo2::poly::commitment::Blind"]},{"text":"impl<G: Debug + Group> Debug for EvaluationDomain<G> where
    G::Scalar: Debug,
    G::Scalar: Debug,
    G::Scalar: Debug,
    G::Scalar: Debug,
    G::Scalar: Debug,
    G::Scalar: Debug,
    G::Scalar: Debug,
    G::Scalar: Debug,
    G::Scalar: Debug,
    G::Scalar: Debug
","synthetic":false,"types":["halo2::poly::domain::EvaluationDomain"]},{"text":"impl<'a, G: Debug + Group> Debug for PinnedEvaluationDomain<'a, G> where
    G::Scalar: Debug
","synthetic":false,"types":["halo2::poly::domain::PinnedEvaluationDomain"]},{"text":"impl<'a, C: Debug + CurveAffine> Debug for ProverQuery<'a, C> where
    C::Scalar: Debug,
    C::Scalar: Debug,
    C::Scalar: Debug
","synthetic":false,"types":["halo2::poly::multiopen::ProverQuery"]},{"text":"impl<'r, 'params: 'r, C: Debug + CurveAffine> Debug for VerifierQuery<'r, 'params, C> where
    C::Scalar: Debug,
    C::Scalar: Debug
","synthetic":false,"types":["halo2::poly::multiopen::VerifierQuery"]},{"text":"impl Debug for Error","synthetic":false,"types":["halo2::poly::Error"]},{"text":"impl Debug for Coeff","synthetic":false,"types":["halo2::poly::Coeff"]},{"text":"impl Debug for LagrangeCoeff","synthetic":false,"types":["halo2::poly::LagrangeCoeff"]},{"text":"impl Debug for ExtendedLagrangeCoeff","synthetic":false,"types":["halo2::poly::ExtendedLagrangeCoeff"]},{"text":"impl<F: Debug, B: Debug> Debug for Polynomial<F, B>","synthetic":false,"types":["halo2::poly::Polynomial"]},{"text":"impl Debug for Rotation","synthetic":false,"types":["halo2::poly::Rotation"]},{"text":"impl<R: Debug + Read, C: Debug + CurveAffine, E: Debug + EncodedChallenge<C>> Debug for Blake2bRead<R, C, E>","synthetic":false,"types":["halo2::transcript::Blake2bRead"]},{"text":"impl<W: Debug + Write, C: Debug + CurveAffine, E: Debug + EncodedChallenge<C>> Debug for Blake2bWrite<W, C, E>","synthetic":false,"types":["halo2::transcript::Blake2bWrite"]},{"text":"impl<C: Debug + CurveAffine, T: Debug> Debug for ChallengeScalar<C, T> where
    C::Scalar: Debug
","synthetic":false,"types":["halo2::transcript::ChallengeScalar"]},{"text":"impl<C: Debug + CurveAffine> Debug for Challenge255<C>","synthetic":false,"types":["halo2::transcript::Challenge255"]},{"text":"impl Debug for Column","synthetic":false,"types":["halo2::dev::metadata::Column"]},{"text":"impl Debug for Gate","synthetic":false,"types":["halo2::dev::metadata::Gate"]},{"text":"impl Debug for Constraint","synthetic":false,"types":["halo2::dev::metadata::Constraint"]},{"text":"impl Debug for Region","synthetic":false,"types":["halo2::dev::metadata::Region"]},{"text":"impl<G: Debug + PrimeGroup, ConcreteCircuit: Debug + Circuit<G::Scalar>> Debug for CircuitCost<G, ConcreteCircuit>","synthetic":false,"types":["halo2::dev::cost::CircuitCost"]},{"text":"impl<G: Debug + PrimeGroup> Debug for MarginalProofSize<G>","synthetic":false,"types":["halo2::dev::cost::MarginalProofSize"]},{"text":"impl<G: Debug + PrimeGroup> Debug for ProofSize<G>","synthetic":false,"types":["halo2::dev::cost::ProofSize"]},{"text":"impl Debug for CircuitGates","synthetic":false,"types":["halo2::dev::gates::CircuitGates"]},{"text":"impl Debug for VerifyFailure","synthetic":false,"types":["halo2::dev::VerifyFailure"]},{"text":"impl<F: Debug + Group + Field> Debug for MockProver<F>","synthetic":false,"types":["halo2::dev::MockProver"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/rustdoc/latest/implementors/core/fmt/trait.Display.js b/rustdoc/latest/implementors/core/fmt/trait.Display.js index c2ab744e..f961fb7a 100644 --- a/rustdoc/latest/implementors/core/fmt/trait.Display.js +++ b/rustdoc/latest/implementors/core/fmt/trait.Display.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["halo2"] = [{"text":"impl Display for Column","synthetic":false,"types":["halo2::dev::metadata::Column"]},{"text":"impl Display for Gate","synthetic":false,"types":["halo2::dev::metadata::Gate"]},{"text":"impl Display for Constraint","synthetic":false,"types":["halo2::dev::metadata::Constraint"]},{"text":"impl Display for Region","synthetic":false,"types":["halo2::dev::metadata::Region"]},{"text":"impl Display for VerifyFailure","synthetic":false,"types":["halo2::dev::VerifyFailure"]}]; +implementors["halo2"] = [{"text":"impl Display for Column","synthetic":false,"types":["halo2::dev::metadata::Column"]},{"text":"impl Display for Gate","synthetic":false,"types":["halo2::dev::metadata::Gate"]},{"text":"impl Display for Constraint","synthetic":false,"types":["halo2::dev::metadata::Constraint"]},{"text":"impl Display for Region","synthetic":false,"types":["halo2::dev::metadata::Region"]},{"text":"impl Display for CircuitGates","synthetic":false,"types":["halo2::dev::gates::CircuitGates"]},{"text":"impl Display for VerifyFailure","synthetic":false,"types":["halo2::dev::VerifyFailure"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/rustdoc/latest/implementors/core/marker/trait.Freeze.js b/rustdoc/latest/implementors/core/marker/trait.Freeze.js index 3c9d64fb..4668c2f9 100644 --- a/rustdoc/latest/implementors/core/marker/trait.Freeze.js +++ b/rustdoc/latest/implementors/core/marker/trait.Freeze.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["halo2"] = [{"text":"impl Freeze for SimpleFloorPlanner","synthetic":true,"types":["halo2::circuit::floor_planner::single_pass::SimpleFloorPlanner"]},{"text":"impl Freeze for V1","synthetic":true,"types":["halo2::circuit::floor_planner::v1::V1"]},{"text":"impl<'p, 'a, F, CS> Freeze for V1Pass<'p, 'a, F, CS>","synthetic":true,"types":["halo2::circuit::floor_planner::v1::V1Pass"]},{"text":"impl Freeze for RegionShape","synthetic":true,"types":["halo2::circuit::layouter::RegionShape"]},{"text":"impl Freeze for RegionColumn","synthetic":true,"types":["halo2::circuit::layouter::RegionColumn"]},{"text":"impl Freeze for RegionIndex","synthetic":true,"types":["halo2::circuit::RegionIndex"]},{"text":"impl Freeze for RegionStart","synthetic":true,"types":["halo2::circuit::RegionStart"]},{"text":"impl Freeze for Cell","synthetic":true,"types":["halo2::circuit::Cell"]},{"text":"impl<'r, F> Freeze for Region<'r, F>","synthetic":true,"types":["halo2::circuit::Region"]},{"text":"impl<'a, F, L> Freeze for NamespacedLayouter<'a, F, L>","synthetic":true,"types":["halo2::circuit::NamespacedLayouter"]},{"text":"impl<C> Freeze for Column<C> where
    C: Freeze, 
","synthetic":true,"types":["halo2::plonk::circuit::Column"]},{"text":"impl Freeze for Advice","synthetic":true,"types":["halo2::plonk::circuit::Advice"]},{"text":"impl Freeze for Fixed","synthetic":true,"types":["halo2::plonk::circuit::Fixed"]},{"text":"impl Freeze for Instance","synthetic":true,"types":["halo2::plonk::circuit::Instance"]},{"text":"impl Freeze for Any","synthetic":true,"types":["halo2::plonk::circuit::Any"]},{"text":"impl Freeze for Selector","synthetic":true,"types":["halo2::plonk::circuit::Selector"]},{"text":"impl<F> Freeze for Assigned<F> where
    F: Freeze, 
","synthetic":true,"types":["halo2::plonk::circuit::Assigned"]},{"text":"impl<F> Freeze for Expression<F> where
    F: Freeze, 
","synthetic":true,"types":["halo2::plonk::circuit::Expression"]},{"text":"impl<F> Freeze for Constraint<F> where
    F: Freeze, 
","synthetic":true,"types":["halo2::plonk::circuit::Constraint"]},{"text":"impl<F> Freeze for ConstraintSystem<F>","synthetic":true,"types":["halo2::plonk::circuit::ConstraintSystem"]},{"text":"impl<'a, F> Freeze for PinnedConstraintSystem<'a, F>","synthetic":true,"types":["halo2::plonk::circuit::PinnedConstraintSystem"]},{"text":"impl<'a, F> Freeze for VirtualCells<'a, F>","synthetic":true,"types":["halo2::plonk::circuit::VirtualCells"]},{"text":"impl<C> Freeze for VerifyingKey<C> where
    <C as CurveAffine>::ScalarExt: Freeze, 
","synthetic":true,"types":["halo2::plonk::VerifyingKey"]},{"text":"impl<'a, C> Freeze for PinnedVerificationKey<'a, C>","synthetic":true,"types":["halo2::plonk::PinnedVerificationKey"]},{"text":"impl<C> Freeze for ProvingKey<C> where
    <C as CurveAffine>::ScalarExt: Freeze, 
","synthetic":true,"types":["halo2::plonk::ProvingKey"]},{"text":"impl Freeze for Error","synthetic":true,"types":["halo2::plonk::Error"]},{"text":"impl<'a, C> Freeze for MSM<'a, C> where
    <C as CurveAffine>::ScalarExt: Freeze, 
","synthetic":true,"types":["halo2::poly::commitment::msm::MSM"]},{"text":"impl<'a, C, E> Freeze for Guard<'a, C, E> where
    <C as CurveAffine>::ScalarExt: Freeze, 
","synthetic":true,"types":["halo2::poly::commitment::verifier::Guard"]},{"text":"impl<C, E> Freeze for Accumulator<C, E> where
    C: Freeze, 
","synthetic":true,"types":["halo2::poly::commitment::verifier::Accumulator"]},{"text":"impl<C> Freeze for Params<C> where
    C: Freeze, 
","synthetic":true,"types":["halo2::poly::commitment::Params"]},{"text":"impl<F> Freeze for Blind<F> where
    F: Freeze, 
","synthetic":true,"types":["halo2::poly::commitment::Blind"]},{"text":"impl<G> Freeze for EvaluationDomain<G> where
    <G as Group>::Scalar: Freeze, 
","synthetic":true,"types":["halo2::poly::domain::EvaluationDomain"]},{"text":"impl<'a, G> Freeze for PinnedEvaluationDomain<'a, G>","synthetic":true,"types":["halo2::poly::domain::PinnedEvaluationDomain"]},{"text":"impl<'a, C> Freeze for ProverQuery<'a, C> where
    <C as CurveAffine>::ScalarExt: Freeze, 
","synthetic":true,"types":["halo2::poly::multiopen::ProverQuery"]},{"text":"impl<'r, 'params, C> Freeze for VerifierQuery<'r, 'params, C> where
    <C as CurveAffine>::ScalarExt: Freeze, 
","synthetic":true,"types":["halo2::poly::multiopen::VerifierQuery"]},{"text":"impl Freeze for Error","synthetic":true,"types":["halo2::poly::Error"]},{"text":"impl Freeze for Coeff","synthetic":true,"types":["halo2::poly::Coeff"]},{"text":"impl Freeze for LagrangeCoeff","synthetic":true,"types":["halo2::poly::LagrangeCoeff"]},{"text":"impl Freeze for ExtendedLagrangeCoeff","synthetic":true,"types":["halo2::poly::ExtendedLagrangeCoeff"]},{"text":"impl<F, B> Freeze for Polynomial<F, B>","synthetic":true,"types":["halo2::poly::Polynomial"]},{"text":"impl Freeze for Rotation","synthetic":true,"types":["halo2::poly::Rotation"]},{"text":"impl<R, C, E> Freeze for Blake2bRead<R, C, E> where
    R: Freeze, 
","synthetic":true,"types":["halo2::transcript::Blake2bRead"]},{"text":"impl<W, C, E> Freeze for Blake2bWrite<W, C, E> where
    W: Freeze, 
","synthetic":true,"types":["halo2::transcript::Blake2bWrite"]},{"text":"impl<C, T> Freeze for ChallengeScalar<C, T> where
    <C as CurveAffine>::ScalarExt: Freeze, 
","synthetic":true,"types":["halo2::transcript::ChallengeScalar"]},{"text":"impl<C> Freeze for Challenge255<C>","synthetic":true,"types":["halo2::transcript::Challenge255"]},{"text":"impl Freeze for Column","synthetic":true,"types":["halo2::dev::metadata::Column"]},{"text":"impl Freeze for Gate","synthetic":true,"types":["halo2::dev::metadata::Gate"]},{"text":"impl Freeze for Constraint","synthetic":true,"types":["halo2::dev::metadata::Constraint"]},{"text":"impl Freeze for Region","synthetic":true,"types":["halo2::dev::metadata::Region"]},{"text":"impl<G, ConcreteCircuit> Freeze for CircuitCost<G, ConcreteCircuit>","synthetic":true,"types":["halo2::dev::cost::CircuitCost"]},{"text":"impl<G> Freeze for ProofSize<G>","synthetic":true,"types":["halo2::dev::cost::ProofSize"]},{"text":"impl Freeze for VerifyFailure","synthetic":true,"types":["halo2::dev::VerifyFailure"]},{"text":"impl<F> Freeze for MockProver<F>","synthetic":true,"types":["halo2::dev::MockProver"]}]; +implementors["halo2"] = [{"text":"impl Freeze for SimpleFloorPlanner","synthetic":true,"types":["halo2::circuit::floor_planner::single_pass::SimpleFloorPlanner"]},{"text":"impl Freeze for V1","synthetic":true,"types":["halo2::circuit::floor_planner::v1::V1"]},{"text":"impl<'p, 'a, F, CS> Freeze for V1Pass<'p, 'a, F, CS>","synthetic":true,"types":["halo2::circuit::floor_planner::v1::V1Pass"]},{"text":"impl Freeze for RegionShape","synthetic":true,"types":["halo2::circuit::layouter::RegionShape"]},{"text":"impl Freeze for RegionColumn","synthetic":true,"types":["halo2::circuit::layouter::RegionColumn"]},{"text":"impl Freeze for RegionIndex","synthetic":true,"types":["halo2::circuit::RegionIndex"]},{"text":"impl Freeze for RegionStart","synthetic":true,"types":["halo2::circuit::RegionStart"]},{"text":"impl Freeze for Cell","synthetic":true,"types":["halo2::circuit::Cell"]},{"text":"impl<'r, F> Freeze for Region<'r, F>","synthetic":true,"types":["halo2::circuit::Region"]},{"text":"impl<'a, F, L> Freeze for NamespacedLayouter<'a, F, L>","synthetic":true,"types":["halo2::circuit::NamespacedLayouter"]},{"text":"impl<C> Freeze for Column<C> where
    C: Freeze, 
","synthetic":true,"types":["halo2::plonk::circuit::Column"]},{"text":"impl Freeze for Advice","synthetic":true,"types":["halo2::plonk::circuit::Advice"]},{"text":"impl Freeze for Fixed","synthetic":true,"types":["halo2::plonk::circuit::Fixed"]},{"text":"impl Freeze for Instance","synthetic":true,"types":["halo2::plonk::circuit::Instance"]},{"text":"impl Freeze for Any","synthetic":true,"types":["halo2::plonk::circuit::Any"]},{"text":"impl Freeze for Selector","synthetic":true,"types":["halo2::plonk::circuit::Selector"]},{"text":"impl<F> Freeze for Assigned<F> where
    F: Freeze, 
","synthetic":true,"types":["halo2::plonk::circuit::Assigned"]},{"text":"impl<F> Freeze for Expression<F> where
    F: Freeze, 
","synthetic":true,"types":["halo2::plonk::circuit::Expression"]},{"text":"impl<F> Freeze for Constraint<F> where
    F: Freeze, 
","synthetic":true,"types":["halo2::plonk::circuit::Constraint"]},{"text":"impl<F> Freeze for ConstraintSystem<F>","synthetic":true,"types":["halo2::plonk::circuit::ConstraintSystem"]},{"text":"impl<'a, F> Freeze for PinnedConstraintSystem<'a, F>","synthetic":true,"types":["halo2::plonk::circuit::PinnedConstraintSystem"]},{"text":"impl<'a, F> Freeze for VirtualCells<'a, F>","synthetic":true,"types":["halo2::plonk::circuit::VirtualCells"]},{"text":"impl<C> Freeze for VerifyingKey<C> where
    <C as CurveAffine>::ScalarExt: Freeze, 
","synthetic":true,"types":["halo2::plonk::VerifyingKey"]},{"text":"impl<'a, C> Freeze for PinnedVerificationKey<'a, C>","synthetic":true,"types":["halo2::plonk::PinnedVerificationKey"]},{"text":"impl<C> Freeze for ProvingKey<C> where
    <C as CurveAffine>::ScalarExt: Freeze, 
","synthetic":true,"types":["halo2::plonk::ProvingKey"]},{"text":"impl Freeze for Error","synthetic":true,"types":["halo2::plonk::Error"]},{"text":"impl<'a, C> Freeze for MSM<'a, C> where
    <C as CurveAffine>::ScalarExt: Freeze, 
","synthetic":true,"types":["halo2::poly::commitment::msm::MSM"]},{"text":"impl<'a, C, E> Freeze for Guard<'a, C, E> where
    <C as CurveAffine>::ScalarExt: Freeze, 
","synthetic":true,"types":["halo2::poly::commitment::verifier::Guard"]},{"text":"impl<C, E> Freeze for Accumulator<C, E> where
    C: Freeze, 
","synthetic":true,"types":["halo2::poly::commitment::verifier::Accumulator"]},{"text":"impl<C> Freeze for Params<C> where
    C: Freeze, 
","synthetic":true,"types":["halo2::poly::commitment::Params"]},{"text":"impl<F> Freeze for Blind<F> where
    F: Freeze, 
","synthetic":true,"types":["halo2::poly::commitment::Blind"]},{"text":"impl<G> Freeze for EvaluationDomain<G> where
    <G as Group>::Scalar: Freeze, 
","synthetic":true,"types":["halo2::poly::domain::EvaluationDomain"]},{"text":"impl<'a, G> Freeze for PinnedEvaluationDomain<'a, G>","synthetic":true,"types":["halo2::poly::domain::PinnedEvaluationDomain"]},{"text":"impl<'a, C> Freeze for ProverQuery<'a, C> where
    <C as CurveAffine>::ScalarExt: Freeze, 
","synthetic":true,"types":["halo2::poly::multiopen::ProverQuery"]},{"text":"impl<'r, 'params, C> Freeze for VerifierQuery<'r, 'params, C> where
    <C as CurveAffine>::ScalarExt: Freeze, 
","synthetic":true,"types":["halo2::poly::multiopen::VerifierQuery"]},{"text":"impl Freeze for Error","synthetic":true,"types":["halo2::poly::Error"]},{"text":"impl Freeze for Coeff","synthetic":true,"types":["halo2::poly::Coeff"]},{"text":"impl Freeze for LagrangeCoeff","synthetic":true,"types":["halo2::poly::LagrangeCoeff"]},{"text":"impl Freeze for ExtendedLagrangeCoeff","synthetic":true,"types":["halo2::poly::ExtendedLagrangeCoeff"]},{"text":"impl<F, B> Freeze for Polynomial<F, B>","synthetic":true,"types":["halo2::poly::Polynomial"]},{"text":"impl Freeze for Rotation","synthetic":true,"types":["halo2::poly::Rotation"]},{"text":"impl<R, C, E> Freeze for Blake2bRead<R, C, E> where
    R: Freeze, 
","synthetic":true,"types":["halo2::transcript::Blake2bRead"]},{"text":"impl<W, C, E> Freeze for Blake2bWrite<W, C, E> where
    W: Freeze, 
","synthetic":true,"types":["halo2::transcript::Blake2bWrite"]},{"text":"impl<C, T> Freeze for ChallengeScalar<C, T> where
    <C as CurveAffine>::ScalarExt: Freeze, 
","synthetic":true,"types":["halo2::transcript::ChallengeScalar"]},{"text":"impl<C> Freeze for Challenge255<C>","synthetic":true,"types":["halo2::transcript::Challenge255"]},{"text":"impl Freeze for Column","synthetic":true,"types":["halo2::dev::metadata::Column"]},{"text":"impl Freeze for Gate","synthetic":true,"types":["halo2::dev::metadata::Gate"]},{"text":"impl Freeze for Constraint","synthetic":true,"types":["halo2::dev::metadata::Constraint"]},{"text":"impl Freeze for Region","synthetic":true,"types":["halo2::dev::metadata::Region"]},{"text":"impl<G, ConcreteCircuit> Freeze for CircuitCost<G, ConcreteCircuit>","synthetic":true,"types":["halo2::dev::cost::CircuitCost"]},{"text":"impl<G> Freeze for MarginalProofSize<G>","synthetic":true,"types":["halo2::dev::cost::MarginalProofSize"]},{"text":"impl<G> Freeze for ProofSize<G>","synthetic":true,"types":["halo2::dev::cost::ProofSize"]},{"text":"impl Freeze for CircuitGates","synthetic":true,"types":["halo2::dev::gates::CircuitGates"]},{"text":"impl Freeze for VerifyFailure","synthetic":true,"types":["halo2::dev::VerifyFailure"]},{"text":"impl<F> Freeze for MockProver<F>","synthetic":true,"types":["halo2::dev::MockProver"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/rustdoc/latest/implementors/core/marker/trait.Send.js b/rustdoc/latest/implementors/core/marker/trait.Send.js index b1d3b350..0f8f66d5 100644 --- a/rustdoc/latest/implementors/core/marker/trait.Send.js +++ b/rustdoc/latest/implementors/core/marker/trait.Send.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["halo2"] = [{"text":"impl Send for SimpleFloorPlanner","synthetic":true,"types":["halo2::circuit::floor_planner::single_pass::SimpleFloorPlanner"]},{"text":"impl Send for V1","synthetic":true,"types":["halo2::circuit::floor_planner::v1::V1"]},{"text":"impl<'p, 'a, F, CS> Send for V1Pass<'p, 'a, F, CS> where
    CS: Send
","synthetic":true,"types":["halo2::circuit::floor_planner::v1::V1Pass"]},{"text":"impl Send for RegionShape","synthetic":true,"types":["halo2::circuit::layouter::RegionShape"]},{"text":"impl Send for RegionColumn","synthetic":true,"types":["halo2::circuit::layouter::RegionColumn"]},{"text":"impl Send for RegionIndex","synthetic":true,"types":["halo2::circuit::RegionIndex"]},{"text":"impl Send for RegionStart","synthetic":true,"types":["halo2::circuit::RegionStart"]},{"text":"impl Send for Cell","synthetic":true,"types":["halo2::circuit::Cell"]},{"text":"impl<'r, F> !Send for Region<'r, F>","synthetic":true,"types":["halo2::circuit::Region"]},{"text":"impl<'a, F, L> Send for NamespacedLayouter<'a, F, L> where
    L: Send
","synthetic":true,"types":["halo2::circuit::NamespacedLayouter"]},{"text":"impl<C> Send for Column<C> where
    C: Send
","synthetic":true,"types":["halo2::plonk::circuit::Column"]},{"text":"impl Send for Advice","synthetic":true,"types":["halo2::plonk::circuit::Advice"]},{"text":"impl Send for Fixed","synthetic":true,"types":["halo2::plonk::circuit::Fixed"]},{"text":"impl Send for Instance","synthetic":true,"types":["halo2::plonk::circuit::Instance"]},{"text":"impl Send for Any","synthetic":true,"types":["halo2::plonk::circuit::Any"]},{"text":"impl Send for Selector","synthetic":true,"types":["halo2::plonk::circuit::Selector"]},{"text":"impl<F> Send for Assigned<F> where
    F: Send
","synthetic":true,"types":["halo2::plonk::circuit::Assigned"]},{"text":"impl<F> Send for Expression<F> where
    F: Send
","synthetic":true,"types":["halo2::plonk::circuit::Expression"]},{"text":"impl<F> Send for Constraint<F>","synthetic":true,"types":["halo2::plonk::circuit::Constraint"]},{"text":"impl<F> Send for ConstraintSystem<F>","synthetic":true,"types":["halo2::plonk::circuit::ConstraintSystem"]},{"text":"impl<'a, F> Send for PinnedConstraintSystem<'a, F>","synthetic":true,"types":["halo2::plonk::circuit::PinnedConstraintSystem"]},{"text":"impl<'a, F> Send for VirtualCells<'a, F>","synthetic":true,"types":["halo2::plonk::circuit::VirtualCells"]},{"text":"impl<C> Send for VerifyingKey<C>","synthetic":true,"types":["halo2::plonk::VerifyingKey"]},{"text":"impl<'a, C> Send for PinnedVerificationKey<'a, C>","synthetic":true,"types":["halo2::plonk::PinnedVerificationKey"]},{"text":"impl<C> Send for ProvingKey<C>","synthetic":true,"types":["halo2::plonk::ProvingKey"]},{"text":"impl Send for Error","synthetic":true,"types":["halo2::plonk::Error"]},{"text":"impl<'a, C> Send for MSM<'a, C>","synthetic":true,"types":["halo2::poly::commitment::msm::MSM"]},{"text":"impl<'a, C, E> Send for Guard<'a, C, E> where
    E: Send
","synthetic":true,"types":["halo2::poly::commitment::verifier::Guard"]},{"text":"impl<C, E> Send for Accumulator<C, E> where
    E: Send
","synthetic":true,"types":["halo2::poly::commitment::verifier::Accumulator"]},{"text":"impl<C> Send for Params<C>","synthetic":true,"types":["halo2::poly::commitment::Params"]},{"text":"impl<F> Send for Blind<F> where
    F: Send
","synthetic":true,"types":["halo2::poly::commitment::Blind"]},{"text":"impl<G> Send for EvaluationDomain<G>","synthetic":true,"types":["halo2::poly::domain::EvaluationDomain"]},{"text":"impl<'a, G> Send for PinnedEvaluationDomain<'a, G>","synthetic":true,"types":["halo2::poly::domain::PinnedEvaluationDomain"]},{"text":"impl<'a, C> Send for ProverQuery<'a, C>","synthetic":true,"types":["halo2::poly::multiopen::ProverQuery"]},{"text":"impl<'r, 'params, C> Send for VerifierQuery<'r, 'params, C>","synthetic":true,"types":["halo2::poly::multiopen::VerifierQuery"]},{"text":"impl Send for Error","synthetic":true,"types":["halo2::poly::Error"]},{"text":"impl Send for Coeff","synthetic":true,"types":["halo2::poly::Coeff"]},{"text":"impl Send for LagrangeCoeff","synthetic":true,"types":["halo2::poly::LagrangeCoeff"]},{"text":"impl Send for ExtendedLagrangeCoeff","synthetic":true,"types":["halo2::poly::ExtendedLagrangeCoeff"]},{"text":"impl<F, B> Send for Polynomial<F, B> where
    B: Send,
    F: Send
","synthetic":true,"types":["halo2::poly::Polynomial"]},{"text":"impl Send for Rotation","synthetic":true,"types":["halo2::poly::Rotation"]},{"text":"impl<R, C, E> Send for Blake2bRead<R, C, E> where
    E: Send,
    R: Send
","synthetic":true,"types":["halo2::transcript::Blake2bRead"]},{"text":"impl<W, C, E> Send for Blake2bWrite<W, C, E> where
    E: Send,
    W: Send
","synthetic":true,"types":["halo2::transcript::Blake2bWrite"]},{"text":"impl<C, T> Send for ChallengeScalar<C, T> where
    T: Send
","synthetic":true,"types":["halo2::transcript::ChallengeScalar"]},{"text":"impl<C> Send for Challenge255<C>","synthetic":true,"types":["halo2::transcript::Challenge255"]},{"text":"impl Send for Column","synthetic":true,"types":["halo2::dev::metadata::Column"]},{"text":"impl Send for Gate","synthetic":true,"types":["halo2::dev::metadata::Gate"]},{"text":"impl Send for Constraint","synthetic":true,"types":["halo2::dev::metadata::Constraint"]},{"text":"impl Send for Region","synthetic":true,"types":["halo2::dev::metadata::Region"]},{"text":"impl<G, ConcreteCircuit> Send for CircuitCost<G, ConcreteCircuit> where
    ConcreteCircuit: Send
","synthetic":true,"types":["halo2::dev::cost::CircuitCost"]},{"text":"impl<G> Send for ProofSize<G>","synthetic":true,"types":["halo2::dev::cost::ProofSize"]},{"text":"impl Send for VerifyFailure","synthetic":true,"types":["halo2::dev::VerifyFailure"]},{"text":"impl<F> Send for MockProver<F>","synthetic":true,"types":["halo2::dev::MockProver"]}]; +implementors["halo2"] = [{"text":"impl Send for SimpleFloorPlanner","synthetic":true,"types":["halo2::circuit::floor_planner::single_pass::SimpleFloorPlanner"]},{"text":"impl Send for V1","synthetic":true,"types":["halo2::circuit::floor_planner::v1::V1"]},{"text":"impl<'p, 'a, F, CS> Send for V1Pass<'p, 'a, F, CS> where
    CS: Send
","synthetic":true,"types":["halo2::circuit::floor_planner::v1::V1Pass"]},{"text":"impl Send for RegionShape","synthetic":true,"types":["halo2::circuit::layouter::RegionShape"]},{"text":"impl Send for RegionColumn","synthetic":true,"types":["halo2::circuit::layouter::RegionColumn"]},{"text":"impl Send for RegionIndex","synthetic":true,"types":["halo2::circuit::RegionIndex"]},{"text":"impl Send for RegionStart","synthetic":true,"types":["halo2::circuit::RegionStart"]},{"text":"impl Send for Cell","synthetic":true,"types":["halo2::circuit::Cell"]},{"text":"impl<'r, F> !Send for Region<'r, F>","synthetic":true,"types":["halo2::circuit::Region"]},{"text":"impl<'a, F, L> Send for NamespacedLayouter<'a, F, L> where
    L: Send
","synthetic":true,"types":["halo2::circuit::NamespacedLayouter"]},{"text":"impl<C> Send for Column<C> where
    C: Send
","synthetic":true,"types":["halo2::plonk::circuit::Column"]},{"text":"impl Send for Advice","synthetic":true,"types":["halo2::plonk::circuit::Advice"]},{"text":"impl Send for Fixed","synthetic":true,"types":["halo2::plonk::circuit::Fixed"]},{"text":"impl Send for Instance","synthetic":true,"types":["halo2::plonk::circuit::Instance"]},{"text":"impl Send for Any","synthetic":true,"types":["halo2::plonk::circuit::Any"]},{"text":"impl Send for Selector","synthetic":true,"types":["halo2::plonk::circuit::Selector"]},{"text":"impl<F> Send for Assigned<F> where
    F: Send
","synthetic":true,"types":["halo2::plonk::circuit::Assigned"]},{"text":"impl<F> Send for Expression<F> where
    F: Send
","synthetic":true,"types":["halo2::plonk::circuit::Expression"]},{"text":"impl<F> Send for Constraint<F>","synthetic":true,"types":["halo2::plonk::circuit::Constraint"]},{"text":"impl<F> Send for ConstraintSystem<F>","synthetic":true,"types":["halo2::plonk::circuit::ConstraintSystem"]},{"text":"impl<'a, F> Send for PinnedConstraintSystem<'a, F>","synthetic":true,"types":["halo2::plonk::circuit::PinnedConstraintSystem"]},{"text":"impl<'a, F> Send for VirtualCells<'a, F>","synthetic":true,"types":["halo2::plonk::circuit::VirtualCells"]},{"text":"impl<C> Send for VerifyingKey<C>","synthetic":true,"types":["halo2::plonk::VerifyingKey"]},{"text":"impl<'a, C> Send for PinnedVerificationKey<'a, C>","synthetic":true,"types":["halo2::plonk::PinnedVerificationKey"]},{"text":"impl<C> Send for ProvingKey<C>","synthetic":true,"types":["halo2::plonk::ProvingKey"]},{"text":"impl Send for Error","synthetic":true,"types":["halo2::plonk::Error"]},{"text":"impl<'a, C> Send for MSM<'a, C>","synthetic":true,"types":["halo2::poly::commitment::msm::MSM"]},{"text":"impl<'a, C, E> Send for Guard<'a, C, E> where
    E: Send
","synthetic":true,"types":["halo2::poly::commitment::verifier::Guard"]},{"text":"impl<C, E> Send for Accumulator<C, E> where
    E: Send
","synthetic":true,"types":["halo2::poly::commitment::verifier::Accumulator"]},{"text":"impl<C> Send for Params<C>","synthetic":true,"types":["halo2::poly::commitment::Params"]},{"text":"impl<F> Send for Blind<F> where
    F: Send
","synthetic":true,"types":["halo2::poly::commitment::Blind"]},{"text":"impl<G> Send for EvaluationDomain<G>","synthetic":true,"types":["halo2::poly::domain::EvaluationDomain"]},{"text":"impl<'a, G> Send for PinnedEvaluationDomain<'a, G>","synthetic":true,"types":["halo2::poly::domain::PinnedEvaluationDomain"]},{"text":"impl<'a, C> Send for ProverQuery<'a, C>","synthetic":true,"types":["halo2::poly::multiopen::ProverQuery"]},{"text":"impl<'r, 'params, C> Send for VerifierQuery<'r, 'params, C>","synthetic":true,"types":["halo2::poly::multiopen::VerifierQuery"]},{"text":"impl Send for Error","synthetic":true,"types":["halo2::poly::Error"]},{"text":"impl Send for Coeff","synthetic":true,"types":["halo2::poly::Coeff"]},{"text":"impl Send for LagrangeCoeff","synthetic":true,"types":["halo2::poly::LagrangeCoeff"]},{"text":"impl Send for ExtendedLagrangeCoeff","synthetic":true,"types":["halo2::poly::ExtendedLagrangeCoeff"]},{"text":"impl<F, B> Send for Polynomial<F, B> where
    B: Send,
    F: Send
","synthetic":true,"types":["halo2::poly::Polynomial"]},{"text":"impl Send for Rotation","synthetic":true,"types":["halo2::poly::Rotation"]},{"text":"impl<R, C, E> Send for Blake2bRead<R, C, E> where
    E: Send,
    R: Send
","synthetic":true,"types":["halo2::transcript::Blake2bRead"]},{"text":"impl<W, C, E> Send for Blake2bWrite<W, C, E> where
    E: Send,
    W: Send
","synthetic":true,"types":["halo2::transcript::Blake2bWrite"]},{"text":"impl<C, T> Send for ChallengeScalar<C, T> where
    T: Send
","synthetic":true,"types":["halo2::transcript::ChallengeScalar"]},{"text":"impl<C> Send for Challenge255<C>","synthetic":true,"types":["halo2::transcript::Challenge255"]},{"text":"impl Send for Column","synthetic":true,"types":["halo2::dev::metadata::Column"]},{"text":"impl Send for Gate","synthetic":true,"types":["halo2::dev::metadata::Gate"]},{"text":"impl Send for Constraint","synthetic":true,"types":["halo2::dev::metadata::Constraint"]},{"text":"impl Send for Region","synthetic":true,"types":["halo2::dev::metadata::Region"]},{"text":"impl<G, ConcreteCircuit> Send for CircuitCost<G, ConcreteCircuit> where
    ConcreteCircuit: Send
","synthetic":true,"types":["halo2::dev::cost::CircuitCost"]},{"text":"impl<G> Send for MarginalProofSize<G>","synthetic":true,"types":["halo2::dev::cost::MarginalProofSize"]},{"text":"impl<G> Send for ProofSize<G>","synthetic":true,"types":["halo2::dev::cost::ProofSize"]},{"text":"impl Send for CircuitGates","synthetic":true,"types":["halo2::dev::gates::CircuitGates"]},{"text":"impl Send for VerifyFailure","synthetic":true,"types":["halo2::dev::VerifyFailure"]},{"text":"impl<F> Send for MockProver<F>","synthetic":true,"types":["halo2::dev::MockProver"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/rustdoc/latest/implementors/core/marker/trait.Sync.js b/rustdoc/latest/implementors/core/marker/trait.Sync.js index 9ab29b5e..a7f3b3c7 100644 --- a/rustdoc/latest/implementors/core/marker/trait.Sync.js +++ b/rustdoc/latest/implementors/core/marker/trait.Sync.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["halo2"] = [{"text":"impl Sync for SimpleFloorPlanner","synthetic":true,"types":["halo2::circuit::floor_planner::single_pass::SimpleFloorPlanner"]},{"text":"impl Sync for V1","synthetic":true,"types":["halo2::circuit::floor_planner::v1::V1"]},{"text":"impl<'p, 'a, F, CS> Sync for V1Pass<'p, 'a, F, CS> where
    CS: Sync
","synthetic":true,"types":["halo2::circuit::floor_planner::v1::V1Pass"]},{"text":"impl Sync for RegionShape","synthetic":true,"types":["halo2::circuit::layouter::RegionShape"]},{"text":"impl Sync for RegionColumn","synthetic":true,"types":["halo2::circuit::layouter::RegionColumn"]},{"text":"impl Sync for RegionIndex","synthetic":true,"types":["halo2::circuit::RegionIndex"]},{"text":"impl Sync for RegionStart","synthetic":true,"types":["halo2::circuit::RegionStart"]},{"text":"impl Sync for Cell","synthetic":true,"types":["halo2::circuit::Cell"]},{"text":"impl<'r, F> !Sync for Region<'r, F>","synthetic":true,"types":["halo2::circuit::Region"]},{"text":"impl<'a, F, L> Sync for NamespacedLayouter<'a, F, L> where
    L: Sync
","synthetic":true,"types":["halo2::circuit::NamespacedLayouter"]},{"text":"impl<C> Sync for Column<C> where
    C: Sync
","synthetic":true,"types":["halo2::plonk::circuit::Column"]},{"text":"impl Sync for Advice","synthetic":true,"types":["halo2::plonk::circuit::Advice"]},{"text":"impl Sync for Fixed","synthetic":true,"types":["halo2::plonk::circuit::Fixed"]},{"text":"impl Sync for Instance","synthetic":true,"types":["halo2::plonk::circuit::Instance"]},{"text":"impl Sync for Any","synthetic":true,"types":["halo2::plonk::circuit::Any"]},{"text":"impl Sync for Selector","synthetic":true,"types":["halo2::plonk::circuit::Selector"]},{"text":"impl<F> Sync for Assigned<F> where
    F: Sync
","synthetic":true,"types":["halo2::plonk::circuit::Assigned"]},{"text":"impl<F> Sync for Expression<F> where
    F: Sync
","synthetic":true,"types":["halo2::plonk::circuit::Expression"]},{"text":"impl<F> Sync for Constraint<F>","synthetic":true,"types":["halo2::plonk::circuit::Constraint"]},{"text":"impl<F> Sync for ConstraintSystem<F>","synthetic":true,"types":["halo2::plonk::circuit::ConstraintSystem"]},{"text":"impl<'a, F> Sync for PinnedConstraintSystem<'a, F>","synthetic":true,"types":["halo2::plonk::circuit::PinnedConstraintSystem"]},{"text":"impl<'a, F> Sync for VirtualCells<'a, F>","synthetic":true,"types":["halo2::plonk::circuit::VirtualCells"]},{"text":"impl<C> Sync for VerifyingKey<C>","synthetic":true,"types":["halo2::plonk::VerifyingKey"]},{"text":"impl<'a, C> Sync for PinnedVerificationKey<'a, C>","synthetic":true,"types":["halo2::plonk::PinnedVerificationKey"]},{"text":"impl<C> Sync for ProvingKey<C>","synthetic":true,"types":["halo2::plonk::ProvingKey"]},{"text":"impl Sync for Error","synthetic":true,"types":["halo2::plonk::Error"]},{"text":"impl<'a, C> Sync for MSM<'a, C>","synthetic":true,"types":["halo2::poly::commitment::msm::MSM"]},{"text":"impl<'a, C, E> Sync for Guard<'a, C, E> where
    E: Sync
","synthetic":true,"types":["halo2::poly::commitment::verifier::Guard"]},{"text":"impl<C, E> Sync for Accumulator<C, E> where
    E: Sync
","synthetic":true,"types":["halo2::poly::commitment::verifier::Accumulator"]},{"text":"impl<C> Sync for Params<C>","synthetic":true,"types":["halo2::poly::commitment::Params"]},{"text":"impl<F> Sync for Blind<F> where
    F: Sync
","synthetic":true,"types":["halo2::poly::commitment::Blind"]},{"text":"impl<G> Sync for EvaluationDomain<G>","synthetic":true,"types":["halo2::poly::domain::EvaluationDomain"]},{"text":"impl<'a, G> Sync for PinnedEvaluationDomain<'a, G>","synthetic":true,"types":["halo2::poly::domain::PinnedEvaluationDomain"]},{"text":"impl<'a, C> Sync for ProverQuery<'a, C>","synthetic":true,"types":["halo2::poly::multiopen::ProverQuery"]},{"text":"impl<'r, 'params, C> Sync for VerifierQuery<'r, 'params, C>","synthetic":true,"types":["halo2::poly::multiopen::VerifierQuery"]},{"text":"impl Sync for Error","synthetic":true,"types":["halo2::poly::Error"]},{"text":"impl Sync for Coeff","synthetic":true,"types":["halo2::poly::Coeff"]},{"text":"impl Sync for LagrangeCoeff","synthetic":true,"types":["halo2::poly::LagrangeCoeff"]},{"text":"impl Sync for ExtendedLagrangeCoeff","synthetic":true,"types":["halo2::poly::ExtendedLagrangeCoeff"]},{"text":"impl<F, B> Sync for Polynomial<F, B> where
    B: Sync,
    F: Sync
","synthetic":true,"types":["halo2::poly::Polynomial"]},{"text":"impl Sync for Rotation","synthetic":true,"types":["halo2::poly::Rotation"]},{"text":"impl<R, C, E> Sync for Blake2bRead<R, C, E> where
    E: Sync,
    R: Sync
","synthetic":true,"types":["halo2::transcript::Blake2bRead"]},{"text":"impl<W, C, E> Sync for Blake2bWrite<W, C, E> where
    E: Sync,
    W: Sync
","synthetic":true,"types":["halo2::transcript::Blake2bWrite"]},{"text":"impl<C, T> Sync for ChallengeScalar<C, T> where
    T: Sync
","synthetic":true,"types":["halo2::transcript::ChallengeScalar"]},{"text":"impl<C> Sync for Challenge255<C>","synthetic":true,"types":["halo2::transcript::Challenge255"]},{"text":"impl Sync for Column","synthetic":true,"types":["halo2::dev::metadata::Column"]},{"text":"impl Sync for Gate","synthetic":true,"types":["halo2::dev::metadata::Gate"]},{"text":"impl Sync for Constraint","synthetic":true,"types":["halo2::dev::metadata::Constraint"]},{"text":"impl Sync for Region","synthetic":true,"types":["halo2::dev::metadata::Region"]},{"text":"impl<G, ConcreteCircuit> Sync for CircuitCost<G, ConcreteCircuit> where
    ConcreteCircuit: Sync
","synthetic":true,"types":["halo2::dev::cost::CircuitCost"]},{"text":"impl<G> Sync for ProofSize<G>","synthetic":true,"types":["halo2::dev::cost::ProofSize"]},{"text":"impl Sync for VerifyFailure","synthetic":true,"types":["halo2::dev::VerifyFailure"]},{"text":"impl<F> Sync for MockProver<F>","synthetic":true,"types":["halo2::dev::MockProver"]}]; +implementors["halo2"] = [{"text":"impl Sync for SimpleFloorPlanner","synthetic":true,"types":["halo2::circuit::floor_planner::single_pass::SimpleFloorPlanner"]},{"text":"impl Sync for V1","synthetic":true,"types":["halo2::circuit::floor_planner::v1::V1"]},{"text":"impl<'p, 'a, F, CS> Sync for V1Pass<'p, 'a, F, CS> where
    CS: Sync
","synthetic":true,"types":["halo2::circuit::floor_planner::v1::V1Pass"]},{"text":"impl Sync for RegionShape","synthetic":true,"types":["halo2::circuit::layouter::RegionShape"]},{"text":"impl Sync for RegionColumn","synthetic":true,"types":["halo2::circuit::layouter::RegionColumn"]},{"text":"impl Sync for RegionIndex","synthetic":true,"types":["halo2::circuit::RegionIndex"]},{"text":"impl Sync for RegionStart","synthetic":true,"types":["halo2::circuit::RegionStart"]},{"text":"impl Sync for Cell","synthetic":true,"types":["halo2::circuit::Cell"]},{"text":"impl<'r, F> !Sync for Region<'r, F>","synthetic":true,"types":["halo2::circuit::Region"]},{"text":"impl<'a, F, L> Sync for NamespacedLayouter<'a, F, L> where
    L: Sync
","synthetic":true,"types":["halo2::circuit::NamespacedLayouter"]},{"text":"impl<C> Sync for Column<C> where
    C: Sync
","synthetic":true,"types":["halo2::plonk::circuit::Column"]},{"text":"impl Sync for Advice","synthetic":true,"types":["halo2::plonk::circuit::Advice"]},{"text":"impl Sync for Fixed","synthetic":true,"types":["halo2::plonk::circuit::Fixed"]},{"text":"impl Sync for Instance","synthetic":true,"types":["halo2::plonk::circuit::Instance"]},{"text":"impl Sync for Any","synthetic":true,"types":["halo2::plonk::circuit::Any"]},{"text":"impl Sync for Selector","synthetic":true,"types":["halo2::plonk::circuit::Selector"]},{"text":"impl<F> Sync for Assigned<F> where
    F: Sync
","synthetic":true,"types":["halo2::plonk::circuit::Assigned"]},{"text":"impl<F> Sync for Expression<F> where
    F: Sync
","synthetic":true,"types":["halo2::plonk::circuit::Expression"]},{"text":"impl<F> Sync for Constraint<F>","synthetic":true,"types":["halo2::plonk::circuit::Constraint"]},{"text":"impl<F> Sync for ConstraintSystem<F>","synthetic":true,"types":["halo2::plonk::circuit::ConstraintSystem"]},{"text":"impl<'a, F> Sync for PinnedConstraintSystem<'a, F>","synthetic":true,"types":["halo2::plonk::circuit::PinnedConstraintSystem"]},{"text":"impl<'a, F> Sync for VirtualCells<'a, F>","synthetic":true,"types":["halo2::plonk::circuit::VirtualCells"]},{"text":"impl<C> Sync for VerifyingKey<C>","synthetic":true,"types":["halo2::plonk::VerifyingKey"]},{"text":"impl<'a, C> Sync for PinnedVerificationKey<'a, C>","synthetic":true,"types":["halo2::plonk::PinnedVerificationKey"]},{"text":"impl<C> Sync for ProvingKey<C>","synthetic":true,"types":["halo2::plonk::ProvingKey"]},{"text":"impl Sync for Error","synthetic":true,"types":["halo2::plonk::Error"]},{"text":"impl<'a, C> Sync for MSM<'a, C>","synthetic":true,"types":["halo2::poly::commitment::msm::MSM"]},{"text":"impl<'a, C, E> Sync for Guard<'a, C, E> where
    E: Sync
","synthetic":true,"types":["halo2::poly::commitment::verifier::Guard"]},{"text":"impl<C, E> Sync for Accumulator<C, E> where
    E: Sync
","synthetic":true,"types":["halo2::poly::commitment::verifier::Accumulator"]},{"text":"impl<C> Sync for Params<C>","synthetic":true,"types":["halo2::poly::commitment::Params"]},{"text":"impl<F> Sync for Blind<F> where
    F: Sync
","synthetic":true,"types":["halo2::poly::commitment::Blind"]},{"text":"impl<G> Sync for EvaluationDomain<G>","synthetic":true,"types":["halo2::poly::domain::EvaluationDomain"]},{"text":"impl<'a, G> Sync for PinnedEvaluationDomain<'a, G>","synthetic":true,"types":["halo2::poly::domain::PinnedEvaluationDomain"]},{"text":"impl<'a, C> Sync for ProverQuery<'a, C>","synthetic":true,"types":["halo2::poly::multiopen::ProverQuery"]},{"text":"impl<'r, 'params, C> Sync for VerifierQuery<'r, 'params, C>","synthetic":true,"types":["halo2::poly::multiopen::VerifierQuery"]},{"text":"impl Sync for Error","synthetic":true,"types":["halo2::poly::Error"]},{"text":"impl Sync for Coeff","synthetic":true,"types":["halo2::poly::Coeff"]},{"text":"impl Sync for LagrangeCoeff","synthetic":true,"types":["halo2::poly::LagrangeCoeff"]},{"text":"impl Sync for ExtendedLagrangeCoeff","synthetic":true,"types":["halo2::poly::ExtendedLagrangeCoeff"]},{"text":"impl<F, B> Sync for Polynomial<F, B> where
    B: Sync,
    F: Sync
","synthetic":true,"types":["halo2::poly::Polynomial"]},{"text":"impl Sync for Rotation","synthetic":true,"types":["halo2::poly::Rotation"]},{"text":"impl<R, C, E> Sync for Blake2bRead<R, C, E> where
    E: Sync,
    R: Sync
","synthetic":true,"types":["halo2::transcript::Blake2bRead"]},{"text":"impl<W, C, E> Sync for Blake2bWrite<W, C, E> where
    E: Sync,
    W: Sync
","synthetic":true,"types":["halo2::transcript::Blake2bWrite"]},{"text":"impl<C, T> Sync for ChallengeScalar<C, T> where
    T: Sync
","synthetic":true,"types":["halo2::transcript::ChallengeScalar"]},{"text":"impl<C> Sync for Challenge255<C>","synthetic":true,"types":["halo2::transcript::Challenge255"]},{"text":"impl Sync for Column","synthetic":true,"types":["halo2::dev::metadata::Column"]},{"text":"impl Sync for Gate","synthetic":true,"types":["halo2::dev::metadata::Gate"]},{"text":"impl Sync for Constraint","synthetic":true,"types":["halo2::dev::metadata::Constraint"]},{"text":"impl Sync for Region","synthetic":true,"types":["halo2::dev::metadata::Region"]},{"text":"impl<G, ConcreteCircuit> Sync for CircuitCost<G, ConcreteCircuit> where
    ConcreteCircuit: Sync
","synthetic":true,"types":["halo2::dev::cost::CircuitCost"]},{"text":"impl<G> Sync for MarginalProofSize<G>","synthetic":true,"types":["halo2::dev::cost::MarginalProofSize"]},{"text":"impl<G> Sync for ProofSize<G>","synthetic":true,"types":["halo2::dev::cost::ProofSize"]},{"text":"impl Sync for CircuitGates","synthetic":true,"types":["halo2::dev::gates::CircuitGates"]},{"text":"impl Sync for VerifyFailure","synthetic":true,"types":["halo2::dev::VerifyFailure"]},{"text":"impl<F> Sync for MockProver<F>","synthetic":true,"types":["halo2::dev::MockProver"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/rustdoc/latest/implementors/core/marker/trait.Unpin.js b/rustdoc/latest/implementors/core/marker/trait.Unpin.js index 9bd2d88f..da9c3ef7 100644 --- a/rustdoc/latest/implementors/core/marker/trait.Unpin.js +++ b/rustdoc/latest/implementors/core/marker/trait.Unpin.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["halo2"] = [{"text":"impl Unpin for SimpleFloorPlanner","synthetic":true,"types":["halo2::circuit::floor_planner::single_pass::SimpleFloorPlanner"]},{"text":"impl Unpin for V1","synthetic":true,"types":["halo2::circuit::floor_planner::v1::V1"]},{"text":"impl<'p, 'a, F, CS> Unpin for V1Pass<'p, 'a, F, CS> where
    'a: 'p, 
","synthetic":true,"types":["halo2::circuit::floor_planner::v1::V1Pass"]},{"text":"impl Unpin for RegionShape","synthetic":true,"types":["halo2::circuit::layouter::RegionShape"]},{"text":"impl Unpin for RegionColumn","synthetic":true,"types":["halo2::circuit::layouter::RegionColumn"]},{"text":"impl Unpin for RegionIndex","synthetic":true,"types":["halo2::circuit::RegionIndex"]},{"text":"impl Unpin for RegionStart","synthetic":true,"types":["halo2::circuit::RegionStart"]},{"text":"impl Unpin for Cell","synthetic":true,"types":["halo2::circuit::Cell"]},{"text":"impl<'r, F> Unpin for Region<'r, F>","synthetic":true,"types":["halo2::circuit::Region"]},{"text":"impl<'a, F, L> Unpin for NamespacedLayouter<'a, F, L> where
    F: Unpin
","synthetic":true,"types":["halo2::circuit::NamespacedLayouter"]},{"text":"impl<C> Unpin for Column<C> where
    C: Unpin
","synthetic":true,"types":["halo2::plonk::circuit::Column"]},{"text":"impl Unpin for Advice","synthetic":true,"types":["halo2::plonk::circuit::Advice"]},{"text":"impl Unpin for Fixed","synthetic":true,"types":["halo2::plonk::circuit::Fixed"]},{"text":"impl Unpin for Instance","synthetic":true,"types":["halo2::plonk::circuit::Instance"]},{"text":"impl Unpin for Any","synthetic":true,"types":["halo2::plonk::circuit::Any"]},{"text":"impl Unpin for Selector","synthetic":true,"types":["halo2::plonk::circuit::Selector"]},{"text":"impl<F> Unpin for Assigned<F> where
    F: Unpin
","synthetic":true,"types":["halo2::plonk::circuit::Assigned"]},{"text":"impl<F> Unpin for Expression<F> where
    F: Unpin
","synthetic":true,"types":["halo2::plonk::circuit::Expression"]},{"text":"impl<F> Unpin for Constraint<F> where
    F: Unpin
","synthetic":true,"types":["halo2::plonk::circuit::Constraint"]},{"text":"impl<F> Unpin for ConstraintSystem<F> where
    F: Unpin
","synthetic":true,"types":["halo2::plonk::circuit::ConstraintSystem"]},{"text":"impl<'a, F> Unpin for PinnedConstraintSystem<'a, F>","synthetic":true,"types":["halo2::plonk::circuit::PinnedConstraintSystem"]},{"text":"impl<'a, F> Unpin for VirtualCells<'a, F>","synthetic":true,"types":["halo2::plonk::circuit::VirtualCells"]},{"text":"impl<C> Unpin for VerifyingKey<C> where
    C: Unpin,
    <C as CurveAffine>::ScalarExt: Unpin
","synthetic":true,"types":["halo2::plonk::VerifyingKey"]},{"text":"impl<'a, C> Unpin for PinnedVerificationKey<'a, C>","synthetic":true,"types":["halo2::plonk::PinnedVerificationKey"]},{"text":"impl<C> Unpin for ProvingKey<C> where
    C: Unpin,
    <C as CurveAffine>::ScalarExt: Unpin
","synthetic":true,"types":["halo2::plonk::ProvingKey"]},{"text":"impl Unpin for Error","synthetic":true,"types":["halo2::plonk::Error"]},{"text":"impl<'a, C> Unpin for MSM<'a, C> where
    C: Unpin,
    <C as CurveAffine>::ScalarExt: Unpin
","synthetic":true,"types":["halo2::poly::commitment::msm::MSM"]},{"text":"impl<'a, C, E> Unpin for Guard<'a, C, E> where
    C: Unpin,
    E: Unpin,
    <C as CurveAffine>::ScalarExt: Unpin
","synthetic":true,"types":["halo2::poly::commitment::verifier::Guard"]},{"text":"impl<C, E> Unpin for Accumulator<C, E> where
    C: Unpin,
    E: Unpin
","synthetic":true,"types":["halo2::poly::commitment::verifier::Accumulator"]},{"text":"impl<C> Unpin for Params<C> where
    C: Unpin
","synthetic":true,"types":["halo2::poly::commitment::Params"]},{"text":"impl<F> Unpin for Blind<F> where
    F: Unpin
","synthetic":true,"types":["halo2::poly::commitment::Blind"]},{"text":"impl<G> Unpin for EvaluationDomain<G> where
    <G as Group>::Scalar: Unpin
","synthetic":true,"types":["halo2::poly::domain::EvaluationDomain"]},{"text":"impl<'a, G> Unpin for PinnedEvaluationDomain<'a, G>","synthetic":true,"types":["halo2::poly::domain::PinnedEvaluationDomain"]},{"text":"impl<'a, C> Unpin for ProverQuery<'a, C> where
    <C as CurveAffine>::ScalarExt: Unpin
","synthetic":true,"types":["halo2::poly::multiopen::ProverQuery"]},{"text":"impl<'r, 'params, C> Unpin for VerifierQuery<'r, 'params, C> where
    <C as CurveAffine>::ScalarExt: Unpin,
    'params: 'r, 
","synthetic":true,"types":["halo2::poly::multiopen::VerifierQuery"]},{"text":"impl Unpin for Error","synthetic":true,"types":["halo2::poly::Error"]},{"text":"impl Unpin for Coeff","synthetic":true,"types":["halo2::poly::Coeff"]},{"text":"impl Unpin for LagrangeCoeff","synthetic":true,"types":["halo2::poly::LagrangeCoeff"]},{"text":"impl Unpin for ExtendedLagrangeCoeff","synthetic":true,"types":["halo2::poly::ExtendedLagrangeCoeff"]},{"text":"impl<F, B> Unpin for Polynomial<F, B> where
    B: Unpin,
    F: Unpin
","synthetic":true,"types":["halo2::poly::Polynomial"]},{"text":"impl Unpin for Rotation","synthetic":true,"types":["halo2::poly::Rotation"]},{"text":"impl<R, C, E> Unpin for Blake2bRead<R, C, E> where
    C: Unpin,
    E: Unpin,
    R: Unpin
","synthetic":true,"types":["halo2::transcript::Blake2bRead"]},{"text":"impl<W, C, E> Unpin for Blake2bWrite<W, C, E> where
    C: Unpin,
    E: Unpin,
    W: Unpin
","synthetic":true,"types":["halo2::transcript::Blake2bWrite"]},{"text":"impl<C, T> Unpin for ChallengeScalar<C, T> where
    T: Unpin,
    <C as CurveAffine>::ScalarExt: Unpin
","synthetic":true,"types":["halo2::transcript::ChallengeScalar"]},{"text":"impl<C> Unpin for Challenge255<C> where
    C: Unpin
","synthetic":true,"types":["halo2::transcript::Challenge255"]},{"text":"impl Unpin for Column","synthetic":true,"types":["halo2::dev::metadata::Column"]},{"text":"impl Unpin for Gate","synthetic":true,"types":["halo2::dev::metadata::Gate"]},{"text":"impl Unpin for Constraint","synthetic":true,"types":["halo2::dev::metadata::Constraint"]},{"text":"impl Unpin for Region","synthetic":true,"types":["halo2::dev::metadata::Region"]},{"text":"impl<G, ConcreteCircuit> Unpin for CircuitCost<G, ConcreteCircuit> where
    ConcreteCircuit: Unpin,
    G: Unpin
","synthetic":true,"types":["halo2::dev::cost::CircuitCost"]},{"text":"impl<G> Unpin for ProofSize<G> where
    G: Unpin
","synthetic":true,"types":["halo2::dev::cost::ProofSize"]},{"text":"impl Unpin for VerifyFailure","synthetic":true,"types":["halo2::dev::VerifyFailure"]},{"text":"impl<F> Unpin for MockProver<F> where
    F: Unpin
","synthetic":true,"types":["halo2::dev::MockProver"]}]; +implementors["halo2"] = [{"text":"impl Unpin for SimpleFloorPlanner","synthetic":true,"types":["halo2::circuit::floor_planner::single_pass::SimpleFloorPlanner"]},{"text":"impl Unpin for V1","synthetic":true,"types":["halo2::circuit::floor_planner::v1::V1"]},{"text":"impl<'p, 'a, F, CS> Unpin for V1Pass<'p, 'a, F, CS> where
    'a: 'p, 
","synthetic":true,"types":["halo2::circuit::floor_planner::v1::V1Pass"]},{"text":"impl Unpin for RegionShape","synthetic":true,"types":["halo2::circuit::layouter::RegionShape"]},{"text":"impl Unpin for RegionColumn","synthetic":true,"types":["halo2::circuit::layouter::RegionColumn"]},{"text":"impl Unpin for RegionIndex","synthetic":true,"types":["halo2::circuit::RegionIndex"]},{"text":"impl Unpin for RegionStart","synthetic":true,"types":["halo2::circuit::RegionStart"]},{"text":"impl Unpin for Cell","synthetic":true,"types":["halo2::circuit::Cell"]},{"text":"impl<'r, F> Unpin for Region<'r, F>","synthetic":true,"types":["halo2::circuit::Region"]},{"text":"impl<'a, F, L> Unpin for NamespacedLayouter<'a, F, L> where
    F: Unpin
","synthetic":true,"types":["halo2::circuit::NamespacedLayouter"]},{"text":"impl<C> Unpin for Column<C> where
    C: Unpin
","synthetic":true,"types":["halo2::plonk::circuit::Column"]},{"text":"impl Unpin for Advice","synthetic":true,"types":["halo2::plonk::circuit::Advice"]},{"text":"impl Unpin for Fixed","synthetic":true,"types":["halo2::plonk::circuit::Fixed"]},{"text":"impl Unpin for Instance","synthetic":true,"types":["halo2::plonk::circuit::Instance"]},{"text":"impl Unpin for Any","synthetic":true,"types":["halo2::plonk::circuit::Any"]},{"text":"impl Unpin for Selector","synthetic":true,"types":["halo2::plonk::circuit::Selector"]},{"text":"impl<F> Unpin for Assigned<F> where
    F: Unpin
","synthetic":true,"types":["halo2::plonk::circuit::Assigned"]},{"text":"impl<F> Unpin for Expression<F> where
    F: Unpin
","synthetic":true,"types":["halo2::plonk::circuit::Expression"]},{"text":"impl<F> Unpin for Constraint<F> where
    F: Unpin
","synthetic":true,"types":["halo2::plonk::circuit::Constraint"]},{"text":"impl<F> Unpin for ConstraintSystem<F> where
    F: Unpin
","synthetic":true,"types":["halo2::plonk::circuit::ConstraintSystem"]},{"text":"impl<'a, F> Unpin for PinnedConstraintSystem<'a, F>","synthetic":true,"types":["halo2::plonk::circuit::PinnedConstraintSystem"]},{"text":"impl<'a, F> Unpin for VirtualCells<'a, F>","synthetic":true,"types":["halo2::plonk::circuit::VirtualCells"]},{"text":"impl<C> Unpin for VerifyingKey<C> where
    C: Unpin,
    <C as CurveAffine>::ScalarExt: Unpin
","synthetic":true,"types":["halo2::plonk::VerifyingKey"]},{"text":"impl<'a, C> Unpin for PinnedVerificationKey<'a, C>","synthetic":true,"types":["halo2::plonk::PinnedVerificationKey"]},{"text":"impl<C> Unpin for ProvingKey<C> where
    C: Unpin,
    <C as CurveAffine>::ScalarExt: Unpin
","synthetic":true,"types":["halo2::plonk::ProvingKey"]},{"text":"impl Unpin for Error","synthetic":true,"types":["halo2::plonk::Error"]},{"text":"impl<'a, C> Unpin for MSM<'a, C> where
    C: Unpin,
    <C as CurveAffine>::ScalarExt: Unpin
","synthetic":true,"types":["halo2::poly::commitment::msm::MSM"]},{"text":"impl<'a, C, E> Unpin for Guard<'a, C, E> where
    C: Unpin,
    E: Unpin,
    <C as CurveAffine>::ScalarExt: Unpin
","synthetic":true,"types":["halo2::poly::commitment::verifier::Guard"]},{"text":"impl<C, E> Unpin for Accumulator<C, E> where
    C: Unpin,
    E: Unpin
","synthetic":true,"types":["halo2::poly::commitment::verifier::Accumulator"]},{"text":"impl<C> Unpin for Params<C> where
    C: Unpin
","synthetic":true,"types":["halo2::poly::commitment::Params"]},{"text":"impl<F> Unpin for Blind<F> where
    F: Unpin
","synthetic":true,"types":["halo2::poly::commitment::Blind"]},{"text":"impl<G> Unpin for EvaluationDomain<G> where
    <G as Group>::Scalar: Unpin
","synthetic":true,"types":["halo2::poly::domain::EvaluationDomain"]},{"text":"impl<'a, G> Unpin for PinnedEvaluationDomain<'a, G>","synthetic":true,"types":["halo2::poly::domain::PinnedEvaluationDomain"]},{"text":"impl<'a, C> Unpin for ProverQuery<'a, C> where
    <C as CurveAffine>::ScalarExt: Unpin
","synthetic":true,"types":["halo2::poly::multiopen::ProverQuery"]},{"text":"impl<'r, 'params, C> Unpin for VerifierQuery<'r, 'params, C> where
    <C as CurveAffine>::ScalarExt: Unpin,
    'params: 'r, 
","synthetic":true,"types":["halo2::poly::multiopen::VerifierQuery"]},{"text":"impl Unpin for Error","synthetic":true,"types":["halo2::poly::Error"]},{"text":"impl Unpin for Coeff","synthetic":true,"types":["halo2::poly::Coeff"]},{"text":"impl Unpin for LagrangeCoeff","synthetic":true,"types":["halo2::poly::LagrangeCoeff"]},{"text":"impl Unpin for ExtendedLagrangeCoeff","synthetic":true,"types":["halo2::poly::ExtendedLagrangeCoeff"]},{"text":"impl<F, B> Unpin for Polynomial<F, B> where
    B: Unpin,
    F: Unpin
","synthetic":true,"types":["halo2::poly::Polynomial"]},{"text":"impl Unpin for Rotation","synthetic":true,"types":["halo2::poly::Rotation"]},{"text":"impl<R, C, E> Unpin for Blake2bRead<R, C, E> where
    C: Unpin,
    E: Unpin,
    R: Unpin
","synthetic":true,"types":["halo2::transcript::Blake2bRead"]},{"text":"impl<W, C, E> Unpin for Blake2bWrite<W, C, E> where
    C: Unpin,
    E: Unpin,
    W: Unpin
","synthetic":true,"types":["halo2::transcript::Blake2bWrite"]},{"text":"impl<C, T> Unpin for ChallengeScalar<C, T> where
    T: Unpin,
    <C as CurveAffine>::ScalarExt: Unpin
","synthetic":true,"types":["halo2::transcript::ChallengeScalar"]},{"text":"impl<C> Unpin for Challenge255<C> where
    C: Unpin
","synthetic":true,"types":["halo2::transcript::Challenge255"]},{"text":"impl Unpin for Column","synthetic":true,"types":["halo2::dev::metadata::Column"]},{"text":"impl Unpin for Gate","synthetic":true,"types":["halo2::dev::metadata::Gate"]},{"text":"impl Unpin for Constraint","synthetic":true,"types":["halo2::dev::metadata::Constraint"]},{"text":"impl Unpin for Region","synthetic":true,"types":["halo2::dev::metadata::Region"]},{"text":"impl<G, ConcreteCircuit> Unpin for CircuitCost<G, ConcreteCircuit> where
    ConcreteCircuit: Unpin,
    G: Unpin
","synthetic":true,"types":["halo2::dev::cost::CircuitCost"]},{"text":"impl<G> Unpin for MarginalProofSize<G> where
    G: Unpin
","synthetic":true,"types":["halo2::dev::cost::MarginalProofSize"]},{"text":"impl<G> Unpin for ProofSize<G> where
    G: Unpin
","synthetic":true,"types":["halo2::dev::cost::ProofSize"]},{"text":"impl Unpin for CircuitGates","synthetic":true,"types":["halo2::dev::gates::CircuitGates"]},{"text":"impl Unpin for VerifyFailure","synthetic":true,"types":["halo2::dev::VerifyFailure"]},{"text":"impl<F> Unpin for MockProver<F> where
    F: Unpin
","synthetic":true,"types":["halo2::dev::MockProver"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/rustdoc/latest/implementors/std/panic/trait.RefUnwindSafe.js b/rustdoc/latest/implementors/std/panic/trait.RefUnwindSafe.js index 61c0f3c9..362b552f 100644 --- a/rustdoc/latest/implementors/std/panic/trait.RefUnwindSafe.js +++ b/rustdoc/latest/implementors/std/panic/trait.RefUnwindSafe.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["halo2"] = [{"text":"impl RefUnwindSafe for SimpleFloorPlanner","synthetic":true,"types":["halo2::circuit::floor_planner::single_pass::SimpleFloorPlanner"]},{"text":"impl RefUnwindSafe for V1","synthetic":true,"types":["halo2::circuit::floor_planner::v1::V1"]},{"text":"impl<'p, 'a, F, CS> RefUnwindSafe for V1Pass<'p, 'a, F, CS> where
    CS: RefUnwindSafe,
    F: RefUnwindSafe
","synthetic":true,"types":["halo2::circuit::floor_planner::v1::V1Pass"]},{"text":"impl RefUnwindSafe for RegionShape","synthetic":true,"types":["halo2::circuit::layouter::RegionShape"]},{"text":"impl RefUnwindSafe for RegionColumn","synthetic":true,"types":["halo2::circuit::layouter::RegionColumn"]},{"text":"impl RefUnwindSafe for RegionIndex","synthetic":true,"types":["halo2::circuit::RegionIndex"]},{"text":"impl RefUnwindSafe for RegionStart","synthetic":true,"types":["halo2::circuit::RegionStart"]},{"text":"impl RefUnwindSafe for Cell","synthetic":true,"types":["halo2::circuit::Cell"]},{"text":"impl<'r, F> !RefUnwindSafe for Region<'r, F>","synthetic":true,"types":["halo2::circuit::Region"]},{"text":"impl<'a, F, L> RefUnwindSafe for NamespacedLayouter<'a, F, L> where
    F: RefUnwindSafe,
    L: RefUnwindSafe
","synthetic":true,"types":["halo2::circuit::NamespacedLayouter"]},{"text":"impl<C> RefUnwindSafe for Column<C> where
    C: RefUnwindSafe
","synthetic":true,"types":["halo2::plonk::circuit::Column"]},{"text":"impl RefUnwindSafe for Advice","synthetic":true,"types":["halo2::plonk::circuit::Advice"]},{"text":"impl RefUnwindSafe for Fixed","synthetic":true,"types":["halo2::plonk::circuit::Fixed"]},{"text":"impl RefUnwindSafe for Instance","synthetic":true,"types":["halo2::plonk::circuit::Instance"]},{"text":"impl RefUnwindSafe for Any","synthetic":true,"types":["halo2::plonk::circuit::Any"]},{"text":"impl RefUnwindSafe for Selector","synthetic":true,"types":["halo2::plonk::circuit::Selector"]},{"text":"impl<F> RefUnwindSafe for Assigned<F> where
    F: RefUnwindSafe
","synthetic":true,"types":["halo2::plonk::circuit::Assigned"]},{"text":"impl<F> RefUnwindSafe for Expression<F> where
    F: RefUnwindSafe
","synthetic":true,"types":["halo2::plonk::circuit::Expression"]},{"text":"impl<F> RefUnwindSafe for Constraint<F> where
    F: RefUnwindSafe
","synthetic":true,"types":["halo2::plonk::circuit::Constraint"]},{"text":"impl<F> RefUnwindSafe for ConstraintSystem<F> where
    F: RefUnwindSafe
","synthetic":true,"types":["halo2::plonk::circuit::ConstraintSystem"]},{"text":"impl<'a, F> RefUnwindSafe for PinnedConstraintSystem<'a, F> where
    F: RefUnwindSafe
","synthetic":true,"types":["halo2::plonk::circuit::PinnedConstraintSystem"]},{"text":"impl<'a, F> RefUnwindSafe for VirtualCells<'a, F> where
    F: RefUnwindSafe
","synthetic":true,"types":["halo2::plonk::circuit::VirtualCells"]},{"text":"impl<C> RefUnwindSafe for VerifyingKey<C> where
    C: RefUnwindSafe,
    <C as CurveAffine>::ScalarExt: RefUnwindSafe
","synthetic":true,"types":["halo2::plonk::VerifyingKey"]},{"text":"impl<'a, C> RefUnwindSafe for PinnedVerificationKey<'a, C> where
    C: RefUnwindSafe,
    <C as CurveAffine>::ScalarExt: RefUnwindSafe
","synthetic":true,"types":["halo2::plonk::PinnedVerificationKey"]},{"text":"impl<C> RefUnwindSafe for ProvingKey<C> where
    C: RefUnwindSafe,
    <C as CurveAffine>::ScalarExt: RefUnwindSafe
","synthetic":true,"types":["halo2::plonk::ProvingKey"]},{"text":"impl RefUnwindSafe for Error","synthetic":true,"types":["halo2::plonk::Error"]},{"text":"impl<'a, C> RefUnwindSafe for MSM<'a, C> where
    C: RefUnwindSafe,
    <C as CurveAffine>::ScalarExt: RefUnwindSafe
","synthetic":true,"types":["halo2::poly::commitment::msm::MSM"]},{"text":"impl<'a, C, E> RefUnwindSafe for Guard<'a, C, E> where
    C: RefUnwindSafe,
    E: RefUnwindSafe,
    <C as CurveAffine>::ScalarExt: RefUnwindSafe
","synthetic":true,"types":["halo2::poly::commitment::verifier::Guard"]},{"text":"impl<C, E> RefUnwindSafe for Accumulator<C, E> where
    C: RefUnwindSafe,
    E: RefUnwindSafe
","synthetic":true,"types":["halo2::poly::commitment::verifier::Accumulator"]},{"text":"impl<C> RefUnwindSafe for Params<C> where
    C: RefUnwindSafe
","synthetic":true,"types":["halo2::poly::commitment::Params"]},{"text":"impl<F> RefUnwindSafe for Blind<F> where
    F: RefUnwindSafe
","synthetic":true,"types":["halo2::poly::commitment::Blind"]},{"text":"impl<G> RefUnwindSafe for EvaluationDomain<G> where
    <G as Group>::Scalar: RefUnwindSafe
","synthetic":true,"types":["halo2::poly::domain::EvaluationDomain"]},{"text":"impl<'a, G> RefUnwindSafe for PinnedEvaluationDomain<'a, G> where
    <G as Group>::Scalar: RefUnwindSafe
","synthetic":true,"types":["halo2::poly::domain::PinnedEvaluationDomain"]},{"text":"impl<'a, C> RefUnwindSafe for ProverQuery<'a, C> where
    <C as CurveAffine>::ScalarExt: RefUnwindSafe
","synthetic":true,"types":["halo2::poly::multiopen::ProverQuery"]},{"text":"impl<'r, 'params, C> RefUnwindSafe for VerifierQuery<'r, 'params, C> where
    C: RefUnwindSafe,
    <C as CurveAffine>::ScalarExt: RefUnwindSafe
","synthetic":true,"types":["halo2::poly::multiopen::VerifierQuery"]},{"text":"impl RefUnwindSafe for Error","synthetic":true,"types":["halo2::poly::Error"]},{"text":"impl RefUnwindSafe for Coeff","synthetic":true,"types":["halo2::poly::Coeff"]},{"text":"impl RefUnwindSafe for LagrangeCoeff","synthetic":true,"types":["halo2::poly::LagrangeCoeff"]},{"text":"impl RefUnwindSafe for ExtendedLagrangeCoeff","synthetic":true,"types":["halo2::poly::ExtendedLagrangeCoeff"]},{"text":"impl<F, B> RefUnwindSafe for Polynomial<F, B> where
    B: RefUnwindSafe,
    F: RefUnwindSafe
","synthetic":true,"types":["halo2::poly::Polynomial"]},{"text":"impl RefUnwindSafe for Rotation","synthetic":true,"types":["halo2::poly::Rotation"]},{"text":"impl<R, C, E> RefUnwindSafe for Blake2bRead<R, C, E> where
    C: RefUnwindSafe,
    E: RefUnwindSafe,
    R: RefUnwindSafe
","synthetic":true,"types":["halo2::transcript::Blake2bRead"]},{"text":"impl<W, C, E> RefUnwindSafe for Blake2bWrite<W, C, E> where
    C: RefUnwindSafe,
    E: RefUnwindSafe,
    W: RefUnwindSafe
","synthetic":true,"types":["halo2::transcript::Blake2bWrite"]},{"text":"impl<C, T> RefUnwindSafe for ChallengeScalar<C, T> where
    T: RefUnwindSafe,
    <C as CurveAffine>::ScalarExt: RefUnwindSafe
","synthetic":true,"types":["halo2::transcript::ChallengeScalar"]},{"text":"impl<C> RefUnwindSafe for Challenge255<C> where
    C: RefUnwindSafe
","synthetic":true,"types":["halo2::transcript::Challenge255"]},{"text":"impl RefUnwindSafe for Column","synthetic":true,"types":["halo2::dev::metadata::Column"]},{"text":"impl RefUnwindSafe for Gate","synthetic":true,"types":["halo2::dev::metadata::Gate"]},{"text":"impl RefUnwindSafe for Constraint","synthetic":true,"types":["halo2::dev::metadata::Constraint"]},{"text":"impl RefUnwindSafe for Region","synthetic":true,"types":["halo2::dev::metadata::Region"]},{"text":"impl<G, ConcreteCircuit> RefUnwindSafe for CircuitCost<G, ConcreteCircuit> where
    ConcreteCircuit: RefUnwindSafe,
    G: RefUnwindSafe
","synthetic":true,"types":["halo2::dev::cost::CircuitCost"]},{"text":"impl<G> RefUnwindSafe for ProofSize<G> where
    G: RefUnwindSafe
","synthetic":true,"types":["halo2::dev::cost::ProofSize"]},{"text":"impl RefUnwindSafe for VerifyFailure","synthetic":true,"types":["halo2::dev::VerifyFailure"]},{"text":"impl<F> RefUnwindSafe for MockProver<F> where
    F: RefUnwindSafe
","synthetic":true,"types":["halo2::dev::MockProver"]}]; +implementors["halo2"] = [{"text":"impl RefUnwindSafe for SimpleFloorPlanner","synthetic":true,"types":["halo2::circuit::floor_planner::single_pass::SimpleFloorPlanner"]},{"text":"impl RefUnwindSafe for V1","synthetic":true,"types":["halo2::circuit::floor_planner::v1::V1"]},{"text":"impl<'p, 'a, F, CS> RefUnwindSafe for V1Pass<'p, 'a, F, CS> where
    CS: RefUnwindSafe,
    F: RefUnwindSafe
","synthetic":true,"types":["halo2::circuit::floor_planner::v1::V1Pass"]},{"text":"impl RefUnwindSafe for RegionShape","synthetic":true,"types":["halo2::circuit::layouter::RegionShape"]},{"text":"impl RefUnwindSafe for RegionColumn","synthetic":true,"types":["halo2::circuit::layouter::RegionColumn"]},{"text":"impl RefUnwindSafe for RegionIndex","synthetic":true,"types":["halo2::circuit::RegionIndex"]},{"text":"impl RefUnwindSafe for RegionStart","synthetic":true,"types":["halo2::circuit::RegionStart"]},{"text":"impl RefUnwindSafe for Cell","synthetic":true,"types":["halo2::circuit::Cell"]},{"text":"impl<'r, F> !RefUnwindSafe for Region<'r, F>","synthetic":true,"types":["halo2::circuit::Region"]},{"text":"impl<'a, F, L> RefUnwindSafe for NamespacedLayouter<'a, F, L> where
    F: RefUnwindSafe,
    L: RefUnwindSafe
","synthetic":true,"types":["halo2::circuit::NamespacedLayouter"]},{"text":"impl<C> RefUnwindSafe for Column<C> where
    C: RefUnwindSafe
","synthetic":true,"types":["halo2::plonk::circuit::Column"]},{"text":"impl RefUnwindSafe for Advice","synthetic":true,"types":["halo2::plonk::circuit::Advice"]},{"text":"impl RefUnwindSafe for Fixed","synthetic":true,"types":["halo2::plonk::circuit::Fixed"]},{"text":"impl RefUnwindSafe for Instance","synthetic":true,"types":["halo2::plonk::circuit::Instance"]},{"text":"impl RefUnwindSafe for Any","synthetic":true,"types":["halo2::plonk::circuit::Any"]},{"text":"impl RefUnwindSafe for Selector","synthetic":true,"types":["halo2::plonk::circuit::Selector"]},{"text":"impl<F> RefUnwindSafe for Assigned<F> where
    F: RefUnwindSafe
","synthetic":true,"types":["halo2::plonk::circuit::Assigned"]},{"text":"impl<F> RefUnwindSafe for Expression<F> where
    F: RefUnwindSafe
","synthetic":true,"types":["halo2::plonk::circuit::Expression"]},{"text":"impl<F> RefUnwindSafe for Constraint<F> where
    F: RefUnwindSafe
","synthetic":true,"types":["halo2::plonk::circuit::Constraint"]},{"text":"impl<F> RefUnwindSafe for ConstraintSystem<F> where
    F: RefUnwindSafe
","synthetic":true,"types":["halo2::plonk::circuit::ConstraintSystem"]},{"text":"impl<'a, F> RefUnwindSafe for PinnedConstraintSystem<'a, F> where
    F: RefUnwindSafe
","synthetic":true,"types":["halo2::plonk::circuit::PinnedConstraintSystem"]},{"text":"impl<'a, F> RefUnwindSafe for VirtualCells<'a, F> where
    F: RefUnwindSafe
","synthetic":true,"types":["halo2::plonk::circuit::VirtualCells"]},{"text":"impl<C> RefUnwindSafe for VerifyingKey<C> where
    C: RefUnwindSafe,
    <C as CurveAffine>::ScalarExt: RefUnwindSafe
","synthetic":true,"types":["halo2::plonk::VerifyingKey"]},{"text":"impl<'a, C> RefUnwindSafe for PinnedVerificationKey<'a, C> where
    C: RefUnwindSafe,
    <C as CurveAffine>::ScalarExt: RefUnwindSafe
","synthetic":true,"types":["halo2::plonk::PinnedVerificationKey"]},{"text":"impl<C> RefUnwindSafe for ProvingKey<C> where
    C: RefUnwindSafe,
    <C as CurveAffine>::ScalarExt: RefUnwindSafe
","synthetic":true,"types":["halo2::plonk::ProvingKey"]},{"text":"impl RefUnwindSafe for Error","synthetic":true,"types":["halo2::plonk::Error"]},{"text":"impl<'a, C> RefUnwindSafe for MSM<'a, C> where
    C: RefUnwindSafe,
    <C as CurveAffine>::ScalarExt: RefUnwindSafe
","synthetic":true,"types":["halo2::poly::commitment::msm::MSM"]},{"text":"impl<'a, C, E> RefUnwindSafe for Guard<'a, C, E> where
    C: RefUnwindSafe,
    E: RefUnwindSafe,
    <C as CurveAffine>::ScalarExt: RefUnwindSafe
","synthetic":true,"types":["halo2::poly::commitment::verifier::Guard"]},{"text":"impl<C, E> RefUnwindSafe for Accumulator<C, E> where
    C: RefUnwindSafe,
    E: RefUnwindSafe
","synthetic":true,"types":["halo2::poly::commitment::verifier::Accumulator"]},{"text":"impl<C> RefUnwindSafe for Params<C> where
    C: RefUnwindSafe
","synthetic":true,"types":["halo2::poly::commitment::Params"]},{"text":"impl<F> RefUnwindSafe for Blind<F> where
    F: RefUnwindSafe
","synthetic":true,"types":["halo2::poly::commitment::Blind"]},{"text":"impl<G> RefUnwindSafe for EvaluationDomain<G> where
    <G as Group>::Scalar: RefUnwindSafe
","synthetic":true,"types":["halo2::poly::domain::EvaluationDomain"]},{"text":"impl<'a, G> RefUnwindSafe for PinnedEvaluationDomain<'a, G> where
    <G as Group>::Scalar: RefUnwindSafe
","synthetic":true,"types":["halo2::poly::domain::PinnedEvaluationDomain"]},{"text":"impl<'a, C> RefUnwindSafe for ProverQuery<'a, C> where
    <C as CurveAffine>::ScalarExt: RefUnwindSafe
","synthetic":true,"types":["halo2::poly::multiopen::ProverQuery"]},{"text":"impl<'r, 'params, C> RefUnwindSafe for VerifierQuery<'r, 'params, C> where
    C: RefUnwindSafe,
    <C as CurveAffine>::ScalarExt: RefUnwindSafe
","synthetic":true,"types":["halo2::poly::multiopen::VerifierQuery"]},{"text":"impl RefUnwindSafe for Error","synthetic":true,"types":["halo2::poly::Error"]},{"text":"impl RefUnwindSafe for Coeff","synthetic":true,"types":["halo2::poly::Coeff"]},{"text":"impl RefUnwindSafe for LagrangeCoeff","synthetic":true,"types":["halo2::poly::LagrangeCoeff"]},{"text":"impl RefUnwindSafe for ExtendedLagrangeCoeff","synthetic":true,"types":["halo2::poly::ExtendedLagrangeCoeff"]},{"text":"impl<F, B> RefUnwindSafe for Polynomial<F, B> where
    B: RefUnwindSafe,
    F: RefUnwindSafe
","synthetic":true,"types":["halo2::poly::Polynomial"]},{"text":"impl RefUnwindSafe for Rotation","synthetic":true,"types":["halo2::poly::Rotation"]},{"text":"impl<R, C, E> RefUnwindSafe for Blake2bRead<R, C, E> where
    C: RefUnwindSafe,
    E: RefUnwindSafe,
    R: RefUnwindSafe
","synthetic":true,"types":["halo2::transcript::Blake2bRead"]},{"text":"impl<W, C, E> RefUnwindSafe for Blake2bWrite<W, C, E> where
    C: RefUnwindSafe,
    E: RefUnwindSafe,
    W: RefUnwindSafe
","synthetic":true,"types":["halo2::transcript::Blake2bWrite"]},{"text":"impl<C, T> RefUnwindSafe for ChallengeScalar<C, T> where
    T: RefUnwindSafe,
    <C as CurveAffine>::ScalarExt: RefUnwindSafe
","synthetic":true,"types":["halo2::transcript::ChallengeScalar"]},{"text":"impl<C> RefUnwindSafe for Challenge255<C> where
    C: RefUnwindSafe
","synthetic":true,"types":["halo2::transcript::Challenge255"]},{"text":"impl RefUnwindSafe for Column","synthetic":true,"types":["halo2::dev::metadata::Column"]},{"text":"impl RefUnwindSafe for Gate","synthetic":true,"types":["halo2::dev::metadata::Gate"]},{"text":"impl RefUnwindSafe for Constraint","synthetic":true,"types":["halo2::dev::metadata::Constraint"]},{"text":"impl RefUnwindSafe for Region","synthetic":true,"types":["halo2::dev::metadata::Region"]},{"text":"impl<G, ConcreteCircuit> RefUnwindSafe for CircuitCost<G, ConcreteCircuit> where
    ConcreteCircuit: RefUnwindSafe,
    G: RefUnwindSafe
","synthetic":true,"types":["halo2::dev::cost::CircuitCost"]},{"text":"impl<G> RefUnwindSafe for MarginalProofSize<G> where
    G: RefUnwindSafe
","synthetic":true,"types":["halo2::dev::cost::MarginalProofSize"]},{"text":"impl<G> RefUnwindSafe for ProofSize<G> where
    G: RefUnwindSafe
","synthetic":true,"types":["halo2::dev::cost::ProofSize"]},{"text":"impl RefUnwindSafe for CircuitGates","synthetic":true,"types":["halo2::dev::gates::CircuitGates"]},{"text":"impl RefUnwindSafe for VerifyFailure","synthetic":true,"types":["halo2::dev::VerifyFailure"]},{"text":"impl<F> RefUnwindSafe for MockProver<F> where
    F: RefUnwindSafe
","synthetic":true,"types":["halo2::dev::MockProver"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/rustdoc/latest/implementors/std/panic/trait.UnwindSafe.js b/rustdoc/latest/implementors/std/panic/trait.UnwindSafe.js index e975c544..6c460ef3 100644 --- a/rustdoc/latest/implementors/std/panic/trait.UnwindSafe.js +++ b/rustdoc/latest/implementors/std/panic/trait.UnwindSafe.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["halo2"] = [{"text":"impl UnwindSafe for SimpleFloorPlanner","synthetic":true,"types":["halo2::circuit::floor_planner::single_pass::SimpleFloorPlanner"]},{"text":"impl UnwindSafe for V1","synthetic":true,"types":["halo2::circuit::floor_planner::v1::V1"]},{"text":"impl<'p, 'a, F, CS> !UnwindSafe for V1Pass<'p, 'a, F, CS>","synthetic":true,"types":["halo2::circuit::floor_planner::v1::V1Pass"]},{"text":"impl UnwindSafe for RegionShape","synthetic":true,"types":["halo2::circuit::layouter::RegionShape"]},{"text":"impl UnwindSafe for RegionColumn","synthetic":true,"types":["halo2::circuit::layouter::RegionColumn"]},{"text":"impl UnwindSafe for RegionIndex","synthetic":true,"types":["halo2::circuit::RegionIndex"]},{"text":"impl UnwindSafe for RegionStart","synthetic":true,"types":["halo2::circuit::RegionStart"]},{"text":"impl UnwindSafe for Cell","synthetic":true,"types":["halo2::circuit::Cell"]},{"text":"impl<'r, F> !UnwindSafe for Region<'r, F>","synthetic":true,"types":["halo2::circuit::Region"]},{"text":"impl<'a, F, L> !UnwindSafe for NamespacedLayouter<'a, F, L>","synthetic":true,"types":["halo2::circuit::NamespacedLayouter"]},{"text":"impl<C> UnwindSafe for Column<C> where
    C: UnwindSafe
","synthetic":true,"types":["halo2::plonk::circuit::Column"]},{"text":"impl UnwindSafe for Advice","synthetic":true,"types":["halo2::plonk::circuit::Advice"]},{"text":"impl UnwindSafe for Fixed","synthetic":true,"types":["halo2::plonk::circuit::Fixed"]},{"text":"impl UnwindSafe for Instance","synthetic":true,"types":["halo2::plonk::circuit::Instance"]},{"text":"impl UnwindSafe for Any","synthetic":true,"types":["halo2::plonk::circuit::Any"]},{"text":"impl UnwindSafe for Selector","synthetic":true,"types":["halo2::plonk::circuit::Selector"]},{"text":"impl<F> UnwindSafe for Assigned<F> where
    F: UnwindSafe
","synthetic":true,"types":["halo2::plonk::circuit::Assigned"]},{"text":"impl<F> UnwindSafe for Expression<F> where
    F: UnwindSafe
","synthetic":true,"types":["halo2::plonk::circuit::Expression"]},{"text":"impl<F> UnwindSafe for Constraint<F> where
    F: UnwindSafe
","synthetic":true,"types":["halo2::plonk::circuit::Constraint"]},{"text":"impl<F> UnwindSafe for ConstraintSystem<F> where
    F: UnwindSafe
","synthetic":true,"types":["halo2::plonk::circuit::ConstraintSystem"]},{"text":"impl<'a, F> UnwindSafe for PinnedConstraintSystem<'a, F> where
    F: RefUnwindSafe
","synthetic":true,"types":["halo2::plonk::circuit::PinnedConstraintSystem"]},{"text":"impl<'a, F> !UnwindSafe for VirtualCells<'a, F>","synthetic":true,"types":["halo2::plonk::circuit::VirtualCells"]},{"text":"impl<C> UnwindSafe for VerifyingKey<C> where
    C: UnwindSafe,
    <C as CurveAffine>::ScalarExt: UnwindSafe
","synthetic":true,"types":["halo2::plonk::VerifyingKey"]},{"text":"impl<'a, C> UnwindSafe for PinnedVerificationKey<'a, C> where
    C: RefUnwindSafe,
    <C as CurveAffine>::ScalarExt: RefUnwindSafe
","synthetic":true,"types":["halo2::plonk::PinnedVerificationKey"]},{"text":"impl<C> UnwindSafe for ProvingKey<C> where
    C: UnwindSafe,
    <C as CurveAffine>::ScalarExt: UnwindSafe
","synthetic":true,"types":["halo2::plonk::ProvingKey"]},{"text":"impl UnwindSafe for Error","synthetic":true,"types":["halo2::plonk::Error"]},{"text":"impl<'a, C> UnwindSafe for MSM<'a, C> where
    C: RefUnwindSafe + UnwindSafe,
    <C as CurveAffine>::ScalarExt: UnwindSafe
","synthetic":true,"types":["halo2::poly::commitment::msm::MSM"]},{"text":"impl<'a, C, E> UnwindSafe for Guard<'a, C, E> where
    C: RefUnwindSafe + UnwindSafe,
    E: UnwindSafe,
    <C as CurveAffine>::ScalarExt: UnwindSafe
","synthetic":true,"types":["halo2::poly::commitment::verifier::Guard"]},{"text":"impl<C, E> UnwindSafe for Accumulator<C, E> where
    C: UnwindSafe,
    E: UnwindSafe
","synthetic":true,"types":["halo2::poly::commitment::verifier::Accumulator"]},{"text":"impl<C> UnwindSafe for Params<C> where
    C: UnwindSafe
","synthetic":true,"types":["halo2::poly::commitment::Params"]},{"text":"impl<F> UnwindSafe for Blind<F> where
    F: UnwindSafe
","synthetic":true,"types":["halo2::poly::commitment::Blind"]},{"text":"impl<G> UnwindSafe for EvaluationDomain<G> where
    <G as Group>::Scalar: UnwindSafe
","synthetic":true,"types":["halo2::poly::domain::EvaluationDomain"]},{"text":"impl<'a, G> UnwindSafe for PinnedEvaluationDomain<'a, G> where
    <G as Group>::Scalar: RefUnwindSafe
","synthetic":true,"types":["halo2::poly::domain::PinnedEvaluationDomain"]},{"text":"impl<'a, C> UnwindSafe for ProverQuery<'a, C> where
    <C as CurveAffine>::ScalarExt: RefUnwindSafe + UnwindSafe
","synthetic":true,"types":["halo2::poly::multiopen::ProverQuery"]},{"text":"impl<'r, 'params, C> UnwindSafe for VerifierQuery<'r, 'params, C> where
    C: RefUnwindSafe,
    <C as CurveAffine>::ScalarExt: RefUnwindSafe + UnwindSafe
","synthetic":true,"types":["halo2::poly::multiopen::VerifierQuery"]},{"text":"impl UnwindSafe for Error","synthetic":true,"types":["halo2::poly::Error"]},{"text":"impl UnwindSafe for Coeff","synthetic":true,"types":["halo2::poly::Coeff"]},{"text":"impl UnwindSafe for LagrangeCoeff","synthetic":true,"types":["halo2::poly::LagrangeCoeff"]},{"text":"impl UnwindSafe for ExtendedLagrangeCoeff","synthetic":true,"types":["halo2::poly::ExtendedLagrangeCoeff"]},{"text":"impl<F, B> UnwindSafe for Polynomial<F, B> where
    B: UnwindSafe,
    F: UnwindSafe
","synthetic":true,"types":["halo2::poly::Polynomial"]},{"text":"impl UnwindSafe for Rotation","synthetic":true,"types":["halo2::poly::Rotation"]},{"text":"impl<R, C, E> UnwindSafe for Blake2bRead<R, C, E> where
    C: UnwindSafe,
    E: UnwindSafe,
    R: UnwindSafe
","synthetic":true,"types":["halo2::transcript::Blake2bRead"]},{"text":"impl<W, C, E> UnwindSafe for Blake2bWrite<W, C, E> where
    C: UnwindSafe,
    E: UnwindSafe,
    W: UnwindSafe
","synthetic":true,"types":["halo2::transcript::Blake2bWrite"]},{"text":"impl<C, T> UnwindSafe for ChallengeScalar<C, T> where
    T: UnwindSafe,
    <C as CurveAffine>::ScalarExt: UnwindSafe
","synthetic":true,"types":["halo2::transcript::ChallengeScalar"]},{"text":"impl<C> UnwindSafe for Challenge255<C> where
    C: UnwindSafe
","synthetic":true,"types":["halo2::transcript::Challenge255"]},{"text":"impl UnwindSafe for Column","synthetic":true,"types":["halo2::dev::metadata::Column"]},{"text":"impl UnwindSafe for Gate","synthetic":true,"types":["halo2::dev::metadata::Gate"]},{"text":"impl UnwindSafe for Constraint","synthetic":true,"types":["halo2::dev::metadata::Constraint"]},{"text":"impl UnwindSafe for Region","synthetic":true,"types":["halo2::dev::metadata::Region"]},{"text":"impl<G, ConcreteCircuit> UnwindSafe for CircuitCost<G, ConcreteCircuit> where
    ConcreteCircuit: UnwindSafe,
    G: UnwindSafe
","synthetic":true,"types":["halo2::dev::cost::CircuitCost"]},{"text":"impl<G> UnwindSafe for ProofSize<G> where
    G: UnwindSafe
","synthetic":true,"types":["halo2::dev::cost::ProofSize"]},{"text":"impl UnwindSafe for VerifyFailure","synthetic":true,"types":["halo2::dev::VerifyFailure"]},{"text":"impl<F> UnwindSafe for MockProver<F> where
    F: UnwindSafe
","synthetic":true,"types":["halo2::dev::MockProver"]}]; +implementors["halo2"] = [{"text":"impl UnwindSafe for SimpleFloorPlanner","synthetic":true,"types":["halo2::circuit::floor_planner::single_pass::SimpleFloorPlanner"]},{"text":"impl UnwindSafe for V1","synthetic":true,"types":["halo2::circuit::floor_planner::v1::V1"]},{"text":"impl<'p, 'a, F, CS> !UnwindSafe for V1Pass<'p, 'a, F, CS>","synthetic":true,"types":["halo2::circuit::floor_planner::v1::V1Pass"]},{"text":"impl UnwindSafe for RegionShape","synthetic":true,"types":["halo2::circuit::layouter::RegionShape"]},{"text":"impl UnwindSafe for RegionColumn","synthetic":true,"types":["halo2::circuit::layouter::RegionColumn"]},{"text":"impl UnwindSafe for RegionIndex","synthetic":true,"types":["halo2::circuit::RegionIndex"]},{"text":"impl UnwindSafe for RegionStart","synthetic":true,"types":["halo2::circuit::RegionStart"]},{"text":"impl UnwindSafe for Cell","synthetic":true,"types":["halo2::circuit::Cell"]},{"text":"impl<'r, F> !UnwindSafe for Region<'r, F>","synthetic":true,"types":["halo2::circuit::Region"]},{"text":"impl<'a, F, L> !UnwindSafe for NamespacedLayouter<'a, F, L>","synthetic":true,"types":["halo2::circuit::NamespacedLayouter"]},{"text":"impl<C> UnwindSafe for Column<C> where
    C: UnwindSafe
","synthetic":true,"types":["halo2::plonk::circuit::Column"]},{"text":"impl UnwindSafe for Advice","synthetic":true,"types":["halo2::plonk::circuit::Advice"]},{"text":"impl UnwindSafe for Fixed","synthetic":true,"types":["halo2::plonk::circuit::Fixed"]},{"text":"impl UnwindSafe for Instance","synthetic":true,"types":["halo2::plonk::circuit::Instance"]},{"text":"impl UnwindSafe for Any","synthetic":true,"types":["halo2::plonk::circuit::Any"]},{"text":"impl UnwindSafe for Selector","synthetic":true,"types":["halo2::plonk::circuit::Selector"]},{"text":"impl<F> UnwindSafe for Assigned<F> where
    F: UnwindSafe
","synthetic":true,"types":["halo2::plonk::circuit::Assigned"]},{"text":"impl<F> UnwindSafe for Expression<F> where
    F: UnwindSafe
","synthetic":true,"types":["halo2::plonk::circuit::Expression"]},{"text":"impl<F> UnwindSafe for Constraint<F> where
    F: UnwindSafe
","synthetic":true,"types":["halo2::plonk::circuit::Constraint"]},{"text":"impl<F> UnwindSafe for ConstraintSystem<F> where
    F: UnwindSafe
","synthetic":true,"types":["halo2::plonk::circuit::ConstraintSystem"]},{"text":"impl<'a, F> UnwindSafe for PinnedConstraintSystem<'a, F> where
    F: RefUnwindSafe
","synthetic":true,"types":["halo2::plonk::circuit::PinnedConstraintSystem"]},{"text":"impl<'a, F> !UnwindSafe for VirtualCells<'a, F>","synthetic":true,"types":["halo2::plonk::circuit::VirtualCells"]},{"text":"impl<C> UnwindSafe for VerifyingKey<C> where
    C: UnwindSafe,
    <C as CurveAffine>::ScalarExt: UnwindSafe
","synthetic":true,"types":["halo2::plonk::VerifyingKey"]},{"text":"impl<'a, C> UnwindSafe for PinnedVerificationKey<'a, C> where
    C: RefUnwindSafe,
    <C as CurveAffine>::ScalarExt: RefUnwindSafe
","synthetic":true,"types":["halo2::plonk::PinnedVerificationKey"]},{"text":"impl<C> UnwindSafe for ProvingKey<C> where
    C: UnwindSafe,
    <C as CurveAffine>::ScalarExt: UnwindSafe
","synthetic":true,"types":["halo2::plonk::ProvingKey"]},{"text":"impl UnwindSafe for Error","synthetic":true,"types":["halo2::plonk::Error"]},{"text":"impl<'a, C> UnwindSafe for MSM<'a, C> where
    C: RefUnwindSafe + UnwindSafe,
    <C as CurveAffine>::ScalarExt: UnwindSafe
","synthetic":true,"types":["halo2::poly::commitment::msm::MSM"]},{"text":"impl<'a, C, E> UnwindSafe for Guard<'a, C, E> where
    C: RefUnwindSafe + UnwindSafe,
    E: UnwindSafe,
    <C as CurveAffine>::ScalarExt: UnwindSafe
","synthetic":true,"types":["halo2::poly::commitment::verifier::Guard"]},{"text":"impl<C, E> UnwindSafe for Accumulator<C, E> where
    C: UnwindSafe,
    E: UnwindSafe
","synthetic":true,"types":["halo2::poly::commitment::verifier::Accumulator"]},{"text":"impl<C> UnwindSafe for Params<C> where
    C: UnwindSafe
","synthetic":true,"types":["halo2::poly::commitment::Params"]},{"text":"impl<F> UnwindSafe for Blind<F> where
    F: UnwindSafe
","synthetic":true,"types":["halo2::poly::commitment::Blind"]},{"text":"impl<G> UnwindSafe for EvaluationDomain<G> where
    <G as Group>::Scalar: UnwindSafe
","synthetic":true,"types":["halo2::poly::domain::EvaluationDomain"]},{"text":"impl<'a, G> UnwindSafe for PinnedEvaluationDomain<'a, G> where
    <G as Group>::Scalar: RefUnwindSafe
","synthetic":true,"types":["halo2::poly::domain::PinnedEvaluationDomain"]},{"text":"impl<'a, C> UnwindSafe for ProverQuery<'a, C> where
    <C as CurveAffine>::ScalarExt: RefUnwindSafe + UnwindSafe
","synthetic":true,"types":["halo2::poly::multiopen::ProverQuery"]},{"text":"impl<'r, 'params, C> UnwindSafe for VerifierQuery<'r, 'params, C> where
    C: RefUnwindSafe,
    <C as CurveAffine>::ScalarExt: RefUnwindSafe + UnwindSafe
","synthetic":true,"types":["halo2::poly::multiopen::VerifierQuery"]},{"text":"impl UnwindSafe for Error","synthetic":true,"types":["halo2::poly::Error"]},{"text":"impl UnwindSafe for Coeff","synthetic":true,"types":["halo2::poly::Coeff"]},{"text":"impl UnwindSafe for LagrangeCoeff","synthetic":true,"types":["halo2::poly::LagrangeCoeff"]},{"text":"impl UnwindSafe for ExtendedLagrangeCoeff","synthetic":true,"types":["halo2::poly::ExtendedLagrangeCoeff"]},{"text":"impl<F, B> UnwindSafe for Polynomial<F, B> where
    B: UnwindSafe,
    F: UnwindSafe
","synthetic":true,"types":["halo2::poly::Polynomial"]},{"text":"impl UnwindSafe for Rotation","synthetic":true,"types":["halo2::poly::Rotation"]},{"text":"impl<R, C, E> UnwindSafe for Blake2bRead<R, C, E> where
    C: UnwindSafe,
    E: UnwindSafe,
    R: UnwindSafe
","synthetic":true,"types":["halo2::transcript::Blake2bRead"]},{"text":"impl<W, C, E> UnwindSafe for Blake2bWrite<W, C, E> where
    C: UnwindSafe,
    E: UnwindSafe,
    W: UnwindSafe
","synthetic":true,"types":["halo2::transcript::Blake2bWrite"]},{"text":"impl<C, T> UnwindSafe for ChallengeScalar<C, T> where
    T: UnwindSafe,
    <C as CurveAffine>::ScalarExt: UnwindSafe
","synthetic":true,"types":["halo2::transcript::ChallengeScalar"]},{"text":"impl<C> UnwindSafe for Challenge255<C> where
    C: UnwindSafe
","synthetic":true,"types":["halo2::transcript::Challenge255"]},{"text":"impl UnwindSafe for Column","synthetic":true,"types":["halo2::dev::metadata::Column"]},{"text":"impl UnwindSafe for Gate","synthetic":true,"types":["halo2::dev::metadata::Gate"]},{"text":"impl UnwindSafe for Constraint","synthetic":true,"types":["halo2::dev::metadata::Constraint"]},{"text":"impl UnwindSafe for Region","synthetic":true,"types":["halo2::dev::metadata::Region"]},{"text":"impl<G, ConcreteCircuit> UnwindSafe for CircuitCost<G, ConcreteCircuit> where
    ConcreteCircuit: UnwindSafe,
    G: UnwindSafe
","synthetic":true,"types":["halo2::dev::cost::CircuitCost"]},{"text":"impl<G> UnwindSafe for MarginalProofSize<G> where
    G: UnwindSafe
","synthetic":true,"types":["halo2::dev::cost::MarginalProofSize"]},{"text":"impl<G> UnwindSafe for ProofSize<G> where
    G: UnwindSafe
","synthetic":true,"types":["halo2::dev::cost::ProofSize"]},{"text":"impl UnwindSafe for CircuitGates","synthetic":true,"types":["halo2::dev::gates::CircuitGates"]},{"text":"impl UnwindSafe for VerifyFailure","synthetic":true,"types":["halo2::dev::VerifyFailure"]},{"text":"impl<F> UnwindSafe for MockProver<F> where
    F: UnwindSafe
","synthetic":true,"types":["halo2::dev::MockProver"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/rustdoc/latest/search-index.js b/rustdoc/latest/search-index.js index 4756f253..3e8363af 100644 --- a/rustdoc/latest/search-index.js +++ b/rustdoc/latest/search-index.js @@ -1,4 +1,4 @@ var searchIndex = JSON.parse('{\ -"halo2":{"doc":"halo2","t":[0,0,0,0,0,0,16,16,16,8,18,3,8,8,16,18,8,8,8,8,18,18,18,18,18,16,16,16,3,18,18,18,10,10,10,10,10,11,5,5,11,11,11,11,11,11,5,11,10,10,11,11,11,11,11,11,11,10,10,11,11,10,5,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,10,10,10,10,10,10,10,5,5,11,10,10,10,5,11,11,11,11,11,10,10,11,11,5,10,10,11,11,10,11,10,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,3,8,16,8,16,3,3,3,3,16,3,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,0,10,11,11,10,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,13,4,8,3,13,10,11,10,11,10,11,10,11,11,11,11,11,11,11,11,11,11,11,10,11,10,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,13,13,13,13,3,13,4,11,11,11,11,11,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,13,13,4,4,8,13,8,3,8,16,13,3,3,13,4,4,3,13,13,8,16,13,3,13,13,13,13,13,13,13,3,3,13,3,13,13,3,13,13,13,13,13,3,3,13,11,11,11,11,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,11,11,11,10,11,11,11,11,11,11,11,11,11,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,12,12,12,12,12,12,12,12,12,12,8,3,4,3,3,3,13,3,3,3,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,3,3,3,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,11,11,3,3,12,11,11,11,11,11,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,5,11,11,3,3,3,3,8,16,8,8,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,10,11,10,11,10,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,10,11],"n":["arithmetic","circuit","dev","plonk","poly","transcript","AffineExt","Base","Base","BatchInvert","CURVE_ID","Coordinates","CurveAffine","CurveExt","CurveExt","DELTA","Field","Field","FieldExt","Group","MODULUS","RESCUE_ALPHA","RESCUE_INVALPHA","ROOT_OF_UNITY","ROOT_OF_UNITY_INV","Scalar","ScalarExt","ScalarExt","SqrtTables","TWO_INV","T_MINUS1_OVER2","ZETA","a","a","b","b","batch_invert","batch_invert","best_fft","best_multiexp","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","compute_inner_product","conditional_select","coordinates","ct_is_zero","cube","cube","default","deref","deref","deref_mut","deref_mut","double","double","drop","drop","endo","eval_polynomial","fmt","fmt","from","from","from_bytes","from_bytes_wide","from_u128","from_u64","from_xy","get_lower_128","get_lower_32","group_add","group_scale","group_sub","group_zero","hash_to_curve","init","init","into","into","invert","invert","is_on_curve","is_on_curve","is_zero","is_zero","jacobian_coordinates","kate_division","lagrange_interpolate","new","new_jacobian","one","one","parallelize","pow","pow_by_t_minus1_over2","pow_vartime","pow_vartime","rand","random","random","read","read","small_multiexp","sqrt","sqrt","sqrt_alt","sqrt_alt","sqrt_ratio","sqrt_ratio","square","square","to_bytes","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","u","v","vzip","vzip","write","write","x","y","zero","zero","Cell","Chip","Config","Layouter","Loaded","NamespacedLayouter","Region","RegionIndex","RegionStart","Root","SimpleFloorPlanner","assign_advice","assign_advice_from_constant","assign_advice_from_instance","assign_fixed","assign_region","assign_region","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","config","constrain_constant","constrain_equal","constrain_instance","constrain_instance","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","drop","eq","floor_planner","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","get_root","get_root","init","init","init","init","init","init","into","into","into","into","into","into","layouter","loaded","namespace","ne","pop_namespace","pop_namespace","push_namespace","push_namespace","synthesize","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","V1","V1Pass","assign_region","borrow","borrow","borrow_mut","borrow_mut","constrain_instance","deref","deref","deref_mut","deref_mut","drop","drop","fmt","fmt","from","from","get_root","init","init","into","into","pop_namespace","push_namespace","synthesize","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Column","RegionColumn","RegionLayouter","RegionShape","Selector","assign_advice","assign_advice","assign_advice_from_constant","assign_advice_from_constant","assign_advice_from_instance","assign_advice_from_instance","assign_fixed","assign_fixed","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","cmp","columns","constrain_constant","constrain_constant","constrain_equal","constrain_equal","deref","deref","deref_mut","deref_mut","drop","drop","enable_selector","enable_selector","eq","fmt","fmt","from","from","from","from","hash","init","init","into","into","ne","new","partial_cmp","region_index","row_count","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Cell","ConstraintNotSatisfied","ConstraintPoisoned","Lookup","MockProver","Permutation","VerifyFailure","assign_advice","assign_fixed","borrow","borrow","borrow_mut","borrow_mut","copy","cost","deref","deref","deref_mut","deref_mut","drop","drop","enable_selector","enter_region","eq","exit_region","fmt","fmt","fmt","from","from","init","init","into","into","metadata","ne","pop_namespace","push_namespace","query_instance","run","to_string","try_from","try_from","try_into","try_into","type_id","type_id","verify","vzip","vzip","column","column","constraint","constraint","gate","lookup_index","offset","region","row","row","row","CircuitCost","ProofSize","borrow","borrow","borrow_mut","borrow_mut","deref","deref","deref_mut","deref_mut","drop","drop","fmt","fmt","from","from","init","init","into","into","measure","proof_size","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Column","Constraint","Gate","Region","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","eq","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","init","init","init","init","into","into","into","into","ne","ne","ne","ne","to_string","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","Advice","Advice","Advice","Any","Assigned","Assignment","BoundsFailure","Circuit","Column","ColumnType","Config","Constant","Constraint","ConstraintSystem","ConstraintSystemFailure","Error","Expression","Fixed","Fixed","Fixed","FloorPlanner","FloorPlanner","IncompatibleParams","Instance","Instance","Instance","InstanceTooLarge","Negated","NotEnoughColumnsForConstants","NotEnoughRowsAvailable","OpeningError","PinnedConstraintSystem","PinnedVerificationKey","Product","ProvingKey","Rational","Scaled","Selector","Selector","Sum","SynthesisError","TranscriptError","Trivial","VerifyingKey","VirtualCells","Zero","add","add","add","advice_column","assign_advice","assign_fixed","blinding_factors","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","complex_selector","configure","copy","create_gate","create_proof","default","degree","degree","denominator","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","enable","enable_constant","enable_equality","enable_selector","enter_region","eq","eq","eq","eq","eq","eq","eq","evaluate","evaluate","exit_region","fixed_column","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","get_domain","get_vk","hash","hash","hash","hash","hash","hash","hash_into","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","instance_column","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","invert","is_simple","keygen_pk","keygen_vk","lookup","minimum_rows","mul","mul","mul","mul","ne","ne","neg","neg","numerator","partial_cmp","pinned","pinned","pop_namespace","push_namespace","query_advice","query_any","query_fixed","query_instance","query_instance","query_selector","read","selector","set_minimum_degree","square","sub","sub","sub","synthesize","synthesize","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","verify_proof","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","without_witnesses","write","column_index","column_index","column_index","query_index","query_index","query_index","rotation","rotation","rotation","0","Basis","Coeff","Error","EvaluationDomain","ExtendedLagrangeCoeff","LagrangeCoeff","OpeningError","PinnedEvaluationDomain","Polynomial","Rotation","SamplingError","add","add_extended","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","coeff_from_vec","coeff_to_extended","commitment","constant_extended","constant_lagrange","cur","default","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","divide_by_vanishing_poly","drop","drop","drop","drop","drop","drop","drop","drop","empty_coeff","empty_extended","empty_lagrange","eq","extended_len","extended_to_coeff","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","get_extended_omega","get_omega","get_omega_inv","get_quotient_poly_degree","index","index","index","index_mut","index_mut","index_mut","init","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into","iter","iter_mut","l_i_range","lagrange_from_vec","lagrange_to_coeff","mul","mul","mul_extended","multiopen","ne","neg","new","next","num_coeffs","one_minus","pinned","prev","rotate","rotate_extended","rotate_omega","sub","sub_extended","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","0","Accumulator","Blind","Guard","MSM","Params","add","add_assign","add_assign","add_constant_term","add_msm","add_to_g_scalars","add_to_h_scalar","add_to_u_scalar","append_term","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","challenges_packed","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","commit","commit_lagrange","compute_g","create_proof","default","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","empty_msm","eq","eval","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","g","get_g","init","init","init","init","init","into","into","into","into","into","mul","mul_assign","mul_assign","ne","new","new","read","scale","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","use_challenges","use_g","verify_proof","vzip","vzip","vzip","vzip","vzip","write","ProverQuery","VerifierQuery","blind","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","create_proof","deref","deref","deref_mut","deref_mut","drop","drop","fmt","fmt","from","from","init","init","into","into","new_commitment","new_msm","point","poly","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","verify_proof","vzip","vzip","Blake2bRead","Blake2bWrite","Challenge255","ChallengeScalar","EncodedChallenge","Input","Transcript","TranscriptRead","TranscriptWrite","as_challenge_scalar","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","common_point","common_point","common_point","common_scalar","common_scalar","common_scalar","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","finalize","fmt","fmt","fmt","fmt","from","from","from","from","get_scalar","get_scalar","init","init","init","init","init","init","into","into","into","into","new","new","read_point","read_point","read_scalar","read_scalar","squeeze_challenge","squeeze_challenge","squeeze_challenge","squeeze_challenge_scalar","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","write_point","write_point","write_scalar","write_scalar"],"q":["halo2","","","","","","halo2::arithmetic","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","halo2::circuit","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","halo2::circuit::floor_planner","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","halo2::circuit::layouter","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","halo2::dev","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","halo2::dev::VerifyFailure","","","","","","","","","","","halo2::dev::cost","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","halo2::dev::metadata","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","halo2::plonk","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","halo2::plonk::Expression","","","","","","","","","halo2::poly","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","halo2::poly::commitment","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","halo2::poly::multiopen","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","halo2::transcript","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["This module provides common utilities, traits and …","Traits and structs for implementing circuit components.","Tools for developing circuits.","This module provides an implementation of a variant of …","Contains utilities for performing arithmetic over …","This module contains utilities and traits for dealing …","The affine version of the curve","The base field over which this elliptic curve is …","The base field over which this elliptic curve is …","Extension trait for iterators over mutable field elements …","CURVE_ID used for hash-to-curve.","The affine coordinates of a point on an elliptic curve.","This trait is the affine counterpart to Curve and is used …","This trait is a common interface for dealing with …","The projective form of the curve","Generator of the $t-order$ multiplicative subgroup","This trait represents an element of a field.","This trait represents an element of a field.","This trait is a common interface for dealing with …","This represents an element of a group with basic …","Modulus of the field written as a string for display …","Ideally the smallest prime $\\\\alpha$ such that gcd($p - …","$RESCUE_INVALPHA \\\\cdot RESCUE_ALPHA = 1 \\\\mod p - 1$ such …","Generator of the $2^S$ multiplicative subgroup","Inverse of ROOT_OF_UNITY","The group is assumed to be of prime order $p$. Scalar is …","The scalar field of this elliptic curve.","The scalar field of this elliptic curve.","Tables used for square root computation.","Inverse of $2$ in the field.","The value $(T-1)/2$ such that $2^S \\\\cdot T = p - 1$ with …","Element of multiplicative order $3$.","Returns the curve constant a.","Returns the curve constant $a$.","Returns the curve constant b.","Returns the curve constant $b$.","Consume this iterator and invert each field element (when …","Performs a batch inversion using Montgomery’s trick, …","Performs a radix-$2$ Fast-Fourier Transformation (FFT) on …","Performs a multi-exponentiation operation.","","","","","","","This computes the inner product of two vectors a and b.","","Gets the coordinates of this point.","Returns whether or not this element is zero.","Cubes this element.","Cubes this element.","","","","","","Doubles this element.","Doubles this element.","","","Apply the curve endomorphism by multiplying the …","This evaluates a provided polynomial (in coefficient …","","","","","Attempts to obtain a field element from its normalized, …","Obtains a field element that is congruent to the provided …","Obtains a field element congruent to the integer v.","Obtains a field element congruent to the integer v.","Obtains a point given $(x, y)$, failing if it is not on …","Gets the lower 128 bits of this field element when …","Gets the lower 32 bits of this field element when …","Adds rhs to this group element.","Scales this group element by a scalar.","Subtracts rhs from this group element.","Returns the additive identity of the group.","Requests a hasher that accepts messages and returns …","","","","","Computes the multiplicative inverse of this element, …","Computes the multiplicative inverse of this element, …","Returns whether or not this element is on the curve; …","Returns whether or not this element is on the curve; …","Returns true iff this element is zero.","Returns true iff this element is zero.","Return the Jacobian coordinates of this point.","Divides polynomial a in X by X - b with no remainder.","Returns coefficients of an n - 1 degree polynomial given …","Build tables given parameters for the perfect hash.","Obtains a point given Jacobian coordinates $X : Y : Z$, …","Returns the one element of the field, the multiplicative …","Returns the one element of the field, the multiplicative …","This simple utility function will parallelize an …","Exponentiates self by by, where by is a little-endian …","Raise this field element to the power T_MINUS1_OVER2. …","Exponentiates self by exp, where exp is a little-endian …","Exponentiates self by exp, where exp is a little-endian …","This computes a random element of the field using system …","Returns an element chosen uniformly at random using a …","Returns an element chosen uniformly at random using a …","Reads a compressed element from the buffer and attempts …","Reads a normalized, little endian represented field …","Performs a small multi-exponentiation operation. Uses the …","Returns the square root of the field element, if it is …","Returns the square root of the field element, if it is …","Equivalent to sqrt_ratio(self, one()).","Same as sqrt_ratio(u, one()) but more efficient.","Computes:","Computes:","Squares this element.","Squares this element.","Converts this field element to its normalized, little …","","","","","","","","Returns the u-coordinate.","Returns the v-coordinate.","","","Writes an element in compressed form to the buffer.","Writes this element in its normalized, little endian form …","Returns the x-coordinate.","Returns the y-coordinate.","Returns the zero element of the field, the additive …","Returns the zero element of the field, the additive …","A pointer to a cell within a circuit.","A chip implements a set of instructions that can be used …","A type that holds the configuration for this chip, and …","A layout strategy within a circuit. The layouter is …","A type that holds any general chip state that needs to be …","This is a “namespaced” layouter which borrows a …","A region of the circuit in which a Chip can assign cells.","Index of a region in a layouter","Starting row of a region in a layouter","Represents the type of the “root” of this layouter, …","A simple FloorPlanner that performs minimal optimizations.","Assign an advice column value (witness).","Assigns a constant value to the column advice at offset …","Assign the value of the instance column’s cell at …","Assign a fixed value.","Assign a region of gates to an absolute row number.","","","","","","","","","","","","","","","","","","","","The chip holds its own configuration.","Constrains a cell to have a constant value.","Constrains two cells to have the same value.","Constrains a Cell to equal an instance column’s row …","","","","","","","","","","","","","","","","","","","","","","","","Implementations of common circuit floor planners.","","","","","","","","","","","","","","","","Gets the “root” of this assignment, bypassing the …","","","","","","","","","","","","","","Implementations of common circuit layouters.","Provides access to general chip state loaded at the …","Enters into a namespace.","","Exits out of the existing namespace.","","Creates a new (sub)namespace and enters into it.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The version 1 FloorPlanner provided by halo2.","A single pass of the V1 layouter.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Concrete column","The virtual column involved in a region. This includes …","Helper trait for implementing a custom Layouter.","The shape of a region. For a region at a certain index, …","Virtual column representing a (boolean) selector","Assign an advice column value (witness)","","Assigns a constant value to the column advice at offset …","","Assign the value of the instance column’s cell at …","","Assign a fixed value","","","","","","","","","","","Get a reference to the set of columns used in a …","Constrains a cell to have a constant value.","","Constraint two cells to have the same value.","","","","","","","","Enables a selector at the given offset.","","","","","","","","","","","","","","","Create a new RegionShape for a region at region_index.","","Get the region_index of a RegionShape.","Get the row_count of a RegionShape.","","","","","","","","","","","A cell used in an active gate was not assigned to.","A constraint was not satisfied for a particular row.","A constraint was active on an unusable row, and is likely …","A lookup input did not exist in its corresponding table.","A test prover for debugging circuits.","A permutation did not preserve the original value of a …","The reasons why a particular circuit is not satisfied.","","","","","","","","Developer tools for investigating the cost of a circuit.","","","","","","","","","","","","","","","","","","","","Metadata about circuits.","","","","","Runs a synthetic keygen-and-prove operation on the given …","","","","","","","","Returns Ok(()) if this MockProver is satisfied, or a list …","","","The column in which this cell should be assigned.","The column in which this permutation is not satisfied.","The polynomial constraint that is not satisfied.","The polynomial constraint that is not satisfied.","The index of the active gate.","The index of the lookup that is not satisfied. These …","The offset (relative to the start of the region) at which …","The region in which this cell should be assigned.","The row on which this constraint is not satisfied.","The row on which this lookup is not satisfied.","The row on which this permutation is not satisfied.","Measures a circuit to determine its costs, and explain …","The size of a Halo 2 proof, broken down into its …","","","","","","","","","","","","","","","","","","","Measures a circuit with parameter constant k.","Returns the proof size for the given number of instances …","","","","","","","","","Metadata about a column within a circuit.","Metadata about a configured constraint within a circuit.","Metadata about a configured gate within a circuit.","Metadata about an assigned region within a circuit.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","An advice column","An Advice variant","This is an advice (witness) column queried at a certain …","An enum over the Advice, Fixed, Instance structs","A value assigned to a cell within a circuit.","This trait allows a Circuit to direct some backend to …","Out of bounds index passed to a backend","This is a trait that circuits provide implementations for …","A column with an index and type","A column type","This is a configuration object that stores things like …","This is a constant polynomial","An individual polynomial constraint.","This is a description of the circuit environment, such as …","The constraint system is not satisfied.","This is an error that could occur during proving or …","Low-degree expression representing an identity that must …","A fixed column","A Fixed variant","This is a fixed column queried at a certain relative …","A floor planning strategy for a circuit.","The floor planner used for this circuit. This is an …","The structured reference string or the parameters are not …","An instance column","An Instance variant","This is an instance (external) column queried at a …","Instance provided exceeds number of available rows","This is a negated polynomial","Circuit synthesis requires global constants, but circuit …","Instance provided has more rows than supported by circuit","Opening error","Represents the minimal parameters that determine a …","Minimal representation of a verification key that can be …","This is the product of two polynomials","This is a proving key which allows for the creation of …","A value stored as a fraction to enable batch inversion.","This is a scaled polynomial","A selector, representing a fixed boolean value per row of …","This is a virtual selector","This is the sum of two polynomials","This is an error that can occur during synthesis of the …","Transcript error","A value that does not require inversion to evaluate.","This is a verifying key which allows for the verification …","Exposes the “virtual cells” that can be queried while …","The field element zero.","","","","Allocate a new advice column","Assign an advice column value (witness)","Assign a fixed value","Compute the number of blinding factors necessary to …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Allocate a new complex selector that can appear anywhere …","The circuit is given an opportunity to describe the exact …","Assign two cells to have the same value","Creates a new gate.","This creates a proof for the provided circuit when given …","","Compute the degree of this polynomial","Compute the degree of the constraint system (the maximum …","Returns the denominator, if non-trivial.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Enable this selector at the given offset within the given …","Enables this fixed column to be used for global constant …","Enable the ability to enforce equality over cells in this …","Enables a selector at the given row.","Creates a new region and enters into it.","","","","","","","","Evaluates this assigned value directly, performing an …","Evaluate the polynomial using the provided closures to …","Exits the current region.","Allocate a new fixed column","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Get the underlying EvaluationDomain.","Get the underlying VerifyingKey.","","","","","","","Hashes a verification key into a transcript.","","","","","","","","","","","","","","","","","Allocate a new instance column","","","","","","","","","","","","","","","","","Inverts this assigned value.","Is this selector “simple”? Simple selectors can only …","Generate a ProvingKey from a VerifyingKey and an instance …","Generate a VerifyingKey from an instance of Circuit.","Add a lookup argument for some input expressions and …","Returns the minimum necessary rows that need to exist in …","","","","","","","","","Returns the numerator.","","Obtain a pinned version of this constraint system; a …","Obtains a pinned representation of this verification key …","Exits out of the existing namespace.","Creates a new (sub)namespace and enters into it.","Query an advice column at a relative position","Query an Any column at a relative position","Query a fixed column at a relative position","Queries the cell of an instance column at a particular …","Query an instance column at a relative position","Query a selector at the current position.","Reads a verification key from a buffer.","Allocate a new (simple) selector. Simple selectors cannot …","Sets the minimum degree required by the circuit, which …","Square this expression.","","","","Given the provided cs, synthesize the given circuit.","Given the provided cs, synthesize the circuit. The …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns a boolean indicating whether or not the proof is …","","","","","","","","","","","","","","","","","Returns a copy of this circuit with no witness values …","Writes a verifying key to a buffer.","Column index","Column index","Column index","Query index","Query index","Query index","Rotation of this query","Rotation of this query","Rotation of this query","","The basis over which a polynomial is described.","The polynomial is defined as coefficients","This is an error that could occur during proving or …","This structure contains precomputed constants and other …","The polynomial is defined as coefficients of Lagrange …","The polynomial is defined as coefficients of Lagrange …","OpeningProof is not well-formed","Represents the minimal parameters that determine an …","Represents a univariate polynomial defined over a field …","Describes the relative rotation of a vector. Negative …","Caller needs to re-sample a point","","Add two polynomials in the extended domain, rotating the …","","","","","","","","","","","","","","","","","","","","","","","","","","","Obtains a polynomial in coefficient form when given a …","This takes us from an n-length coefficient vector into a …","This module contains an implementation of the polynomial …","Returns a constant polynomial in the extended Lagrange …","Returns a constant polynomial in the Lagrange coefficient …","The current location in the evaluation domain","","","","","","","","","","","","","","","","","","","","This divides the polynomial (in the extended domain) by …","","","","","","","","","Returns an empty (zero) polynomial in the coefficient …","Returns an empty (zero) polynomial in the extended …","Returns an empty (zero) polynomial in the Lagrange …","","Get the size of the extended domain","This takes us from the extended evaluation domain and …","","","","","","","","","","","","","","","","","Get the generator of the extended domain’s …","Get $\\\\omega$, the generator of the $2^k$ order …","Get $\\\\omega^{-1}$, the inverse of the generator of the …","Gets the quotient polynomial’s degree (as a multiple of …","","","","","","","","","","","","","","","","","","","","","","","Iterate over the values, which are either in coefficient …","Iterate over the values mutably, which are either in …","Computes evaluations (at the point x, where xn = x^n) of …","Obtains a polynomial in Lagrange form when given a vector …","This takes us from an n-length vector into the …","","","Multiply two polynomials in the extended domain, rotating …","This module contains an optimisation of the polynomial …","","","This constructs a new evaluation domain object based on …","The next location in the evaluation domain","Gets the size of this polynomial in terms of the number of…","Maps every coefficient c in p to 1 - c.","Obtain a pinned version of this evaluation domain; a …","The previous location in the evaluation domain","Rotates the values in a Lagrange basis polynomial by …","Rotate the extended domain polynomial over the original …","Multiplies a value by some power of $\\\\omega$, essentially …","","Subtract a polynomial from another in the extended …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","An accumulator instance consisting of an evaluation claim …","Wrapper type around a blinding factor.","A guard returned by the verifier","A multiscalar multiplication in the polynomial commitment …","These are the public parameters for the polynomial …","","","","Add a value to the first entry of g_scalars.","Add another multiexp into this one","Add a vector of scalars to g_scalars. This function will …","Add to h_scalar","Add to u_scalar","Add arbitrary term (the scalar and the point)","","","","","","","","","","","A vector of 128-bit challenges sampled by the verifier, …","","","","","","","","","This computes a commitment to a polynomial described by …","This commits to a polynomial using its evaluations over …","Computes G + H, where G = ⟨s, params.g⟩ and H is used …","Create a polynomial commitment opening proof for the …","","","","","","","","","","","","","","","","","Generates an empty multiscalar multiplication struct …","","Perform multiexp and check that it results in zero","","","","","","","","","","","The claimed output of the linear-time polycommit opening …","Getter for g generators","","","","","","","","","","","","","","","Create a new, empty MSM using the provided parameters.","Initializes parameters for the curve, given a random …","Reads params from a buffer.","Scale all scalars in the MSM by some scaling factor","","","","","","","","","","","","","","","","","","","","Lets caller supply the challenges and obtain an MSM with …","Lets caller supply the purported G point and simply …","Checks to see if the proof represented within transcript …","","","","","","Writes params to a buffer.","A polynomial query at a point","A polynomial query at a point","blinding factor of polynomial","","","","","","","","","Create a multi-opening proof","","","","","","","","","","","","","","","Create a new verifier query based on a commitment","Create a new verifier query based on a linear combination …","point at which polynomial is queried","coefficients of polynomial","","","","","","","","","Verify a multi-opening proof","","","We will replace BLAKE2b with an algebraic hash function …","We will replace BLAKE2b with an algebraic hash function …","A 255-bit challenge.","The scalar representation of a verifier challenge.","EncodedChallenge<C> defines a challenge encoding with a …","The Input type used to derive the challenge encoding. For …","Generic transcript view (from either the prover or …","Transcript view from the perspective of a verifier that …","Transcript view from the perspective of a prover that has …","Cast an encoded challenge as a typed ChallengeScalar.","","","","","","","","","","","","","","","","","Writing the point to the transcript without writing it to …","","","Writing the scalar to the transcript without writing it …","","","","","","","","","","","","","","","","","Conclude the interaction and return the output buffer …","","","","","","","","","Get a scalar field element from an encoded challenge.","","Initialize a transcript given an input buffer.","","Initialize a transcript given an output buffer.","","","","","","","","Get an encoded challenge from a given input challenge.","","Read a curve point from the prover.","","Read a curve scalar from the prover.","","Squeeze an encoded verifier challenge from the transcript.","","","Squeeze a typed challenge (in the scalar field) from the …","","","","","","","","","","","","","","","","","","","","","Write a curve point to the proof and the transcript.","","Write a scalar to the proof and the transcript.",""],"i":[0,0,0,0,0,0,1,1,2,0,1,0,0,0,2,3,0,0,0,0,3,3,3,3,3,4,1,2,0,3,3,3,1,2,1,2,5,3,0,0,6,7,6,7,6,6,0,6,2,3,8,8,6,6,7,6,7,8,8,6,7,1,0,6,7,6,7,3,3,3,3,2,3,3,4,4,4,4,1,6,7,6,7,8,8,1,2,8,8,1,0,0,7,1,8,8,0,3,3,8,8,3,8,8,2,3,0,8,8,3,7,3,7,8,8,3,6,6,7,6,7,6,7,6,6,6,7,2,3,6,6,8,8,0,0,9,0,9,0,0,0,0,10,0,11,11,11,11,10,12,13,14,15,16,11,12,13,14,15,16,11,12,14,15,16,14,15,16,9,11,11,10,12,13,14,14,15,15,16,11,12,13,14,15,16,11,12,13,14,15,16,11,12,12,15,0,13,14,15,16,11,12,13,14,14,15,15,16,11,11,12,10,12,13,14,15,16,11,12,13,14,15,16,11,12,0,9,10,15,10,12,10,12,13,14,15,16,13,14,15,16,11,12,13,14,15,16,11,12,13,14,15,16,11,12,13,14,15,16,11,12,0,0,17,18,17,18,17,17,18,17,18,17,18,17,18,17,18,17,17,18,17,18,17,17,17,18,18,17,18,17,18,17,18,17,19,0,0,0,19,20,21,20,21,20,21,20,21,21,19,21,19,21,19,21,19,19,21,20,21,20,21,21,19,21,19,21,19,20,21,19,21,19,21,19,19,19,19,21,19,21,19,19,21,19,21,21,21,19,21,19,21,19,21,19,21,19,22,22,22,22,0,22,0,23,23,22,23,22,23,23,0,22,23,22,23,22,23,23,23,22,23,22,22,23,22,23,22,23,22,23,0,22,23,23,23,23,22,22,23,22,23,22,23,23,22,23,24,25,26,27,24,28,24,24,26,28,25,0,0,29,30,29,30,29,30,29,30,29,30,29,30,29,30,29,30,29,30,29,29,29,30,29,30,29,30,29,30,0,0,0,0,31,32,33,34,31,32,33,34,31,32,33,34,31,32,33,34,31,32,33,34,31,32,33,34,31,31,32,32,33,33,34,34,31,31,31,32,32,33,33,34,34,31,32,33,34,31,32,33,34,31,32,33,34,31,32,33,34,31,32,33,34,31,32,33,34,31,32,33,34,31,32,33,34,0,35,36,0,0,0,37,0,0,0,38,36,0,0,37,0,0,0,35,36,0,38,37,0,35,36,37,36,37,37,37,0,0,36,0,39,36,0,36,36,37,37,39,0,0,39,39,39,36,40,41,41,40,42,43,44,45,35,46,39,36,47,40,48,49,50,51,52,37,42,43,44,45,35,46,39,36,47,40,48,49,50,51,52,37,42,43,44,45,35,46,39,36,40,42,43,44,45,35,46,39,36,40,42,40,38,41,40,0,40,36,40,39,42,43,44,45,35,46,39,36,47,40,48,49,50,51,52,37,42,43,44,45,35,46,39,36,47,40,48,49,50,51,52,37,42,43,44,45,35,46,39,36,47,40,48,49,50,51,52,37,46,40,40,41,41,42,43,44,45,35,46,37,39,36,41,40,42,43,44,45,35,46,39,36,47,40,48,49,50,51,52,37,42,42,42,42,43,44,45,35,35,35,35,46,39,39,39,36,47,47,47,40,48,49,50,51,52,37,50,52,42,43,44,45,35,46,50,42,43,44,45,35,46,39,36,47,40,48,49,50,51,52,37,40,42,43,44,45,35,46,39,36,47,40,48,49,50,51,52,37,39,46,0,0,40,40,39,39,36,36,42,46,39,36,39,42,40,50,41,41,49,49,49,41,49,49,50,40,40,36,39,39,36,53,38,42,43,44,45,35,46,39,36,40,42,42,42,42,43,44,45,35,46,39,36,47,40,48,49,50,51,52,37,42,43,44,45,35,46,39,36,47,40,48,49,50,51,52,37,42,43,44,45,35,46,39,36,47,40,48,49,50,51,52,37,0,42,43,44,45,35,46,39,36,47,40,48,49,50,51,52,37,38,50,54,55,56,54,55,56,54,55,56,57,0,0,0,0,0,0,58,0,0,0,58,59,60,60,61,58,62,63,64,59,57,60,61,58,62,63,64,59,57,62,63,64,59,57,62,63,64,59,57,60,60,0,60,60,57,57,60,61,58,62,63,64,59,59,57,60,61,58,62,63,64,59,59,57,60,60,61,58,62,63,64,59,57,60,60,60,57,60,60,60,61,58,62,63,64,59,57,60,61,58,62,63,64,59,57,60,60,60,60,59,59,59,59,59,59,60,61,58,62,63,64,59,57,60,61,58,62,63,64,59,57,59,59,60,60,60,59,59,60,0,57,59,60,57,59,59,60,57,59,60,60,59,60,62,63,64,59,57,60,61,58,62,63,64,59,57,60,61,58,62,63,64,59,57,60,61,58,62,63,64,59,57,60,61,58,62,63,64,59,57,65,0,0,0,0,0,65,65,65,66,66,66,66,66,66,66,67,68,69,65,66,67,68,69,65,68,66,67,68,65,66,67,68,65,69,69,67,0,65,66,67,68,69,65,66,67,68,69,65,66,67,68,69,65,69,65,66,66,67,68,69,65,66,67,68,69,65,68,69,66,67,68,69,65,66,67,68,69,65,65,65,65,65,66,69,69,66,66,67,68,65,66,67,68,69,65,66,67,68,69,65,66,67,68,69,65,67,67,0,66,67,68,69,65,69,0,0,70,70,71,70,71,70,71,70,71,0,70,71,70,71,70,71,70,71,70,71,70,71,70,71,71,71,70,70,70,71,70,71,70,71,70,71,0,70,71,0,0,0,0,0,72,0,0,0,72,73,74,75,76,73,74,75,76,73,74,75,76,73,74,75,76,77,73,74,77,73,74,73,74,75,75,76,76,73,74,75,76,73,74,75,76,74,73,74,75,76,73,74,75,76,72,76,73,73,74,74,75,76,73,74,75,76,72,76,78,73,78,73,77,73,74,77,73,74,75,76,73,74,75,76,73,74,75,76,73,74,75,76,73,74,75,76,79,74,79,74],"f":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[["u32",15]]],[[]],[[]],[[]],[[]],[[]],[[],["coordinates",3]],[[]],[[],["field",8]],[[["choice",3],["coordinates",3]],["coordinates",3]],[[],[["ctoption",3,["coordinates"]],["coordinates",3]]],[[],["choice",3]],[[]],[[]],[[],["coordinates",3]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[["usize",15]]],[[["usize",15]]],[[]],[[["field",8]],["field",8]],[[["formatter",3]],[["error",3],["result",4,["error"]]]],[[["formatter",3]],[["error",3],["result",4,["error"]]]],[[]],[[]],[[],["ctoption",3]],[[]],[[["u128",15]]],[[["u64",15]]],[[],["ctoption",3]],[[],["u128",15]],[[],["u32",15]],[[]],[[]],[[]],[[]],[[["str",15]],[["fn",8],["global",3],["box",3,["fn","global"]]]],[[],["usize",15]],[[],["usize",15]],[[]],[[]],[[],["ctoption",3]],[[],["ctoption",3]],[[],["choice",3]],[[],["choice",3]],[[],["bool",15]],[[],["bool",15]],[[]],[[["field",8],["intoiterator",8]],[["vec",3],["field",8]]],[[],[["vec",3],["fieldext",8]]],[[["usize",15],["u32",15]],["sqrttables",3]],[[],["ctoption",3]],[[]],[[]],[[["fn",8],["send",8],["clone",8],["sync",8]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],[["error",3],["result",4,["error"]]]],[[],[["error",3],["result",4,["error"]]]],[[]],[[],["ctoption",3]],[[],["ctoption",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[]],[[]],[[]],[[]],[[],[["result",4,["error"]],["error",3]]],[[],[["result",4,["error"]],["error",3]]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,[[["usize",15],["column",3,["advice"]],["advice",3]],[["cell",3],["error",4],["result",4,["cell","error"]]]],[[["usize",15],["column",3,["advice"]],["advice",3]],[["cell",3],["error",4],["result",4,["cell","error"]]]],[[["usize",15],["instance",3],["column",3,["advice"]],["advice",3],["column",3,["instance"]]],[["error",4],["result",4,["error"]]]],[[["column",3,["fixed"]],["fixed",3],["usize",15]],[["cell",3],["error",4],["result",4,["cell","error"]]]],[[],[["error",4],["result",4,["error"]]]],[[],[["error",4],["result",4,["error"]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["regionindex",3]],[[],["regionstart",3]],[[],["cell",3]],[[]],[[]],[[]],[[]],[[["cell",3]],[["error",4],["result",4,["error"]]]],[[["cell",3]],[["error",4],["result",4,["error"]]]],[[["usize",15],["instance",3],["cell",3],["column",3,["instance"]]],[["error",4],["result",4,["error"]]]],[[["usize",15],["instance",3],["cell",3],["column",3,["instance"]]],[["error",4],["result",4,["error"]]]],[[["usize",15]]],[[]],[[["usize",15]]],[[["usize",15]]],[[]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[["regionstart",3]],["bool",15]],null,[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[["usize",15]],["regionindex",3]],[[]],[[["usize",15]],["regionstart",3]],[[]],[[]],[[["regionlayouter",8]]],[[]],[[]],[[]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[]],[[]],[[]],[[]],[[]],[[]],null,[[]],[[],["namespacedlayouter",3]],[[["regionstart",3]],["bool",15]],[[["option",4,["string"]],["string",3]]],[[["option",4,["string"]],["string",3]]],[[]],[[]],[[["column",3,["fixed"]],["vec",3,["column"]]],[["error",4],["result",4,["error"]]]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,[[],[["error",4],["result",4,["error"]]]],[[]],[[]],[[]],[[]],[[["usize",15],["instance",3],["cell",3],["column",3,["instance"]]],[["error",4],["result",4,["error"]]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[],["usize",15]],[[],["usize",15]],[[]],[[]],[[["option",4,["string"]],["string",3]]],[[]],[[["column",3,["fixed"]],["vec",3,["column"]]],[["error",4],["result",4,["error"]]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[]],[[]],null,null,null,null,null,[[["fn",8],["column",3,["advice"]],["usize",15],["fnmut",8],["advice",3]],[["cell",3],["error",4],["result",4,["cell","error"]]]],[[["fn",8],["column",3,["advice"]],["usize",15],["fnmut",8],["advice",3]],[["cell",3],["error",4],["result",4,["cell","error"]]]],[[["fn",8],["column",3,["advice"]],["usize",15],["assigned",4],["advice",3]],[["cell",3],["error",4],["result",4,["cell","error"]]]],[[["fn",8],["column",3,["advice"]],["usize",15],["assigned",4],["advice",3]],[["cell",3],["error",4],["result",4,["cell","error"]]]],[[["fn",8],["instance",3],["usize",15],["column",3,["advice"]],["advice",3],["column",3,["instance"]]],[["error",4],["result",4,["error"]]]],[[["fn",8],["instance",3],["usize",15],["column",3,["advice"]],["advice",3],["column",3,["instance"]]],[["error",4],["result",4,["error"]]]],[[["usize",15],["column",3,["fixed"]],["fixed",3],["fnmut",8],["fn",8]],[["cell",3],["error",4],["result",4,["cell","error"]]]],[[["usize",15],["column",3,["fixed"]],["fixed",3],["fnmut",8],["fn",8]],[["cell",3],["error",4],["result",4,["cell","error"]]]],[[]],[[]],[[]],[[]],[[],["regionshape",3]],[[],["regioncolumn",4]],[[]],[[]],[[],["ordering",4]],[[],["hashset",3]],[[["assigned",4],["cell",3]],[["error",4],["result",4,["error"]]]],[[["assigned",4],["cell",3]],[["error",4],["result",4,["error"]]]],[[["cell",3]],[["error",4],["result",4,["error"]]]],[[["cell",3]],[["error",4],["result",4,["error"]]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15],["selector",3],["fn",8]],[["error",4],["result",4,["error"]]]],[[["usize",15],["selector",3],["fn",8]],[["error",4],["result",4,["error"]]]],[[["regioncolumn",4]],["bool",15]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[["any",4],["column",3,["any"]]],["regioncolumn",4]],[[["selector",3]],["regioncolumn",4]],[[]],[[]],[[],["usize",15]],[[],["usize",15]],[[]],[[]],[[["regioncolumn",4]],["bool",15]],[[["regionindex",3]]],[[],[["ordering",4],["option",4,["ordering"]]]],[[],["regionindex",3]],[[],["usize",15]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[]],[[]],null,null,null,null,null,null,null,[[["usize",15],["column",3,["advice"]],["advice",3]],[["error",4],["result",4,["error"]]]],[[["column",3,["fixed"]],["fixed",3],["usize",15]],[["error",4],["result",4,["error"]]]],[[]],[[]],[[]],[[]],[[["any",4],["usize",15],["column",3,["any"]]],[["error",4],["result",4,["error"]]]],null,[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15],["selector",3]],[["error",4],["result",4,["error"]]]],[[]],[[["verifyfailure",4]],["bool",15]],[[]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[],["usize",15]],[[],["usize",15]],[[]],[[]],null,[[["verifyfailure",4]],["bool",15]],[[["option",4,["string"]],["string",3]]],[[]],[[["usize",15],["instance",3],["column",3,["instance"]]],[["error",4],["option",4],["result",4,["option","error"]]]],[[["vec",3],["u32",15],["vec",3,["vec"]]],[["error",4],["result",4,["error"]]]],[[],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],[["vec",3,["verifyfailure"]],["result",4,["vec"]]]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[],["usize",15]],[[],["usize",15]],[[]],[[]],[[["usize",15]]],[[["usize",15]],["proofsize",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[]],[[]],null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["column",3]],["bool",15]],[[["gate",3]],["bool",15]],[[["constraint",3]],["bool",15]],[[["region",3]],["bool",15]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[["any",4],["column",3,["any"]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[]],[[]],[[]],[[]],[[["column",3]],["bool",15]],[[["gate",3]],["bool",15]],[[["constraint",3]],["bool",15]],[[["region",3]],["bool",15]],[[],["string",3]],[[],["string",3]],[[],["string",3]],[[],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[],["assigned",4]],[[["assigned",4]],["assigned",4]],[[["expression",4]],["expression",4]],[[],[["column",3,["advice"]],["advice",3]]],[[["usize",15],["column",3,["advice"]],["advice",3]],[["error",4],["result",4,["error"]]]],[[["column",3,["fixed"]],["fixed",3],["usize",15]],[["error",4],["result",4,["error"]]]],[[],["usize",15]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["column",3]],[[],["advice",3]],[[],["fixed",3]],[[],["instance",3]],[[],["any",4]],[[],["selector",3]],[[],["assigned",4]],[[],["expression",4]],[[],["constraintsystem",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["ordering",4]],[[],["selector",3]],[[["constraintsystem",3]]],[[["any",4],["usize",15],["column",3,["any"]]],[["error",4],["result",4,["error"]]]],[[["str",15]]],[[["provingkey",3],["params",3]],[["error",4],["result",4,["error"]]]],[[],["constraintsystem",3]],[[],["usize",15]],[[],["usize",15]],[[],["option",4]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15],["region",3]],[["error",4],["result",4,["error"]]]],[[["column",3,["fixed"]],["fixed",3]]],[[["any",4],["column",3,["any"]]]],[[["usize",15],["selector",3]],[["error",4],["result",4,["error"]]]],[[]],[[["column",3]],["bool",15]],[[["advice",3]],["bool",15]],[[["fixed",3]],["bool",15]],[[["instance",3]],["bool",15]],[[["any",4]],["bool",15]],[[["selector",3]],["bool",15]],[[["error",4]],["bool",15]],[[]],[[]],[[]],[[],[["column",3,["fixed"]],["fixed",3]]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["column",3,["fixed"]],["fixed",3]],[["any",4],["column",3,["any"]]]],[[]],[[["instance",3],["column",3,["instance"]]],[["any",4],["column",3,["any"]]]],[[["column",3,["advice"]],["advice",3]],[["any",4],["column",3,["any"]]]],[[]],[[]],[[]],[[["advice",3]],["any",4]],[[["instance",3]],["any",4]],[[["fixed",3]],["any",4]],[[]],[[]],[[]],[[]],[[]],[[]],[[["expression",4]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["evaluationdomain",3]],[[],["verifyingkey",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",6]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],[["instance",3],["column",3,["instance"]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["bool",15]],[[["params",3],["verifyingkey",3]],[["error",4],["result",4,["provingkey","error"]],["provingkey",3]]],[[["params",3]],[["error",4],["verifyingkey",3],["result",4,["verifyingkey","error"]]]],[[],["usize",15]],[[],["usize",15]],[[],["assigned",4]],[[["assigned",4]],["assigned",4]],[[["expression",4]],["expression",4]],[[],["expression",4]],[[["column",3]],["bool",15]],[[["selector",3]],["bool",15]],[[]],[[]],[[]],[[],[["ordering",4],["option",4,["ordering"]]]],[[],["pinnedconstraintsystem",3]],[[],["pinnedverificationkey",3]],[[["option",4,["string"]],["string",3]]],[[]],[[["column",3,["advice"]],["rotation",3],["advice",3]],["expression",4]],[[["any",4],["rotation",3],["column",3,["any"]]],["expression",4]],[[["column",3,["fixed"]],["fixed",3],["rotation",3]],["expression",4]],[[["usize",15],["instance",3],["column",3,["instance"]]],[["error",4],["option",4],["result",4,["option","error"]]]],[[["instance",3],["rotation",3],["column",3,["instance"]]],["expression",4]],[[["selector",3]],["expression",4]],[[["params",3]],["result",6]],[[],["selector",3]],[[["usize",15]]],[[]],[[["assigned",4]],["assigned",4]],[[],["assigned",4]],[[["expression",4]],["expression",4]],[[["column",3,["fixed"]],["vec",3,["column"]]],[["error",4],["result",4,["error"]]]],[[],[["error",4],["result",4,["error"]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["any",4],["column",3,["any"]]],["result",4]],[[],["result",4]],[[["any",4],["column",3,["any"]]],["result",4]],[[["any",4],["column",3,["any"]]],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[["msm",3],["verifyingkey",3],["curveaffine",8],["params",3]],[["error",4],["guard",3],["result",4,["guard","error"]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",6]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["polynomial",3]],["polynomial",3]],[[["polynomial",3,["extendedlagrangecoeff"]],["rotation",3],["polynomial",3],["extendedlagrangecoeff",3]],[["extendedlagrangecoeff",3],["polynomial",3,["extendedlagrangecoeff"]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["coeff",3]],[[],["lagrangecoeff",3]],[[],["extendedlagrangecoeff",3]],[[],["polynomial",3]],[[],["rotation",3]],[[]],[[]],[[]],[[]],[[]],[[["vec",3]],[["coeff",3],["polynomial",3,["coeff"]]]],[[["coeff",3],["polynomial",3,["coeff"]]],[["extendedlagrangecoeff",3],["polynomial",3,["extendedlagrangecoeff"]]]],null,[[],[["extendedlagrangecoeff",3],["polynomial",3,["extendedlagrangecoeff"]]]],[[],[["polynomial",3,["lagrangecoeff"]],["lagrangecoeff",3]]],[[],["rotation",3]],[[],["rotation",3]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[["usize",15]]],[[["usize",15]]],[[["extendedlagrangecoeff",3],["polynomial",3,["extendedlagrangecoeff"]]],[["extendedlagrangecoeff",3],["polynomial",3,["extendedlagrangecoeff"]]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[],[["coeff",3],["polynomial",3,["coeff"]]]],[[],[["extendedlagrangecoeff",3],["polynomial",3,["extendedlagrangecoeff"]]]],[[],[["polynomial",3,["lagrangecoeff"]],["lagrangecoeff",3]]],[[["rotation",3]],["bool",15]],[[],["usize",15]],[[["extendedlagrangecoeff",3],["polynomial",3,["extendedlagrangecoeff"]]],["vec",3]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["usize",15]],[[["usize",15]]],[[["rangefrom",3,["usize"]],["usize",15]]],[[["rangefull",3]]],[[["rangefull",3]]],[[["usize",15]]],[[["rangefrom",3,["usize"]],["usize",15]]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["intoiterator",8],["clone",8]],["vec",3]],[[["vec",3]],[["polynomial",3,["lagrangecoeff"]],["lagrangecoeff",3]]],[[["polynomial",3,["lagrangecoeff"]],["lagrangecoeff",3]],[["coeff",3],["polynomial",3,["coeff"]]]],[[],["polynomial",3]],[[["polynomial",3]],[["polynomial",3,["extendedlagrangecoeff"]],["extendedlagrangecoeff",3]]],[[["polynomial",3,["extendedlagrangecoeff"]],["rotation",3],["polynomial",3],["extendedlagrangecoeff",3]],[["extendedlagrangecoeff",3],["polynomial",3,["extendedlagrangecoeff"]]]],null,[[["rotation",3]],["bool",15]],[[],["polynomial",3]],[[["u32",15]]],[[],["rotation",3]],[[],["usize",15]],[[]],[[],["pinnedevaluationdomain",3]],[[],["rotation",3]],[[["rotation",3]],[["polynomial",3,["lagrangecoeff"]],["lagrangecoeff",3]]],[[["rotation",3],["polynomial",3]],[["extendedlagrangecoeff",3],["polynomial",3,["extendedlagrangecoeff"]]]],[[["rotation",3]]],[[["polynomial",3]],["polynomial",3]],[[["polynomial",3,["extendedlagrangecoeff"]],["rotation",3],["polynomial",3],["extendedlagrangecoeff",3]],[["extendedlagrangecoeff",3],["polynomial",3,["extendedlagrangecoeff"]]]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,[[["blind",3]]],[[]],[[["blind",3]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,[[],["msm",3]],[[],["guard",3]],[[],["accumulator",3]],[[],["blind",3]],[[]],[[]],[[]],[[]],[[["blind",3],["polynomial",3]]],[[["blind",3],["polynomial",3]]],[[]],[[["blind",3],["params",3],["polynomial",3]],["result",6]],[[]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[],["msm",3]],[[["blind",3]],["bool",15]],[[],["bool",15]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],null,[[],["vec",3]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[]],[[]],[[]],[[]],[[]],[[["blind",3]]],[[["blind",3]]],[[]],[[["blind",3]],["bool",15]],[[["params",3]]],[[["u32",15]]],[[],["result",6]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["msm",3]],[[]],[[["params",3],["msm",3],["curveaffine",8]],[["result",4,["guard","error"]],["guard",3],["error",4]]],[[]],[[]],[[]],[[]],[[]],[[],["result",6]],null,null,null,[[]],[[]],[[]],[[]],[[],["proverquery",3]],[[],["verifierquery",3]],[[]],[[]],[[["params",3]],["result",6]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[],["usize",15]],[[],["usize",15]],[[]],[[]],[[]],[[["msm",3]]],null,null,[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[["params",3],["msm",3],["curveaffine",8]],[["error",4],["guard",3],["result",4,["guard","error"]]]],[[]],[[]],null,null,null,null,null,null,null,null,null,[[],["challengescalar",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["blake2bread",3]],[[],["blake2bwrite",3]],[[],["challengescalar",3]],[[],["challenge255",3]],[[]],[[]],[[]],[[]],[[],["result",6]],[[],["result",6]],[[],["result",6]],[[],["result",6]],[[],["result",6]],[[],["result",6]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[["usize",15]]],[[]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["usize",15]],[[]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",6]],[[],["result",6]],[[],["result",6]],[[],["result",6]],[[]],[[],["challenge255",3]],[[],["challenge255",3]],[[],["challengescalar",3]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[]],[[]],[[]],[[]],[[],["result",6]],[[],["result",6]],[[],["result",6]],[[],["result",6]]],"p":[[8,"CurveExt"],[8,"CurveAffine"],[8,"FieldExt"],[8,"Group"],[8,"BatchInvert"],[3,"Coordinates"],[3,"SqrtTables"],[8,"Field"],[8,"Chip"],[8,"Layouter"],[3,"Region"],[3,"NamespacedLayouter"],[3,"SimpleFloorPlanner"],[3,"RegionIndex"],[3,"RegionStart"],[3,"Cell"],[3,"V1Pass"],[3,"V1"],[4,"RegionColumn"],[8,"RegionLayouter"],[3,"RegionShape"],[4,"VerifyFailure"],[3,"MockProver"],[13,"Cell"],[13,"Permutation"],[13,"ConstraintNotSatisfied"],[13,"ConstraintPoisoned"],[13,"Lookup"],[3,"CircuitCost"],[3,"ProofSize"],[3,"Column"],[3,"Gate"],[3,"Constraint"],[3,"Region"],[4,"Any"],[4,"Expression"],[4,"Error"],[8,"Circuit"],[4,"Assigned"],[3,"ConstraintSystem"],[8,"Assignment"],[3,"Column"],[3,"Advice"],[3,"Fixed"],[3,"Instance"],[3,"Selector"],[3,"Constraint"],[3,"PinnedConstraintSystem"],[3,"VirtualCells"],[3,"VerifyingKey"],[3,"PinnedVerificationKey"],[3,"ProvingKey"],[8,"FloorPlanner"],[13,"Fixed"],[13,"Advice"],[13,"Instance"],[3,"Rotation"],[4,"Error"],[3,"Polynomial"],[3,"EvaluationDomain"],[3,"PinnedEvaluationDomain"],[3,"Coeff"],[3,"LagrangeCoeff"],[3,"ExtendedLagrangeCoeff"],[3,"Blind"],[3,"MSM"],[3,"Guard"],[3,"Accumulator"],[3,"Params"],[3,"ProverQuery"],[3,"VerifierQuery"],[8,"EncodedChallenge"],[3,"Blake2bRead"],[3,"Blake2bWrite"],[3,"ChallengeScalar"],[3,"Challenge255"],[8,"Transcript"],[8,"TranscriptRead"],[8,"TranscriptWrite"]]}\ +"halo2":{"doc":"halo2","t":[0,0,0,0,0,0,16,16,16,8,18,3,8,8,16,18,8,8,8,8,18,18,18,18,18,16,16,16,3,18,18,18,10,10,10,10,10,11,5,5,11,11,11,11,11,11,5,11,10,10,11,11,11,11,11,11,11,10,10,11,11,10,5,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,10,10,10,10,10,10,10,5,5,11,10,10,10,5,11,11,11,11,11,10,10,11,11,5,10,10,11,11,10,11,10,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,3,8,16,8,16,3,3,3,3,16,3,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,0,10,11,11,10,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,13,4,8,3,13,10,11,10,11,10,11,10,11,11,11,11,11,11,11,11,11,11,11,10,11,10,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,13,3,13,13,13,3,13,4,11,11,11,11,11,11,11,11,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,3,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,13,13,4,4,8,13,8,3,8,16,13,3,3,13,4,4,3,13,13,8,16,13,3,13,13,13,13,13,13,13,3,3,13,3,13,13,3,13,13,13,13,13,3,3,13,11,11,11,11,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,11,11,11,10,11,11,11,11,11,11,11,11,11,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,12,12,12,12,12,12,12,12,12,12,8,3,4,3,3,3,13,3,3,3,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,3,3,3,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,11,11,3,3,12,11,11,11,11,11,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,5,11,11,3,3,3,3,8,16,8,8,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,10,11,10,11,10,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,10,11],"n":["arithmetic","circuit","dev","plonk","poly","transcript","AffineExt","Base","Base","BatchInvert","CURVE_ID","Coordinates","CurveAffine","CurveExt","CurveExt","DELTA","Field","Field","FieldExt","Group","MODULUS","RESCUE_ALPHA","RESCUE_INVALPHA","ROOT_OF_UNITY","ROOT_OF_UNITY_INV","Scalar","ScalarExt","ScalarExt","SqrtTables","TWO_INV","T_MINUS1_OVER2","ZETA","a","a","b","b","batch_invert","batch_invert","best_fft","best_multiexp","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","compute_inner_product","conditional_select","coordinates","ct_is_zero","cube","cube","default","deref","deref","deref_mut","deref_mut","double","double","drop","drop","endo","eval_polynomial","fmt","fmt","from","from","from_bytes","from_bytes_wide","from_u128","from_u64","from_xy","get_lower_128","get_lower_32","group_add","group_scale","group_sub","group_zero","hash_to_curve","init","init","into","into","invert","invert","is_on_curve","is_on_curve","is_zero","is_zero","jacobian_coordinates","kate_division","lagrange_interpolate","new","new_jacobian","one","one","parallelize","pow","pow_by_t_minus1_over2","pow_vartime","pow_vartime","rand","random","random","read","read","small_multiexp","sqrt","sqrt","sqrt_alt","sqrt_alt","sqrt_ratio","sqrt_ratio","square","square","to_bytes","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","u","v","vzip","vzip","write","write","x","y","zero","zero","Cell","Chip","Config","Layouter","Loaded","NamespacedLayouter","Region","RegionIndex","RegionStart","Root","SimpleFloorPlanner","assign_advice","assign_advice_from_constant","assign_advice_from_instance","assign_fixed","assign_region","assign_region","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","config","constrain_constant","constrain_equal","constrain_instance","constrain_instance","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","drop","eq","floor_planner","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","get_root","get_root","init","init","init","init","init","init","into","into","into","into","into","into","layouter","loaded","namespace","ne","pop_namespace","pop_namespace","push_namespace","push_namespace","synthesize","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","V1","V1Pass","assign_region","borrow","borrow","borrow_mut","borrow_mut","constrain_instance","deref","deref","deref_mut","deref_mut","drop","drop","fmt","fmt","from","from","get_root","init","init","into","into","pop_namespace","push_namespace","synthesize","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Column","RegionColumn","RegionLayouter","RegionShape","Selector","assign_advice","assign_advice","assign_advice_from_constant","assign_advice_from_constant","assign_advice_from_instance","assign_advice_from_instance","assign_fixed","assign_fixed","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","cmp","columns","constrain_constant","constrain_constant","constrain_equal","constrain_equal","deref","deref","deref_mut","deref_mut","drop","drop","enable_selector","enable_selector","eq","fmt","fmt","from","from","from","from","hash","init","init","into","into","ne","new","partial_cmp","region_index","row_count","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Cell","CircuitGates","ConstraintNotSatisfied","ConstraintPoisoned","Lookup","MockProver","Permutation","VerifyFailure","assign_advice","assign_fixed","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","collect","copy","cost","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","enable_selector","enter_region","eq","exit_region","fmt","fmt","fmt","fmt","fmt","from","from","from","init","init","init","into","into","into","metadata","ne","pop_namespace","push_namespace","query_instance","run","to_string","to_string","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","verify","vzip","vzip","vzip","column","column","constraint","constraint","gate","lookup_index","offset","region","row","row","row","CircuitCost","MarginalProofSize","ProofSize","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","fmt","fmt","fmt","from","from","from","init","init","init","into","into","into","marginal_proof_size","measure","proof_size","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","Column","Constraint","Gate","Region","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","eq","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","init","init","init","init","into","into","into","into","ne","ne","ne","ne","to_string","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","Advice","Advice","Advice","Any","Assigned","Assignment","BoundsFailure","Circuit","Column","ColumnType","Config","Constant","Constraint","ConstraintSystem","ConstraintSystemFailure","Error","Expression","Fixed","Fixed","Fixed","FloorPlanner","FloorPlanner","IncompatibleParams","Instance","Instance","Instance","InstanceTooLarge","Negated","NotEnoughColumnsForConstants","NotEnoughRowsAvailable","OpeningError","PinnedConstraintSystem","PinnedVerificationKey","Product","ProvingKey","Rational","Scaled","Selector","Selector","Sum","SynthesisError","TranscriptError","Trivial","VerifyingKey","VirtualCells","Zero","add","add","add","advice_column","assign_advice","assign_fixed","blinding_factors","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","complex_selector","configure","copy","create_gate","create_proof","default","degree","degree","denominator","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","enable","enable_constant","enable_equality","enable_selector","enter_region","eq","eq","eq","eq","eq","eq","eq","evaluate","evaluate","exit_region","fixed_column","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","get_domain","get_vk","hash","hash","hash","hash","hash","hash","hash_into","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","instance_column","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","invert","is_simple","keygen_pk","keygen_vk","lookup","minimum_rows","mul","mul","mul","mul","ne","ne","neg","neg","numerator","partial_cmp","pinned","pinned","pop_namespace","push_namespace","query_advice","query_any","query_fixed","query_instance","query_instance","query_selector","read","selector","set_minimum_degree","square","sub","sub","sub","synthesize","synthesize","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","verify_proof","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","without_witnesses","write","column_index","column_index","column_index","query_index","query_index","query_index","rotation","rotation","rotation","0","Basis","Coeff","Error","EvaluationDomain","ExtendedLagrangeCoeff","LagrangeCoeff","OpeningError","PinnedEvaluationDomain","Polynomial","Rotation","SamplingError","add","add_extended","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","coeff_from_vec","coeff_to_extended","commitment","constant_extended","constant_lagrange","cur","default","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","divide_by_vanishing_poly","drop","drop","drop","drop","drop","drop","drop","drop","empty_coeff","empty_extended","empty_lagrange","eq","extended_len","extended_to_coeff","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","get_extended_omega","get_omega","get_omega_inv","get_quotient_poly_degree","index","index","index","index_mut","index_mut","index_mut","init","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into","iter","iter_mut","l_i_range","lagrange_from_vec","lagrange_to_coeff","mul","mul","mul_extended","multiopen","ne","neg","new","next","num_coeffs","one_minus","pinned","prev","rotate","rotate_extended","rotate_omega","sub","sub_extended","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","0","Accumulator","Blind","Guard","MSM","Params","add","add_assign","add_assign","add_constant_term","add_msm","add_to_g_scalars","add_to_h_scalar","add_to_u_scalar","append_term","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","challenges_packed","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","commit","commit_lagrange","compute_g","create_proof","default","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","empty_msm","eq","eval","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","g","get_g","init","init","init","init","init","into","into","into","into","into","mul","mul_assign","mul_assign","ne","new","new","read","scale","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","use_challenges","use_g","verify_proof","vzip","vzip","vzip","vzip","vzip","write","ProverQuery","VerifierQuery","blind","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","create_proof","deref","deref","deref_mut","deref_mut","drop","drop","fmt","fmt","from","from","init","init","into","into","new_commitment","new_msm","point","poly","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","verify_proof","vzip","vzip","Blake2bRead","Blake2bWrite","Challenge255","ChallengeScalar","EncodedChallenge","Input","Transcript","TranscriptRead","TranscriptWrite","as_challenge_scalar","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","common_point","common_point","common_point","common_scalar","common_scalar","common_scalar","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","finalize","fmt","fmt","fmt","fmt","from","from","from","from","get_scalar","get_scalar","init","init","init","init","init","init","into","into","into","into","new","new","read_point","read_point","read_scalar","read_scalar","squeeze_challenge","squeeze_challenge","squeeze_challenge","squeeze_challenge_scalar","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","write_point","write_point","write_scalar","write_scalar"],"q":["halo2","","","","","","halo2::arithmetic","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","halo2::circuit","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","halo2::circuit::floor_planner","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","halo2::circuit::layouter","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","halo2::dev","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","halo2::dev::VerifyFailure","","","","","","","","","","","halo2::dev::cost","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","halo2::dev::metadata","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","halo2::plonk","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","halo2::plonk::Expression","","","","","","","","","halo2::poly","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","halo2::poly::commitment","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","halo2::poly::multiopen","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","halo2::transcript","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["This module provides common utilities, traits and …","Traits and structs for implementing circuit components.","Tools for developing circuits.","This module provides an implementation of a variant of …","Contains utilities for performing arithmetic over …","This module contains utilities and traits for dealing …","The affine version of the curve","The base field over which this elliptic curve is …","The base field over which this elliptic curve is …","Extension trait for iterators over mutable field elements …","CURVE_ID used for hash-to-curve.","The affine coordinates of a point on an elliptic curve.","This trait is the affine counterpart to Curve and is used …","This trait is a common interface for dealing with …","The projective form of the curve","Generator of the $t-order$ multiplicative subgroup","This trait represents an element of a field.","This trait represents an element of a field.","This trait is a common interface for dealing with …","This represents an element of a group with basic …","Modulus of the field written as a string for display …","Ideally the smallest prime $\\\\alpha$ such that gcd($p - …","$RESCUE_INVALPHA \\\\cdot RESCUE_ALPHA = 1 \\\\mod p - 1$ such …","Generator of the $2^S$ multiplicative subgroup","Inverse of ROOT_OF_UNITY","The group is assumed to be of prime order $p$. Scalar is …","The scalar field of this elliptic curve.","The scalar field of this elliptic curve.","Tables used for square root computation.","Inverse of $2$ in the field.","The value $(T-1)/2$ such that $2^S \\\\cdot T = p - 1$ with …","Element of multiplicative order $3$.","Returns the curve constant a.","Returns the curve constant $a$.","Returns the curve constant b.","Returns the curve constant $b$.","Consume this iterator and invert each field element (when …","Performs a batch inversion using Montgomery’s trick, …","Performs a radix-$2$ Fast-Fourier Transformation (FFT) on …","Performs a multi-exponentiation operation.","","","","","","","This computes the inner product of two vectors a and b.","","Gets the coordinates of this point.","Returns whether or not this element is zero.","Cubes this element.","Cubes this element.","","","","","","Doubles this element.","Doubles this element.","","","Apply the curve endomorphism by multiplying the …","This evaluates a provided polynomial (in coefficient …","","","","","Attempts to obtain a field element from its normalized, …","Obtains a field element that is congruent to the provided …","Obtains a field element congruent to the integer v.","Obtains a field element congruent to the integer v.","Obtains a point given $(x, y)$, failing if it is not on …","Gets the lower 128 bits of this field element when …","Gets the lower 32 bits of this field element when …","Adds rhs to this group element.","Scales this group element by a scalar.","Subtracts rhs from this group element.","Returns the additive identity of the group.","Requests a hasher that accepts messages and returns …","","","","","Computes the multiplicative inverse of this element, …","Computes the multiplicative inverse of this element, …","Returns whether or not this element is on the curve; …","Returns whether or not this element is on the curve; …","Returns true iff this element is zero.","Returns true iff this element is zero.","Return the Jacobian coordinates of this point.","Divides polynomial a in X by X - b with no remainder.","Returns coefficients of an n - 1 degree polynomial given …","Build tables given parameters for the perfect hash.","Obtains a point given Jacobian coordinates $X : Y : Z$, …","Returns the one element of the field, the multiplicative …","Returns the one element of the field, the multiplicative …","This simple utility function will parallelize an …","Exponentiates self by by, where by is a little-endian …","Raise this field element to the power T_MINUS1_OVER2. …","Exponentiates self by exp, where exp is a little-endian …","Exponentiates self by exp, where exp is a little-endian …","This computes a random element of the field using system …","Returns an element chosen uniformly at random using a …","Returns an element chosen uniformly at random using a …","Reads a compressed element from the buffer and attempts …","Reads a normalized, little endian represented field …","Performs a small multi-exponentiation operation. Uses the …","Returns the square root of the field element, if it is …","Returns the square root of the field element, if it is …","Equivalent to sqrt_ratio(self, one()).","Same as sqrt_ratio(u, one()) but more efficient.","Computes:","Computes:","Squares this element.","Squares this element.","Converts this field element to its normalized, little …","","","","","","","","Returns the u-coordinate.","Returns the v-coordinate.","","","Writes an element in compressed form to the buffer.","Writes this element in its normalized, little endian form …","Returns the x-coordinate.","Returns the y-coordinate.","Returns the zero element of the field, the additive …","Returns the zero element of the field, the additive …","A pointer to a cell within a circuit.","A chip implements a set of instructions that can be used …","A type that holds the configuration for this chip, and …","A layout strategy within a circuit. The layouter is …","A type that holds any general chip state that needs to be …","This is a “namespaced” layouter which borrows a …","A region of the circuit in which a Chip can assign cells.","Index of a region in a layouter","Starting row of a region in a layouter","Represents the type of the “root” of this layouter, …","A simple FloorPlanner that performs minimal optimizations.","Assign an advice column value (witness).","Assigns a constant value to the column advice at offset …","Assign the value of the instance column’s cell at …","Assign a fixed value.","Assign a region of gates to an absolute row number.","","","","","","","","","","","","","","","","","","","","The chip holds its own configuration.","Constrains a cell to have a constant value.","Constrains two cells to have the same value.","Constrains a Cell to equal an instance column’s row …","","","","","","","","","","","","","","","","","","","","","","","","Implementations of common circuit floor planners.","","","","","","","","","","","","","","","","Gets the “root” of this assignment, bypassing the …","","","","","","","","","","","","","","Implementations of common circuit layouters.","Provides access to general chip state loaded at the …","Enters into a namespace.","","Exits out of the existing namespace.","","Creates a new (sub)namespace and enters into it.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The version 1 FloorPlanner provided by halo2.","A single pass of the V1 layouter.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Concrete column","The virtual column involved in a region. This includes …","Helper trait for implementing a custom Layouter.","The shape of a region. For a region at a certain index, …","Virtual column representing a (boolean) selector","Assign an advice column value (witness)","","Assigns a constant value to the column advice at offset …","","Assign the value of the instance column’s cell at …","","Assign a fixed value","","","","","","","","","","","Get a reference to the set of columns used in a …","Constrains a cell to have a constant value.","","Constraint two cells to have the same value.","","","","","","","","Enables a selector at the given offset.","","","","","","","","","","","","","","","Create a new RegionShape for a region at region_index.","","Get the region_index of a RegionShape.","Get the row_count of a RegionShape.","","","","","","","","","","","A cell used in an active gate was not assigned to.","A struct for collecting and displaying the gates within a …","A constraint was not satisfied for a particular row.","A constraint was active on an unusable row, and is likely …","A lookup input did not exist in its corresponding table.","A test prover for debugging circuits.","A permutation did not preserve the original value of a …","The reasons why a particular circuit is not satisfied.","","","","","","","","","Collects the gates from within the circuit.","","Developer tools for investigating the cost of a circuit.","","","","","","","","","","","","","","","","","","","","","","","","","","","","Metadata about circuits.","","","","","Runs a synthetic keygen-and-prove operation on the given …","","","","","","","","","","","","Returns Ok(()) if this MockProver is satisfied, or a list …","","","","The column in which this cell should be assigned.","The column in which this permutation is not satisfied.","The polynomial constraint that is not satisfied.","The polynomial constraint that is not satisfied.","The index of the active gate.","The index of the lookup that is not satisfied. These …","The offset (relative to the start of the region) at which …","The region in which this cell should be assigned.","The row on which this constraint is not satisfied.","The row on which this lookup is not satisfied.","The row on which this permutation is not satisfied.","Measures a circuit to determine its costs, and explain …","The marginal size of a Halo 2 proof, broken down into its …","The size of a Halo 2 proof, broken down into its …","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the marginal proof size per instance of this …","Measures a circuit with parameter constant k.","Returns the proof size for the given number of instances …","","","","","","","","","","","","","Metadata about a column within a circuit.","Metadata about a configured constraint within a circuit.","Metadata about a configured gate within a circuit.","Metadata about an assigned region within a circuit.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","An advice column","An Advice variant","This is an advice (witness) column queried at a certain …","An enum over the Advice, Fixed, Instance structs","A value assigned to a cell within a circuit.","This trait allows a Circuit to direct some backend to …","Out of bounds index passed to a backend","This is a trait that circuits provide implementations for …","A column with an index and type","A column type","This is a configuration object that stores things like …","This is a constant polynomial","An individual polynomial constraint.","This is a description of the circuit environment, such as …","The constraint system is not satisfied.","This is an error that could occur during proving or …","Low-degree expression representing an identity that must …","A fixed column","A Fixed variant","This is a fixed column queried at a certain relative …","A floor planning strategy for a circuit.","The floor planner used for this circuit. This is an …","The structured reference string or the parameters are not …","An instance column","An Instance variant","This is an instance (external) column queried at a …","Instance provided exceeds number of available rows","This is a negated polynomial","Circuit synthesis requires global constants, but circuit …","Instance provided has more rows than supported by circuit","Opening error","Represents the minimal parameters that determine a …","Minimal representation of a verification key that can be …","This is the product of two polynomials","This is a proving key which allows for the creation of …","A value stored as a fraction to enable batch inversion.","This is a scaled polynomial","A selector, representing a fixed boolean value per row of …","This is a virtual selector","This is the sum of two polynomials","This is an error that can occur during synthesis of the …","Transcript error","A value that does not require inversion to evaluate.","This is a verifying key which allows for the verification …","Exposes the “virtual cells” that can be queried while …","The field element zero.","","","","Allocate a new advice column","Assign an advice column value (witness)","Assign a fixed value","Compute the number of blinding factors necessary to …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Allocate a new complex selector that can appear anywhere …","The circuit is given an opportunity to describe the exact …","Assign two cells to have the same value","Creates a new gate.","This creates a proof for the provided circuit when given …","","Compute the degree of this polynomial","Compute the degree of the constraint system (the maximum …","Returns the denominator, if non-trivial.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Enable this selector at the given offset within the given …","Enables this fixed column to be used for global constant …","Enable the ability to enforce equality over cells in this …","Enables a selector at the given row.","Creates a new region and enters into it.","","","","","","","","Evaluates this assigned value directly, performing an …","Evaluate the polynomial using the provided closures to …","Exits the current region.","Allocate a new fixed column","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Get the underlying EvaluationDomain.","Get the underlying VerifyingKey.","","","","","","","Hashes a verification key into a transcript.","","","","","","","","","","","","","","","","","Allocate a new instance column","","","","","","","","","","","","","","","","","Inverts this assigned value.","Is this selector “simple”? Simple selectors can only …","Generate a ProvingKey from a VerifyingKey and an instance …","Generate a VerifyingKey from an instance of Circuit.","Add a lookup argument for some input expressions and …","Returns the minimum necessary rows that need to exist in …","","","","","","","","","Returns the numerator.","","Obtain a pinned version of this constraint system; a …","Obtains a pinned representation of this verification key …","Exits out of the existing namespace.","Creates a new (sub)namespace and enters into it.","Query an advice column at a relative position","Query an Any column at a relative position","Query a fixed column at a relative position","Queries the cell of an instance column at a particular …","Query an instance column at a relative position","Query a selector at the current position.","Reads a verification key from a buffer.","Allocate a new (simple) selector. Simple selectors cannot …","Sets the minimum degree required by the circuit, which …","Square this expression.","","","","Given the provided cs, synthesize the given circuit.","Given the provided cs, synthesize the circuit. The …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns a boolean indicating whether or not the proof is …","","","","","","","","","","","","","","","","","Returns a copy of this circuit with no witness values …","Writes a verifying key to a buffer.","Column index","Column index","Column index","Query index","Query index","Query index","Rotation of this query","Rotation of this query","Rotation of this query","","The basis over which a polynomial is described.","The polynomial is defined as coefficients","This is an error that could occur during proving or …","This structure contains precomputed constants and other …","The polynomial is defined as coefficients of Lagrange …","The polynomial is defined as coefficients of Lagrange …","OpeningProof is not well-formed","Represents the minimal parameters that determine an …","Represents a univariate polynomial defined over a field …","Describes the relative rotation of a vector. Negative …","Caller needs to re-sample a point","","Add two polynomials in the extended domain, rotating the …","","","","","","","","","","","","","","","","","","","","","","","","","","","Obtains a polynomial in coefficient form when given a …","This takes us from an n-length coefficient vector into a …","This module contains an implementation of the polynomial …","Returns a constant polynomial in the extended Lagrange …","Returns a constant polynomial in the Lagrange coefficient …","The current location in the evaluation domain","","","","","","","","","","","","","","","","","","","","This divides the polynomial (in the extended domain) by …","","","","","","","","","Returns an empty (zero) polynomial in the coefficient …","Returns an empty (zero) polynomial in the extended …","Returns an empty (zero) polynomial in the Lagrange …","","Get the size of the extended domain","This takes us from the extended evaluation domain and …","","","","","","","","","","","","","","","","","Get the generator of the extended domain’s …","Get $\\\\omega$, the generator of the $2^k$ order …","Get $\\\\omega^{-1}$, the inverse of the generator of the …","Gets the quotient polynomial’s degree (as a multiple of …","","","","","","","","","","","","","","","","","","","","","","","Iterate over the values, which are either in coefficient …","Iterate over the values mutably, which are either in …","Computes evaluations (at the point x, where xn = x^n) of …","Obtains a polynomial in Lagrange form when given a vector …","This takes us from an n-length vector into the …","","","Multiply two polynomials in the extended domain, rotating …","This module contains an optimisation of the polynomial …","","","This constructs a new evaluation domain object based on …","The next location in the evaluation domain","Gets the size of this polynomial in terms of the number of…","Maps every coefficient c in p to 1 - c.","Obtain a pinned version of this evaluation domain; a …","The previous location in the evaluation domain","Rotates the values in a Lagrange basis polynomial by …","Rotate the extended domain polynomial over the original …","Multiplies a value by some power of $\\\\omega$, essentially …","","Subtract a polynomial from another in the extended …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","An accumulator instance consisting of an evaluation claim …","Wrapper type around a blinding factor.","A guard returned by the verifier","A multiscalar multiplication in the polynomial commitment …","These are the public parameters for the polynomial …","","","","Add a value to the first entry of g_scalars.","Add another multiexp into this one","Add a vector of scalars to g_scalars. This function will …","Add to h_scalar","Add to u_scalar","Add arbitrary term (the scalar and the point)","","","","","","","","","","","A vector of 128-bit challenges sampled by the verifier, …","","","","","","","","","This computes a commitment to a polynomial described by …","This commits to a polynomial using its evaluations over …","Computes G + H, where G = ⟨s, params.g⟩ and H is used …","Create a polynomial commitment opening proof for the …","","","","","","","","","","","","","","","","","Generates an empty multiscalar multiplication struct …","","Perform multiexp and check that it results in zero","","","","","","","","","","","The claimed output of the linear-time polycommit opening …","Getter for g generators","","","","","","","","","","","","","","","Create a new, empty MSM using the provided parameters.","Initializes parameters for the curve, given a random …","Reads params from a buffer.","Scale all scalars in the MSM by some scaling factor","","","","","","","","","","","","","","","","","","","","Lets caller supply the challenges and obtain an MSM with …","Lets caller supply the purported G point and simply …","Checks to see if the proof represented within transcript …","","","","","","Writes params to a buffer.","A polynomial query at a point","A polynomial query at a point","blinding factor of polynomial","","","","","","","","","Create a multi-opening proof","","","","","","","","","","","","","","","Create a new verifier query based on a commitment","Create a new verifier query based on a linear combination …","point at which polynomial is queried","coefficients of polynomial","","","","","","","","","Verify a multi-opening proof","","","We will replace BLAKE2b with an algebraic hash function …","We will replace BLAKE2b with an algebraic hash function …","A 255-bit challenge.","The scalar representation of a verifier challenge.","EncodedChallenge<C> defines a challenge encoding with a …","The Input type used to derive the challenge encoding. For …","Generic transcript view (from either the prover or …","Transcript view from the perspective of a verifier that …","Transcript view from the perspective of a prover that has …","Cast an encoded challenge as a typed ChallengeScalar.","","","","","","","","","","","","","","","","","Writing the point to the transcript without writing it to …","","","Writing the scalar to the transcript without writing it …","","","","","","","","","","","","","","","","","Conclude the interaction and return the output buffer …","","","","","","","","","Get a scalar field element from an encoded challenge.","","","Initialize a transcript given an input buffer.","Initialize a transcript given an output buffer.","","","","","","","","Get an encoded challenge from a given input challenge.","","Read a curve point from the prover.","","Read a curve scalar from the prover.","","Squeeze an encoded verifier challenge from the transcript.","","","Squeeze a typed challenge (in the scalar field) from the …","","","","","","","","","","","","","","","","","","","","","Write a curve point to the proof and the transcript.","","Write a scalar to the proof and the transcript.",""],"i":[0,0,0,0,0,0,1,1,2,0,1,0,0,0,2,3,0,0,0,0,3,3,3,3,3,4,1,2,0,3,3,3,1,2,1,2,5,3,0,0,6,7,6,7,6,6,0,6,2,3,8,8,6,6,7,6,7,8,8,6,7,1,0,6,7,6,7,3,3,3,3,2,3,3,4,4,4,4,1,6,7,6,7,8,8,1,2,8,8,1,0,0,7,1,8,8,0,3,3,8,8,3,8,8,2,3,0,8,8,3,7,3,7,8,8,3,6,6,7,6,7,6,7,6,6,6,7,2,3,6,6,8,8,0,0,9,0,9,0,0,0,0,10,0,11,11,11,11,10,12,13,14,15,16,11,12,13,14,15,16,11,12,14,15,16,14,15,16,9,11,11,10,12,13,14,14,15,15,16,11,12,13,14,15,16,11,12,13,14,15,16,11,12,12,15,0,13,14,15,16,11,12,13,14,14,15,15,16,11,11,12,10,12,13,14,15,16,11,12,13,14,15,16,11,12,0,9,10,15,10,12,10,12,13,14,15,16,13,14,15,16,11,12,13,14,15,16,11,12,13,14,15,16,11,12,13,14,15,16,11,12,0,0,17,18,17,18,17,17,18,17,18,17,18,17,18,17,18,17,17,18,17,18,17,17,17,18,18,17,18,17,18,17,18,17,19,0,0,0,19,20,21,20,21,20,21,20,21,21,19,21,19,21,19,21,19,19,21,20,21,20,21,21,19,21,19,21,19,20,21,19,21,19,21,19,19,19,19,21,19,21,19,19,21,19,21,21,21,19,21,19,21,19,21,19,21,19,22,0,22,22,22,0,22,0,23,23,24,22,23,24,22,23,24,23,0,24,22,23,24,22,23,24,22,23,23,23,22,23,24,24,22,22,23,24,22,23,24,22,23,24,22,23,0,22,23,23,23,23,24,22,24,22,23,24,22,23,24,22,23,23,24,22,23,25,26,27,28,25,29,25,25,27,29,26,0,0,0,30,31,32,30,31,32,30,31,32,30,31,32,30,31,32,30,31,32,30,31,32,30,31,32,30,31,32,30,30,30,30,31,32,30,31,32,30,31,32,30,31,32,0,0,0,0,33,34,35,36,33,34,35,36,33,34,35,36,33,34,35,36,33,34,35,36,33,34,35,36,33,33,34,34,35,35,36,36,33,33,33,34,34,35,35,36,36,33,34,35,36,33,34,35,36,33,34,35,36,33,34,35,36,33,34,35,36,33,34,35,36,33,34,35,36,33,34,35,36,0,37,38,0,0,0,39,0,0,0,40,38,0,0,39,0,0,0,37,38,0,40,39,0,37,38,39,38,39,39,39,0,0,38,0,41,38,0,38,38,39,39,41,0,0,41,41,41,38,42,43,43,42,44,45,46,47,37,48,41,38,49,42,50,51,52,53,54,39,44,45,46,47,37,48,41,38,49,42,50,51,52,53,54,39,44,45,46,47,37,48,41,38,42,44,45,46,47,37,48,41,38,42,44,42,40,43,42,0,42,38,42,41,44,45,46,47,37,48,41,38,49,42,50,51,52,53,54,39,44,45,46,47,37,48,41,38,49,42,50,51,52,53,54,39,44,45,46,47,37,48,41,38,49,42,50,51,52,53,54,39,48,42,42,43,43,44,45,46,47,37,48,39,41,38,43,42,44,45,46,47,37,48,41,38,49,42,50,51,52,53,54,39,44,44,44,44,45,46,47,37,37,37,37,48,41,41,41,38,49,49,49,42,50,51,52,53,54,39,52,54,44,45,46,47,37,48,52,44,45,46,47,37,48,41,38,49,42,50,51,52,53,54,39,42,44,45,46,47,37,48,41,38,49,42,50,51,52,53,54,39,41,48,0,0,42,42,41,41,38,38,44,48,41,38,41,44,42,52,43,43,51,51,51,43,51,51,52,42,42,38,41,41,38,55,40,44,45,46,47,37,48,41,38,42,44,44,44,44,45,46,47,37,48,41,38,49,42,50,51,52,53,54,39,44,45,46,47,37,48,41,38,49,42,50,51,52,53,54,39,44,45,46,47,37,48,41,38,49,42,50,51,52,53,54,39,0,44,45,46,47,37,48,41,38,49,42,50,51,52,53,54,39,40,52,56,57,58,56,57,58,56,57,58,59,0,0,0,0,0,0,60,0,0,0,60,61,62,62,63,60,64,65,66,61,59,62,63,60,64,65,66,61,59,64,65,66,61,59,64,65,66,61,59,62,62,0,62,62,59,59,62,63,60,64,65,66,61,61,59,62,63,60,64,65,66,61,61,59,62,62,63,60,64,65,66,61,59,62,62,62,59,62,62,62,63,60,64,65,66,61,59,62,63,60,64,65,66,61,59,62,62,62,62,61,61,61,61,61,61,62,63,60,64,65,66,61,59,62,63,60,64,65,66,61,59,61,61,62,62,62,61,61,62,0,59,61,62,59,61,61,62,59,61,62,62,61,62,64,65,66,61,59,62,63,60,64,65,66,61,59,62,63,60,64,65,66,61,59,62,63,60,64,65,66,61,59,62,63,60,64,65,66,61,59,67,0,0,0,0,0,67,67,67,68,68,68,68,68,68,68,69,70,71,67,68,69,70,71,67,70,68,69,70,67,68,69,70,67,71,71,69,0,67,68,69,70,71,67,68,69,70,71,67,68,69,70,71,67,71,67,68,68,69,70,71,67,68,69,70,71,67,70,71,68,69,70,71,67,68,69,70,71,67,67,67,67,67,68,71,71,68,68,69,70,67,68,69,70,71,67,68,69,70,71,67,68,69,70,71,67,69,69,0,68,69,70,71,67,71,0,0,72,72,73,72,73,72,73,72,73,0,72,73,72,73,72,73,72,73,72,73,72,73,72,73,73,73,72,72,72,73,72,73,72,73,72,73,0,72,73,0,0,0,0,0,74,0,0,0,74,75,76,77,78,75,76,77,78,75,76,77,78,75,76,77,78,79,75,76,79,75,76,75,76,77,77,78,78,75,76,77,78,75,76,77,78,76,75,76,77,78,75,76,77,78,74,78,75,75,76,76,77,78,75,76,77,78,74,78,80,75,80,75,79,75,76,79,75,76,77,78,75,76,77,78,75,76,77,78,75,76,77,78,75,76,77,78,81,76,81,76],"f":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[["u32",15]]],[[]],[[]],[[]],[[]],[[]],[[],["coordinates",3]],[[]],[[],["field",8]],[[["coordinates",3],["choice",3]],["coordinates",3]],[[],[["ctoption",3,["coordinates"]],["coordinates",3]]],[[],["choice",3]],[[]],[[]],[[],["coordinates",3]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[["usize",15]]],[[["usize",15]]],[[]],[[["field",8]],["field",8]],[[["formatter",3]],[["error",3],["result",4,["error"]]]],[[["formatter",3]],[["error",3],["result",4,["error"]]]],[[]],[[]],[[],["ctoption",3]],[[]],[[["u128",15]]],[[["u64",15]]],[[],["ctoption",3]],[[],["u128",15]],[[],["u32",15]],[[]],[[]],[[]],[[]],[[["str",15]],[["box",3,["fn","global"]],["global",3],["fn",8]]],[[],["usize",15]],[[],["usize",15]],[[]],[[]],[[],["ctoption",3]],[[],["ctoption",3]],[[],["choice",3]],[[],["choice",3]],[[],["bool",15]],[[],["bool",15]],[[]],[[["field",8],["intoiterator",8]],[["vec",3],["field",8]]],[[],[["vec",3],["fieldext",8]]],[[["usize",15],["u32",15]],["sqrttables",3]],[[],["ctoption",3]],[[]],[[]],[[["fn",8],["send",8],["clone",8],["sync",8]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],[["error",3],["result",4,["error"]]]],[[],[["error",3],["result",4,["error"]]]],[[]],[[],["ctoption",3]],[[],["ctoption",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[]],[[]],[[]],[[]],[[],[["result",4,["error"]],["error",3]]],[[],[["result",4,["error"]],["error",3]]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,[[["column",3,["advice"]],["advice",3],["usize",15]],[["cell",3],["error",4],["result",4,["cell","error"]]]],[[["column",3,["advice"]],["advice",3],["usize",15]],[["cell",3],["error",4],["result",4,["cell","error"]]]],[[["usize",15],["column",3,["advice"]],["column",3,["instance"]],["advice",3],["instance",3]],[["error",4],["result",4,["error"]]]],[[["usize",15],["fixed",3],["column",3,["fixed"]]],[["cell",3],["error",4],["result",4,["cell","error"]]]],[[],[["result",4,["error"]],["error",4]]],[[],[["result",4,["error"]],["error",4]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["regionindex",3]],[[],["regionstart",3]],[[],["cell",3]],[[]],[[]],[[]],[[]],[[["cell",3]],[["error",4],["result",4,["error"]]]],[[["cell",3]],[["error",4],["result",4,["error"]]]],[[["usize",15],["column",3,["instance"]],["cell",3],["instance",3]],[["error",4],["result",4,["error"]]]],[[["usize",15],["column",3,["instance"]],["cell",3],["instance",3]],[["error",4],["result",4,["error"]]]],[[["usize",15]]],[[]],[[["usize",15]]],[[]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[["usize",15]]],[[["regionstart",3]],["bool",15]],null,[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[["usize",15]],["regionindex",3]],[[]],[[]],[[["usize",15]],["regionstart",3]],[[]],[[]],[[["regionlayouter",8]]],[[]],[[]],[[]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[]],[[]],[[]],[[]],[[]],[[]],null,[[]],[[],["namespacedlayouter",3]],[[["regionstart",3]],["bool",15]],[[["option",4,["string"]],["string",3]]],[[["option",4,["string"]],["string",3]]],[[]],[[]],[[["vec",3,["column"]],["column",3,["fixed"]]],[["error",4],["result",4,["error"]]]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,[[],[["result",4,["error"]],["error",4]]],[[]],[[]],[[]],[[]],[[["usize",15],["column",3,["instance"]],["cell",3],["instance",3]],[["error",4],["result",4,["error"]]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[],["usize",15]],[[],["usize",15]],[[]],[[]],[[["option",4,["string"]],["string",3]]],[[]],[[["vec",3,["column"]],["column",3,["fixed"]]],[["error",4],["result",4,["error"]]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[]],[[]],null,null,null,null,null,[[["column",3,["advice"]],["usize",15],["fnmut",8],["advice",3],["fn",8]],[["cell",3],["error",4],["result",4,["cell","error"]]]],[[["column",3,["advice"]],["usize",15],["fnmut",8],["advice",3],["fn",8]],[["cell",3],["error",4],["result",4,["cell","error"]]]],[[["column",3,["advice"]],["usize",15],["assigned",4],["advice",3],["fn",8]],[["cell",3],["error",4],["result",4,["cell","error"]]]],[[["column",3,["advice"]],["usize",15],["assigned",4],["advice",3],["fn",8]],[["cell",3],["error",4],["result",4,["cell","error"]]]],[[["usize",15],["column",3,["advice"]],["column",3,["instance"]],["advice",3],["instance",3],["fn",8]],[["error",4],["result",4,["error"]]]],[[["usize",15],["column",3,["advice"]],["column",3,["instance"]],["advice",3],["instance",3],["fn",8]],[["error",4],["result",4,["error"]]]],[[["usize",15],["fixed",3],["column",3,["fixed"]],["fnmut",8],["fn",8]],[["cell",3],["error",4],["result",4,["cell","error"]]]],[[["usize",15],["fixed",3],["column",3,["fixed"]],["fnmut",8],["fn",8]],[["cell",3],["error",4],["result",4,["cell","error"]]]],[[]],[[]],[[]],[[]],[[],["regionshape",3]],[[],["regioncolumn",4]],[[]],[[]],[[],["ordering",4]],[[],["hashset",3]],[[["cell",3],["assigned",4]],[["error",4],["result",4,["error"]]]],[[["cell",3],["assigned",4]],[["error",4],["result",4,["error"]]]],[[["cell",3]],[["error",4],["result",4,["error"]]]],[[["cell",3]],[["error",4],["result",4,["error"]]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15],["selector",3],["fn",8]],[["error",4],["result",4,["error"]]]],[[["usize",15],["selector",3],["fn",8]],[["error",4],["result",4,["error"]]]],[[["regioncolumn",4]],["bool",15]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[["selector",3]],["regioncolumn",4]],[[["any",4],["column",3,["any"]]],["regioncolumn",4]],[[]],[[],["usize",15]],[[],["usize",15]],[[]],[[]],[[["regioncolumn",4]],["bool",15]],[[["regionindex",3]]],[[],[["ordering",4],["option",4,["ordering"]]]],[[],["regionindex",3]],[[],["usize",15]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[]],[[]],null,null,null,null,null,null,null,null,[[["column",3,["advice"]],["advice",3],["usize",15]],[["error",4],["result",4,["error"]]]],[[["usize",15],["fixed",3],["column",3,["fixed"]]],[["error",4],["result",4,["error"]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["usize",15],["any",4],["column",3,["any"]]],[["error",4],["result",4,["error"]]]],null,[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15],["selector",3]],[["error",4],["result",4,["error"]]]],[[]],[[["verifyfailure",4]],["bool",15]],[[]],[[["formatter",3]],[["result",4,["error"]],["error",3]]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[]],[[]],[[]],null,[[["verifyfailure",4]],["bool",15]],[[["option",4,["string"]],["string",3]]],[[]],[[["usize",15],["instance",3],["column",3,["instance"]]],[["result",4,["option","error"]],["option",4],["error",4]]],[[["vec",3],["u32",15],["vec",3,["vec"]]],[["error",4],["result",4,["error"]]]],[[],["string",3]],[[],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],[["vec",3,["verifyfailure"]],["result",4,["vec"]]]],[[]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[]],[[]],[[]],[[],["marginalproofsize",3]],[[["usize",15]]],[[["usize",15]],["proofsize",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[]],[[]],[[]],null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["column",3]],["bool",15]],[[["gate",3]],["bool",15]],[[["constraint",3]],["bool",15]],[[["region",3]],["bool",15]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["any",4],["column",3,["any"]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[]],[[]],[[]],[[]],[[["column",3]],["bool",15]],[[["gate",3]],["bool",15]],[[["constraint",3]],["bool",15]],[[["region",3]],["bool",15]],[[],["string",3]],[[],["string",3]],[[],["string",3]],[[],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[],["assigned",4]],[[["assigned",4]],["assigned",4]],[[["expression",4]],["expression",4]],[[],[["column",3,["advice"]],["advice",3]]],[[["column",3,["advice"]],["advice",3],["usize",15]],[["error",4],["result",4,["error"]]]],[[["usize",15],["fixed",3],["column",3,["fixed"]]],[["error",4],["result",4,["error"]]]],[[],["usize",15]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["column",3]],[[],["advice",3]],[[],["fixed",3]],[[],["instance",3]],[[],["any",4]],[[],["selector",3]],[[],["assigned",4]],[[],["expression",4]],[[],["constraintsystem",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["ordering",4]],[[],["selector",3]],[[["constraintsystem",3]]],[[["usize",15],["any",4],["column",3,["any"]]],[["error",4],["result",4,["error"]]]],[[["str",15]]],[[["provingkey",3],["params",3]],[["error",4],["result",4,["error"]]]],[[],["constraintsystem",3]],[[],["usize",15]],[[],["usize",15]],[[],["option",4]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15],["region",3]],[["error",4],["result",4,["error"]]]],[[["fixed",3],["column",3,["fixed"]]]],[[["any",4],["column",3,["any"]]]],[[["usize",15],["selector",3]],[["error",4],["result",4,["error"]]]],[[]],[[["column",3]],["bool",15]],[[["advice",3]],["bool",15]],[[["fixed",3]],["bool",15]],[[["instance",3]],["bool",15]],[[["any",4]],["bool",15]],[[["selector",3]],["bool",15]],[[["error",4]],["bool",15]],[[]],[[]],[[]],[[],[["fixed",3],["column",3,["fixed"]]]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[["instance",3],["column",3,["instance"]]],[["any",4],["column",3,["any"]]]],[[["fixed",3],["column",3,["fixed"]]],[["any",4],["column",3,["any"]]]],[[["column",3,["advice"]],["advice",3]],[["any",4],["column",3,["any"]]]],[[]],[[]],[[]],[[]],[[["instance",3]],["any",4]],[[["fixed",3]],["any",4]],[[["advice",3]],["any",4]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["expression",4]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["evaluationdomain",3]],[[],["verifyingkey",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",6]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],[["instance",3],["column",3,["instance"]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["bool",15]],[[["params",3],["verifyingkey",3]],[["result",4,["provingkey","error"]],["provingkey",3],["error",4]]],[[["params",3]],[["result",4,["verifyingkey","error"]],["verifyingkey",3],["error",4]]],[[],["usize",15]],[[],["usize",15]],[[["assigned",4]],["assigned",4]],[[],["assigned",4]],[[["expression",4]],["expression",4]],[[],["expression",4]],[[["column",3]],["bool",15]],[[["selector",3]],["bool",15]],[[]],[[]],[[]],[[],[["ordering",4],["option",4,["ordering"]]]],[[],["pinnedconstraintsystem",3]],[[],["pinnedverificationkey",3]],[[["option",4,["string"]],["string",3]]],[[]],[[["column",3,["advice"]],["advice",3],["rotation",3]],["expression",4]],[[["any",4],["column",3,["any"]],["rotation",3]],["expression",4]],[[["fixed",3],["column",3,["fixed"]],["rotation",3]],["expression",4]],[[["usize",15],["instance",3],["column",3,["instance"]]],[["result",4,["option","error"]],["option",4],["error",4]]],[[["rotation",3],["instance",3],["column",3,["instance"]]],["expression",4]],[[["selector",3]],["expression",4]],[[["params",3]],["result",6]],[[],["selector",3]],[[["usize",15]]],[[]],[[],["assigned",4]],[[["assigned",4]],["assigned",4]],[[["expression",4]],["expression",4]],[[["vec",3,["column"]],["column",3,["fixed"]]],[["error",4],["result",4,["error"]]]],[[],[["error",4],["result",4,["error"]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["any",4],["column",3,["any"]]],["result",4]],[[["any",4],["column",3,["any"]]],["result",4]],[[],["result",4]],[[["any",4],["column",3,["any"]]],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[["curveaffine",8],["msm",3],["params",3],["verifyingkey",3]],[["result",4,["guard","error"]],["guard",3],["error",4]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",6]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["polynomial",3]],["polynomial",3]],[[["polynomial",3,["extendedlagrangecoeff"]],["extendedlagrangecoeff",3],["rotation",3],["polynomial",3]],[["polynomial",3,["extendedlagrangecoeff"]],["extendedlagrangecoeff",3]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["coeff",3]],[[],["lagrangecoeff",3]],[[],["extendedlagrangecoeff",3]],[[],["polynomial",3]],[[],["rotation",3]],[[]],[[]],[[]],[[]],[[]],[[["vec",3]],[["polynomial",3,["coeff"]],["coeff",3]]],[[["polynomial",3,["coeff"]],["coeff",3]],[["polynomial",3,["extendedlagrangecoeff"]],["extendedlagrangecoeff",3]]],null,[[],[["polynomial",3,["extendedlagrangecoeff"]],["extendedlagrangecoeff",3]]],[[],[["polynomial",3,["lagrangecoeff"]],["lagrangecoeff",3]]],[[],["rotation",3]],[[],["rotation",3]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[["usize",15]]],[[["usize",15]]],[[["polynomial",3,["extendedlagrangecoeff"]],["extendedlagrangecoeff",3]],[["polynomial",3,["extendedlagrangecoeff"]],["extendedlagrangecoeff",3]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[],[["polynomial",3,["coeff"]],["coeff",3]]],[[],[["polynomial",3,["extendedlagrangecoeff"]],["extendedlagrangecoeff",3]]],[[],[["polynomial",3,["lagrangecoeff"]],["lagrangecoeff",3]]],[[["rotation",3]],["bool",15]],[[],["usize",15]],[[["polynomial",3,["extendedlagrangecoeff"]],["extendedlagrangecoeff",3]],["vec",3]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["usize",15]],[[["usize",15]]],[[["rangefrom",3,["usize"]],["usize",15]]],[[["rangefull",3]]],[[["rangefrom",3,["usize"]],["usize",15]]],[[["rangefull",3]]],[[["usize",15]]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["intoiterator",8],["clone",8]],["vec",3]],[[["vec",3]],[["polynomial",3,["lagrangecoeff"]],["lagrangecoeff",3]]],[[["polynomial",3,["lagrangecoeff"]],["lagrangecoeff",3]],[["polynomial",3,["coeff"]],["coeff",3]]],[[],["polynomial",3]],[[["polynomial",3]],[["extendedlagrangecoeff",3],["polynomial",3,["extendedlagrangecoeff"]]]],[[["polynomial",3,["extendedlagrangecoeff"]],["extendedlagrangecoeff",3],["rotation",3],["polynomial",3]],[["polynomial",3,["extendedlagrangecoeff"]],["extendedlagrangecoeff",3]]],null,[[["rotation",3]],["bool",15]],[[],["polynomial",3]],[[["u32",15]]],[[],["rotation",3]],[[],["usize",15]],[[]],[[],["pinnedevaluationdomain",3]],[[],["rotation",3]],[[["rotation",3]],[["lagrangecoeff",3],["polynomial",3,["lagrangecoeff"]]]],[[["rotation",3],["polynomial",3]],[["polynomial",3,["extendedlagrangecoeff"]],["extendedlagrangecoeff",3]]],[[["rotation",3]]],[[["polynomial",3]],["polynomial",3]],[[["polynomial",3,["extendedlagrangecoeff"]],["extendedlagrangecoeff",3],["rotation",3],["polynomial",3]],[["polynomial",3,["extendedlagrangecoeff"]],["extendedlagrangecoeff",3]]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,[[["blind",3]]],[[]],[[["blind",3]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,[[],["msm",3]],[[],["guard",3]],[[],["accumulator",3]],[[],["blind",3]],[[]],[[]],[[]],[[]],[[["polynomial",3],["blind",3]]],[[["polynomial",3],["blind",3]]],[[]],[[["params",3],["polynomial",3],["blind",3]],["result",6]],[[]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[],["msm",3]],[[["blind",3]],["bool",15]],[[],["bool",15]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],null,[[],["vec",3]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[]],[[]],[[]],[[]],[[]],[[["blind",3]]],[[]],[[["blind",3]]],[[["blind",3]],["bool",15]],[[["params",3]]],[[["u32",15]]],[[],["result",6]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["msm",3]],[[]],[[["params",3],["msm",3],["curveaffine",8]],[["result",4,["guard","error"]],["guard",3],["error",4]]],[[]],[[]],[[]],[[]],[[]],[[],["result",6]],null,null,null,[[]],[[]],[[]],[[]],[[],["proverquery",3]],[[],["verifierquery",3]],[[]],[[]],[[["params",3]],["result",6]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[],["usize",15]],[[],["usize",15]],[[]],[[]],[[]],[[["msm",3]]],null,null,[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[["msm",3],["params",3],["curveaffine",8]],[["error",4],["guard",3],["result",4,["guard","error"]]]],[[]],[[]],null,null,null,null,null,null,null,null,null,[[],["challengescalar",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["blake2bread",3]],[[],["blake2bwrite",3]],[[],["challengescalar",3]],[[],["challenge255",3]],[[]],[[]],[[]],[[]],[[],["result",6]],[[],["result",6]],[[],["result",6]],[[],["result",6]],[[],["result",6]],[[],["result",6]],[[["usize",15]]],[[["usize",15]]],[[]],[[["usize",15]]],[[]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["usize",15]],[[]],[[]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",6]],[[],["result",6]],[[],["result",6]],[[],["result",6]],[[]],[[],["challenge255",3]],[[],["challenge255",3]],[[],["challengescalar",3]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[],["typeid",3]],[[]],[[]],[[]],[[]],[[],["result",6]],[[],["result",6]],[[],["result",6]],[[],["result",6]]],"p":[[8,"CurveExt"],[8,"CurveAffine"],[8,"FieldExt"],[8,"Group"],[8,"BatchInvert"],[3,"Coordinates"],[3,"SqrtTables"],[8,"Field"],[8,"Chip"],[8,"Layouter"],[3,"Region"],[3,"NamespacedLayouter"],[3,"SimpleFloorPlanner"],[3,"RegionIndex"],[3,"RegionStart"],[3,"Cell"],[3,"V1Pass"],[3,"V1"],[4,"RegionColumn"],[8,"RegionLayouter"],[3,"RegionShape"],[4,"VerifyFailure"],[3,"MockProver"],[3,"CircuitGates"],[13,"Cell"],[13,"Permutation"],[13,"ConstraintNotSatisfied"],[13,"ConstraintPoisoned"],[13,"Lookup"],[3,"CircuitCost"],[3,"MarginalProofSize"],[3,"ProofSize"],[3,"Column"],[3,"Gate"],[3,"Constraint"],[3,"Region"],[4,"Any"],[4,"Expression"],[4,"Error"],[8,"Circuit"],[4,"Assigned"],[3,"ConstraintSystem"],[8,"Assignment"],[3,"Column"],[3,"Advice"],[3,"Fixed"],[3,"Instance"],[3,"Selector"],[3,"Constraint"],[3,"PinnedConstraintSystem"],[3,"VirtualCells"],[3,"VerifyingKey"],[3,"PinnedVerificationKey"],[3,"ProvingKey"],[8,"FloorPlanner"],[13,"Fixed"],[13,"Advice"],[13,"Instance"],[3,"Rotation"],[4,"Error"],[3,"Polynomial"],[3,"EvaluationDomain"],[3,"PinnedEvaluationDomain"],[3,"Coeff"],[3,"LagrangeCoeff"],[3,"ExtendedLagrangeCoeff"],[3,"Blind"],[3,"MSM"],[3,"Guard"],[3,"Accumulator"],[3,"Params"],[3,"ProverQuery"],[3,"VerifierQuery"],[8,"EncodedChallenge"],[3,"Blake2bRead"],[3,"Blake2bWrite"],[3,"ChallengeScalar"],[3,"Challenge255"],[8,"Transcript"],[8,"TranscriptRead"],[8,"TranscriptWrite"]]}\ }'); if (window.initSearch) {window.initSearch(searchIndex)}; \ No newline at end of file diff --git a/rustdoc/latest/source-files.js b/rustdoc/latest/source-files.js index f0611d16..8963e4b5 100644 --- a/rustdoc/latest/source-files.js +++ b/rustdoc/latest/source-files.js @@ -1,3 +1,3 @@ var N = null;var sourcesIndex = {}; -sourcesIndex["halo2"] = {"name":"","dirs":[{"name":"circuit","dirs":[{"name":"floor_planner","dirs":[{"name":"v1","files":["strategy.rs"]}],"files":["single_pass.rs","v1.rs"]}],"files":["floor_planner.rs","layouter.rs"]},{"name":"dev","files":["cost.rs","metadata.rs"]},{"name":"plonk","dirs":[{"name":"circuit","files":["compress_selectors.rs"]},{"name":"lookup","files":["prover.rs","verifier.rs"]},{"name":"permutation","files":["keygen.rs","prover.rs","verifier.rs"]},{"name":"vanishing","files":["prover.rs","verifier.rs"]}],"files":["circuit.rs","keygen.rs","lookup.rs","permutation.rs","prover.rs","vanishing.rs","verifier.rs"]},{"name":"poly","dirs":[{"name":"commitment","files":["msm.rs","prover.rs","verifier.rs"]},{"name":"multiopen","files":["prover.rs","verifier.rs"]}],"files":["commitment.rs","domain.rs","multiopen.rs"]}],"files":["arithmetic.rs","circuit.rs","dev.rs","lib.rs","multicore.rs","plonk.rs","poly.rs","transcript.rs"]}; +sourcesIndex["halo2"] = {"name":"","dirs":[{"name":"circuit","dirs":[{"name":"floor_planner","dirs":[{"name":"v1","files":["strategy.rs"]}],"files":["single_pass.rs","v1.rs"]}],"files":["floor_planner.rs","layouter.rs"]},{"name":"dev","files":["cost.rs","gates.rs","metadata.rs"]},{"name":"plonk","dirs":[{"name":"circuit","files":["compress_selectors.rs"]},{"name":"lookup","files":["prover.rs","verifier.rs"]},{"name":"permutation","files":["keygen.rs","prover.rs","verifier.rs"]},{"name":"vanishing","files":["prover.rs","verifier.rs"]}],"files":["circuit.rs","keygen.rs","lookup.rs","permutation.rs","prover.rs","vanishing.rs","verifier.rs"]},{"name":"poly","dirs":[{"name":"commitment","files":["msm.rs","prover.rs","verifier.rs"]},{"name":"multiopen","files":["prover.rs","verifier.rs"]}],"files":["commitment.rs","domain.rs","multiopen.rs"]}],"files":["arithmetic.rs","circuit.rs","dev.rs","lib.rs","multicore.rs","plonk.rs","poly.rs","transcript.rs"]}; createSourceSidebar(); diff --git a/rustdoc/latest/src/halo2/dev.rs.html b/rustdoc/latest/src/halo2/dev.rs.html index ca948455..3cf5bf49 100644 --- a/rustdoc/latest/src/halo2/dev.rs.html +++ b/rustdoc/latest/src/halo2/dev.rs.html @@ -931,6 +931,9 @@ 916 917 918 +919 +920 +921
 //! Tools for developing circuits.
 
@@ -956,6 +959,9 @@
 pub mod cost;
 pub use cost::CircuitCost;
 
+mod gates;
+pub use gates::CircuitGates;
+
 #[cfg(feature = "dev-graph")]
 mod graph;
 
diff --git a/rustdoc/latest/src/halo2/dev/cost.rs.html b/rustdoc/latest/src/halo2/dev/cost.rs.html
index 38459e44..54bd5b53 100644
--- a/rustdoc/latest/src/halo2/dev/cost.rs.html
+++ b/rustdoc/latest/src/halo2/dev/cost.rs.html
@@ -322,6 +322,65 @@
 307
 308
 309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
 
 //! Developer tools for investigating the cost of a circuit.
 
@@ -329,6 +388,7 @@
     collections::{HashMap, HashSet},
     iter,
     marker::PhantomData,
+    ops::{Add, Mul},
 };
 
 use ff::{Field, PrimeField};
@@ -527,39 +587,53 @@
         (self.permutation_cols + chunk_size - 1) / chunk_size
     }
 
-    /// Returns the proof size for the given number of instances of this circuit.
-    pub fn proof_size(&self, instances: usize) -> ProofSize<G> {
+    /// Returns the marginal proof size per instance of this circuit.
+    pub fn marginal_proof_size(&self) -> MarginalProofSize<G> {
         let chunks = self.permutation_chunks();
 
-        ProofSize {
+        MarginalProofSize {
             // Cells:
             // - 1 commitment per advice column per instance
             // - 1 eval per instance column query per instance
             // - 1 eval per advice column query per instance
-            // - 1 eval per fixed column query
-            instance: ProofContribution::new(0, self.instance_queries * instances),
-            advice: ProofContribution::new(
-                self.advice_columns * instances,
-                self.advice_queries * instances,
-            ),
-            fixed: ProofContribution::new(0, self.fixed_queries),
+            instance: ProofContribution::new(0, self.instance_queries),
+            advice: ProofContribution::new(self.advice_columns, self.advice_queries),
 
             // Lookup arguments:
             // - 3 commitments per lookup argument per instance
             // - 5 evals per lookup argument per instance
-            lookups: ProofContribution::new(
-                3 * self.lookups * instances,
-                5 * self.lookups * instances,
-            ),
+            lookups: ProofContribution::new(3 * self.lookups, 5 * self.lookups),
 
             // Global permutation argument:
             // - chunks commitments per instance
             // - 2*chunks + (chunks - 1) evals per instance
+            equality: ProofContribution::new(chunks, 3 * chunks - 1),
+
+            _marker: PhantomData::default(),
+        }
+    }
+
+    /// Returns the proof size for the given number of instances of this circuit.
+    pub fn proof_size(&self, instances: usize) -> ProofSize<G> {
+        let marginal = self.marginal_proof_size();
+
+        ProofSize {
+            // Cells:
+            // - marginal cost per instance
+            // - 1 eval per fixed column query
+            instance: marginal.instance * instances,
+            advice: marginal.advice * instances,
+            fixed: ProofContribution::new(0, self.fixed_queries),
+
+            // Lookup arguments:
+            // - marginal cost per instance
+            lookups: marginal.lookups * instances,
+
+            // Global permutation argument:
+            // - marginal cost per instance
             // - 1 eval per column
-            equality: ProofContribution::new(
-                chunks * instances,
-                (3 * chunks - 1) * instances + self.permutation_cols,
-            ),
+            equality: marginal.equality * instances
+                + ProofContribution::new(0, self.permutation_cols),
 
             // Vanishing argument:
             // - 1 + (max_deg - 1) commitments
@@ -603,6 +677,50 @@
     }
 }
 
+impl Add for ProofContribution {
+    type Output = Self;
+
+    fn add(self, rhs: Self) -> Self::Output {
+        Self {
+            commitments: self.commitments + rhs.commitments,
+            evaluations: self.evaluations + rhs.evaluations,
+        }
+    }
+}
+
+impl Mul<usize> for ProofContribution {
+    type Output = Self;
+
+    fn mul(self, instances: usize) -> Self::Output {
+        Self {
+            commitments: self.commitments * instances,
+            evaluations: self.evaluations * instances,
+        }
+    }
+}
+
+/// The marginal size of a Halo 2 proof, broken down into its contributing factors.
+#[derive(Debug)]
+pub struct MarginalProofSize<G: PrimeGroup> {
+    instance: ProofContribution,
+    advice: ProofContribution,
+    lookups: ProofContribution,
+    equality: ProofContribution,
+    _marker: PhantomData<G>,
+}
+
+impl<G: PrimeGroup> From<MarginalProofSize<G>> for usize {
+    fn from(proof: MarginalProofSize<G>) -> Self {
+        let point = G::Repr::default().as_ref().len();
+        let scalar = <G::Scalar as PrimeField>::Repr::default().as_ref().len();
+
+        proof.instance.len(point, scalar)
+            + proof.advice.len(point, scalar)
+            + proof.lookups.len(point, scalar)
+            + proof.equality.len(point, scalar)
+    }
+}
+
 /// The size of a Halo 2 proof, broken down into its contributing factors.
 #[derive(Debug)]
 pub struct ProofSize<G: PrimeGroup> {
diff --git a/rustdoc/latest/src/halo2/dev/gates.rs.html b/rustdoc/latest/src/halo2/dev/gates.rs.html
new file mode 100644
index 00000000..650e3a9a
--- /dev/null
+++ b/rustdoc/latest/src/halo2/dev/gates.rs.html
@@ -0,0 +1,474 @@
+gates.rs - source
+
+
+
+
  1
+  2
+  3
+  4
+  5
+  6
+  7
+  8
+  9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+
+use std::fmt;
+
+use ff::PrimeField;
+
+use crate::plonk::{Circuit, ConstraintSystem};
+
+#[derive(Debug)]
+struct Constraint {
+    name: &'static str,
+    expression: String,
+}
+
+#[derive(Debug)]
+struct Gate {
+    name: &'static str,
+    constraints: Vec<Constraint>,
+}
+
+/// A struct for collecting and displaying the gates within a circuit.
+///
+/// # Examples
+///
+/// ```
+/// use ff::Field;
+/// use halo2::{
+///     circuit::{Layouter, SimpleFloorPlanner},
+///     dev::CircuitGates,
+///     plonk::{Circuit, ConstraintSystem, Error},
+///     poly::Rotation,
+/// };
+/// use pasta_curves::pallas;
+///
+/// #[derive(Copy, Clone)]
+/// struct MyConfig {}
+///
+/// #[derive(Clone, Default)]
+/// struct MyCircuit {}
+///
+/// impl<F: Field> Circuit<F> for MyCircuit {
+///     type Config = MyConfig;
+///     type FloorPlanner = SimpleFloorPlanner;
+///
+///     fn without_witnesses(&self) -> Self {
+///         Self::default()
+///     }
+///
+///     fn configure(meta: &mut ConstraintSystem<F>) -> MyConfig {
+///         let a = meta.advice_column();
+///         let b = meta.advice_column();
+///         let c = meta.advice_column();
+///         let s = meta.selector();
+///
+///         meta.create_gate("R1CS constraint", |meta| {
+///             let a = meta.query_advice(a, Rotation::cur());
+///             let b = meta.query_advice(b, Rotation::cur());
+///             let c = meta.query_advice(c, Rotation::cur());
+///             let s = meta.query_selector(s);
+///
+///             Some(("R1CS", s * (a * b - c)))
+///         });
+///
+///         // We aren't using this circuit for anything in this example.
+///         MyConfig {}
+///     }
+///
+///     fn synthesize(&self, _: MyConfig, _: impl Layouter<F>) -> Result<(), Error> {
+///         // Gates are known at configure time; it doesn't matter how we use them.
+///         Ok(())
+///     }
+/// }
+///
+/// let gates = CircuitGates::collect::<pallas::Base, MyCircuit>();
+/// assert_eq!(
+///     format!("{}", gates),
+///     r#####"R1CS constraint:
+/// - R1CS:
+///   S0 * (A0@0 * A1@0 - A2@0)
+/// Total gates: 1
+/// Total custom constraint polynomials: 1
+/// Total negations: 1
+/// Total additions: 1
+/// Total multiplications: 2
+/// "#####,
+/// );
+/// ```
+#[derive(Debug)]
+pub struct CircuitGates {
+    gates: Vec<Gate>,
+    total_negations: usize,
+    total_additions: usize,
+    total_multiplications: usize,
+}
+
+impl CircuitGates {
+    /// Collects the gates from within the circuit.
+    pub fn collect<F: PrimeField, C: Circuit<F>>() -> Self {
+        // Collect the graph details.
+        let mut cs = ConstraintSystem::default();
+        let _ = C::configure(&mut cs);
+
+        let format_scalar = |s: F| {
+            // Format scalar as hex.
+            let s = format!("{:?}", s);
+            // Remove leading zeroes.
+            let s = s.strip_prefix("0x").unwrap();
+            let s = s.trim_start_matches('0');
+            format!("0x{}", s)
+        };
+
+        let gates = cs
+            .gates
+            .iter()
+            .map(|gate| Gate {
+                name: gate.name(),
+                constraints: gate
+                    .polynomials()
+                    .iter()
+                    .enumerate()
+                    .map(|(i, constraint)| Constraint {
+                        name: gate.constraint_name(i),
+                        expression: constraint.evaluate(
+                            &|s| {
+                                if s.is_zero() {
+                                    "0".into()
+                                } else if s == F::one() {
+                                    "1".into()
+                                } else if s == -F::one() {
+                                    "-1".into()
+                                } else {
+                                    format_scalar(s)
+                                }
+                            },
+                            &|selector| format!("S{}", selector.0),
+                            &|_, column, rotation| format!("F{}@{}", column, rotation.0),
+                            &|_, column, rotation| format!("A{}@{}", column, rotation.0),
+                            &|_, column, rotation| format!("I{}@{}", column, rotation.0),
+                            &|a| {
+                                if a.contains(' ') {
+                                    format!("-({})", a)
+                                } else {
+                                    format!("-{}", a)
+                                }
+                            },
+                            &|a, b| {
+                                if let Some(b) = b.strip_prefix('-') {
+                                    format!("{} - {}", a, b)
+                                } else {
+                                    format!("{} + {}", a, b)
+                                }
+                            },
+                            &|a, b| match (a.contains(' '), b.contains(' ')) {
+                                (false, false) => format!("{} * {}", a, b),
+                                (false, true) => format!("{} * ({})", a, b),
+                                (true, false) => format!("({}) * {}", a, b),
+                                (true, true) => format!("({}) * ({})", a, b),
+                            },
+                            &|a, s| {
+                                if a.contains(' ') {
+                                    format!("({}) * {}", a, format_scalar(s))
+                                } else {
+                                    format!("{} * {}", a, format_scalar(s))
+                                }
+                            },
+                        ),
+                    })
+                    .collect(),
+            })
+            .collect();
+
+        let (total_negations, total_additions, total_multiplications) = cs
+            .gates
+            .iter()
+            .flat_map(|gate| {
+                gate.polynomials().iter().map(|poly| {
+                    poly.evaluate(
+                        &|_| (0, 0, 0),
+                        &|_| (0, 0, 0),
+                        &|_, _, _| (0, 0, 0),
+                        &|_, _, _| (0, 0, 0),
+                        &|_, _, _| (0, 0, 0),
+                        &|(a_n, a_a, a_m)| (a_n + 1, a_a, a_m),
+                        &|(a_n, a_a, a_m), (b_n, b_a, b_m)| (a_n + b_n, a_a + b_a + 1, a_m + b_m),
+                        &|(a_n, a_a, a_m), (b_n, b_a, b_m)| (a_n + b_n, a_a + b_a, a_m + b_m + 1),
+                        &|(a_n, a_a, a_m), _| (a_n, a_a, a_m + 1),
+                    )
+                })
+            })
+            .fold((0, 0, 0), |(acc_n, acc_a, acc_m), (n, a, m)| {
+                (acc_n + n, acc_a + a, acc_m + m)
+            });
+
+        CircuitGates {
+            gates,
+            total_negations,
+            total_additions,
+            total_multiplications,
+        }
+    }
+}
+
+impl fmt::Display for CircuitGates {
+    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> Result<(), fmt::Error> {
+        for gate in &self.gates {
+            writeln!(f, "{}:", gate.name)?;
+            for constraint in &gate.constraints {
+                if constraint.name.is_empty() {
+                    writeln!(f, "- {}", constraint.expression)?;
+                } else {
+                    writeln!(f, "- {}:", constraint.name)?;
+                    writeln!(f, "  {}", constraint.expression)?;
+                }
+            }
+        }
+        writeln!(f, "Total gates: {}", self.gates.len())?;
+        writeln!(
+            f,
+            "Total custom constraint polynomials: {}",
+            self.gates
+                .iter()
+                .map(|gate| gate.constraints.len())
+                .sum::<usize>()
+        )?;
+        writeln!(f, "Total negations: {}", self.total_negations)?;
+        writeln!(f, "Total additions: {}", self.total_additions)?;
+        writeln!(f, "Total multiplications: {}", self.total_multiplications)
+    }
+}
+
+
+ + \ No newline at end of file