str4d
d8e4f24df4
Merge pull request #287 from zcash/remove-selector-rotations
...
Remove rotations from Selectors
2021-06-05 23:36:37 +01:00
Jack Grigg
0d8b3bab38
Remove rotations from Selectors
...
Enabling selectors to be used in gates at non-zero rotations leads to
confusing gates, and inhibits our ability to create visualizations of
circuits. In most cases, a gate can be rearranged so that the selectors
have no rotation; in cases where cross-gate selector optimisations are
required, these can still be implemented using fixed columns.
2021-06-04 16:18:51 +01:00
Jack Grigg
6cf73391e8
Enable annotating individual constraints within gates
...
The closure passed to `ConstraintSystem::create_gate` can now return:
- Tuples of `(&'static str, Expression<F>)`
- Anything implementing `IntoIterator` (e.g. `Some(Expression<F>)`)
2021-06-04 03:49:21 +01:00
Jack Grigg
47061ade3d
dev: Report indices of unsatisfied constraints
...
Now that gates may contain multiple constraints, we need to inform
developers about which specific constraints are failing within gates.
2021-06-04 03:46:08 +01:00
Jack Grigg
0f0dd8a26c
Allow multiple polynomial constraints per gate
...
This enables a gate such as ECC complete addition to define its
constraints in terms of a common set of queried columns.
2021-05-27 15:01:46 +01:00
Jack Grigg
266badf25c
MockProver: Return all constraint failures, not just first
2021-05-18 16:32:15 +01:00
therealyingtong
f3021beda6
Clean up anchors in simple-example.rs
...
Co-authored-by: Jack Grigg <jack@electriccoin.co>
2021-04-28 12:36:37 +08:00
therealyingtong
21aaab20f6
Remove empty() methods from Config and Loaded traits
...
Co-authored-by: Jack Grigg <jack@electriccoin.co>
2021-04-28 10:47:26 +08:00
therealyingtong
3ad1c43fb8
Only keep config() and loaded() generic on Chip trait
...
Co-authored-by: Jack Grigg <jack@electriccoin.co>
2021-04-23 17:40:43 +08:00
therealyingtong
40e7bec352
Move config responsiblities from Layouter to Chip trait
2021-04-23 17:40:43 +08:00
Jack Grigg
ed26c8924c
Use Selector in simple-example
2021-02-25 15:40:49 +00:00
str4d
9467a03ae2
Merge pull request #209 from zcash/ecc-gadget-fixedpoints
...
Store `Loaded` chip state in chip
2021-02-26 04:24:28 +13:00
therealyingtong
4f17322c2d
Allow Chip::load to return state that the Layouter will hold
...
This enables chips that e.g. want to load multiple lookup tables into
the same columns to store state about where each table was layed out.
Co-authored-by: Jack Grigg <jack@electriccoin.co>
2021-02-24 23:28:18 +08:00
therealyingtong
340fb2b6df
Move Permutation struct from crate::circuit -> plonk::circuit
2021-02-24 00:17:29 +08:00
therealyingtong
a19dc68dee
Use Column<Any> in Permutation::Argument
2021-02-17 21:32:17 +08:00
Daira Hopwood
760d69bd2c
Rename "auxiliary column" to "instance column" in the book and in code. fixes #181
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-02-14 21:09:49 +00:00
Jack Grigg
24eb3500cb
examples: Fix typo
2021-02-12 15:53:04 +00:00
Jack Grigg
b3f85d3e69
examples: Reflow simple-example.rs comments for easier reading in book
2021-02-12 15:53:04 +00:00
Jack Grigg
425c45d96b
book: Add a simple example showing how the API is used
2021-02-08 15:56:16 +00:00