Commit Graph

2465 Commits

Author SHA1 Message Date
therealyingtong 444b8a674c dev::MockProver::verify: Handle dynamic table errors
Co-authored-by: Avi Dessauer <avi.dessauer@platonic.systems>
2023-05-02 14:57:18 +02:00
therealyingtong 579741f885 dev::failure::VerifyFailure: DynamicTableCellNotAssigned variant
Co-authored-by: Avi Dessauer <avi.dessauer@platonic.systems>
2023-04-05 17:06:25 +07:00
therealyingtong cfc1468951 dev::MockProver::run: Handle dynamic tables
Co-authored-by: Avi Dessauer <avi.dessauer@platonic.systems>
2023-04-05 17:06:24 +07:00
therealyingtong f32fd2a4a0 plonk::keygen: Handle dynamic table tags in keygen_vk, keygen_pk
Co-authored-by: Avi Dessauer <avi.dessauer@platonic.systems>
2023-04-05 17:06:07 +07:00
therealyingtong cc26963337 plonk::circuit::ConstraintSystem: compress_dynamic_table_tags()
Co-authored-by: Avi Dessauer <avi.dessauer@platonic.systems>
2023-04-05 17:06:04 +07:00
therealyingtong 1c9424d166 circuit::compress_selectors: Extract exclusion_matrix() method
Co-authored-by: Avi Dessauer <avi.dessauer@platonic.systems>
2023-04-05 16:33:13 +07:00
therealyingtong 8c2f2b18b2 plonk::circuit::ConstraintSystem: lookup_dynamic(), create_dynamic_table()
Co-authored-by: Avi Dessauer <avi.dessauer@platonic.systems>
2023-04-05 16:32:51 +07:00
therealyingtong e713366c3e circuit::Region: Implement add_to_lookup()
Co-authored-by: Avi Dessauer <avi.dessauer@platonic.systems>
2023-04-05 16:32:49 +07:00
therealyingtong 07655b9e7b circuit::layouter::RegionLayouter: Introduce add_to_lookup() method
Co-authored-by: Avi Dessauer <avi.dessauer@platonic.systems>
2023-04-05 16:31:39 +07:00
therealyingtong fc71bba6ba plonk::circuit::Assignment: Introduce add_to_lookup() method
Co-authored-by: Avi Dessauer <avi.dessauer@platonic.systems>
2023-04-05 16:27:52 +07:00
therealyingtong be3d62f930 plonk::circuit::Expression: Introduce TableTag variant
Co-authored-by: Avi Dessauer <avi.dessauer@platonic.systems>
2023-04-05 16:18:22 +07:00
therealyingtong 78ea483f65 circuit::layouter::RegionColumn: Introduce TableTag variant
Co-authored-by: Avi Dessauer <avi.dessauer@platonic.systems>
2023-04-05 16:18:06 +07:00
therealyingtong 77b18df089 plonk::circuit: DynamicTable, TableTag
Co-authored-by: Avi Dessauer <avi.dessauer@platonic.systems>
2023-04-05 16:18:05 +07:00
therealyingtong 0d14709b8e halo2_proofs/Cargo.toml: Introduce "unstable-dynamic-lookups" flag 2023-04-05 10:50:44 +07:00
Daira Hopwood 5678a506cb
Merge pull request #755 from zcash/lookup-errors
`plonk::Error::TableError`: Better lookup errors
2023-04-04 23:27:28 +00:00
therealyingtong 72ce521084 circuit.rs: crate visibility modifications from code review
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
Co-authored-by: ebfull <ewillbefull@gmail.com>
2023-04-04 09:32:08 +07:00
therealyingtong c3c57c6e07 circuit::table_layouter: Better table errors 2023-04-04 09:32:08 +07:00
therealyingtong 3f4710892a plonk::Error: Introduce TableError variant 2023-04-04 09:32:08 +07:00
therealyingtong 327b47524c table_layouter::compute_table_lengths: Extract helper function 2023-04-04 09:32:08 +07:00
therealyingtong a8aebdb848 [move-only] circuit::table_layouter: Move TableLayouter, SimpleTableLayouter 2023-04-04 09:32:08 +07:00
ebfull 2633567840
Merge pull request #758 from zcash/release-0.3.0
Release 0.3.0 of halo2_proofs and halo2_gadgets
2023-03-22 12:32:26 -06:00
Sean Bowe 3ba777944f Release 0.3.0 of halo2_proofs and halo2_gadgets 2023-03-21 19:35:30 -06:00
ebfull 81c7326bf2
Merge pull request #757 from zcash/non-exhaustive-errors
Make `Error` a non_exhaustive type.
2023-03-21 17:37:12 -06:00
Sean Bowe 82dd2fb3f5 Make `Error` a non_exhaustive type. 2023-03-21 15:17:22 -06:00
ebfull cae65c4b60
Merge pull request #741 from zcash/738-tracing-floor-planner
Create a `TracingFloorPlanner` for debugging purposes
2023-03-21 14:48:15 -06:00
str4d 1a53c0cbfb
Merge pull request #752 from zcash/cost-without-permutation
`dev::cost`: Handle cost calculation for circuits without permutation
2023-03-21 03:28:59 +00:00
therealyingtong 0e5c7a1bd5 dev::cost: Handle circuits with zero permutation_chunks() 2023-03-20 15:35:42 +07:00
therealyingtong 95ce948cf9 dev::cost: Minimal failing example for circuit without permutation 2023-03-20 15:23:52 +07:00
Jack Grigg f6f7a4ba3d Add documentation and example to `TracingFloorPlanner` 2023-03-14 19:34:29 +00:00
Jack Grigg 7d4aafe3f6 Add debug `tracing` spans and events to `TracingFloorPlanner` 2023-03-14 19:34:29 +00:00
Daira Hopwood 642924d614
Merge pull request #739 from daira/fix-sort-nondeterminism
Fix a nondeterminism bug: we were depending on sort order
2023-03-11 01:43:52 +00:00
Daira Hopwood ab1cae34e1
Apply suggestions from code review (changelog and comments only)
Co-authored-by: Greg Pfeil <greg@technomadic.org>
2023-03-11 00:21:03 +00:00
Daira Hopwood 8231d8ffab Fix a nondeterminism bug: we were depending on sort order.
Co-authored-by: Jack Grigg <jack@electriccoin.co>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2023-03-10 22:03:05 +00:00
str4d 35eb268e20
Merge pull request #736 from CarloModicaPortfolio/sha256_update
Sha256 update
2023-03-07 17:51:31 +00:00
Jack Grigg 38222cba76 cargo fmt 2023-03-07 17:30:03 +00:00
str4d 2016154118
Merge pull request #746 from zcash/test-32-bit
CI: Run tests on 32-bit target
2023-03-07 17:26:05 +00:00
str4d a1034169bc
Merge pull request #743 from zcash/740-expose-instance-value
halo2_proofs: Add `Region::instance_value`
2023-03-07 17:19:11 +00:00
Jack Grigg 165e993e83 CI: Run tests on 32-bit target 2023-03-02 19:56:22 +00:00
Jack Grigg 0eb65d4927 Add a `TracingFloorPlanner` that does nothing
As currently implemented, all this does is transparently wrap another
`FloorPlanner`, in order to transparently wrap every other circuit type
that passes through it.
2023-02-28 14:53:31 +00:00
Jack Grigg ca3dacffdb halo2_proofs: Add `Region::instance_value`
Closes zcash/halo2#740.
2023-02-28 14:52:36 +00:00
CarloModicaPortfolio ba52d72ae4 fixing mistake in decorator of MyCircuit struct 2023-02-15 17:48:32 +01:00
CarloModicaPortfolio cdf5260b04 fixing mistake in decorator 2023-02-15 17:47:44 +01:00
CarloModicaPortfolio 272315b87b update of SHA256 to pull #654 2023-02-15 17:22:57 +01:00
str4d 47f2cc8349
Merge pull request #728 from nagatoism/disable-rayon
Add feature "multicore"  and you can disable rayon by disabling the  "multicore" feature.
2023-02-14 20:32:28 +00:00
Jack Grigg c4abcd5fd1 Disable default features of halo2_proofs in other crates
Now that `multicore` is a default feature instead of just being always
on, we can ensure it is not enabled just as a result of depending on
`halo2_gadgets` or `halo2`.
2023-02-14 19:06:18 +00:00
Jack Grigg b60e9a4eb6 Explicitly fail if `multicore` is enabled for wasm32 without atomics
`maybe-rayon` has this case fall back to not using rayon, which while
correct is potentially confusingly non-performant. Developers building
for WASM will have similar things they need to handle themselves; they
can conditionally enable `multicore` there.
2023-02-14 19:06:18 +00:00
str4d 5ff0e83616 Take accumulator as `T` in `halo2_proofs::multicore::TryFoldAndReduce`
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2023-02-14 18:53:36 +00:00
str4d b90522797e Fix formatting of `halo2_proofs::multicore` comments
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2023-02-14 18:53:36 +00:00
wangyao 36055ab47d add comment explaining the type of try_fold_and_reduce 2023-02-14 18:53:36 +00:00
wangyao 6fbde15d11 Add `multicore` feature flag to allow `rayon` to be disabled
Closes zcash/halo2#648.

Co-authored-by: Jack Grigg <jack@electriccoin.co>
2023-02-14 18:53:36 +00:00