122 Commits

Author SHA1 Message Date
wborgeaud
b59d497964 Modify ArithmeticExtensionGate to support 32 wires 2021-07-21 17:20:08 +02:00
wborgeaud
8642a10fde Start of optimization 2021-07-21 15:58:15 +02:00
Nicholas Ward
4dc6a603a1
Merge pull request #90 from mir-protocol/insertion_gate
Insertion gate
2021-07-19 07:59:55 -07:00
Daniel Lubarov
35c8643681 Tiny cleanup 2021-07-18 23:31:21 -07:00
Daniel Lubarov
0a5d46bfa9
Have prove return Result (#100)
* Have `prove` return `Result`

To address that TODO.

* PR feedback
2021-07-18 23:14:48 -07:00
Daniel Lubarov
9c17a00c00
Division related changes (#99)
* Division related changes

- Simplify `div_unsafe_extension` using virtual targets
- Add methods for inversion and safe division

As a followup I'll switch some calls to safe division.

* Test safe division also

* add_virtual_extension_target
2021-07-18 23:05:57 -07:00
wborgeaud
097413479e PR feedback 2021-07-18 10:35:42 +02:00
Nicholas Ward
6b214410f2 fixes 2021-07-15 13:57:50 -07:00
wborgeaud
fe05da6720 Clipp 2021-07-15 10:39:57 +02:00
wborgeaud
2e12ee8e82 Minor 2021-07-15 10:13:13 +02:00
wborgeaud
becd0c969e Merge branch 'main' into more_recursive_verifier
# Conflicts:
#	src/gadgets/insert.rs
#	src/plonk_common.rs
#	src/verifier.rs
2021-07-15 09:01:36 +02:00
Nicholas Ward
d3127c73d3 insertion gadget (test fails) 2021-07-14 23:54:22 -07:00
Nicholas Ward
82d08ff27c Merge branch 'main' into insertion_gate 2021-07-14 17:31:27 -07:00
wborgeaud
c24fe65f44
Merge pull request #86 from mir-protocol/fix_z_check
Fix high degree `z` check by using partial products
2021-07-14 08:40:01 +02:00
wborgeaud
c3d53392c4 Problem in permutation argument 2021-07-14 08:14:00 +02:00
Nicholas Ward
0a32e0fdeb cargo fmt 2021-07-13 16:54:04 -07:00
Nicholas Ward
2df81e15c8 switched to William's way, and len assert in test 2021-07-12 12:16:13 -07:00
Nicholas Ward
439303458d fix 2021-07-12 11:56:53 -07:00
wborgeaud
ad24f5d4d1 Almost working recursive verifier 2021-07-12 14:25:28 +02:00
wborgeaud
805ebb1b0d Working verifier 2021-07-08 15:13:29 +02:00
wborgeaud
1915ef9b27 Minor improvements 2021-07-02 10:58:59 +02:00
wborgeaud
525db6c461 Merge branch 'main' into fix_z_check
# Conflicts:
#	src/circuit_builder.rs
2021-07-02 10:15:23 +02:00
Nicholas Ward
dcde599377
Merge pull request #85 from mir-protocol/efficient_insert
Efficient insert
2021-07-01 17:43:44 -07:00
Nicholas Ward
3d53201538 save a gate with arithmetic 2021-07-01 17:43:22 -07:00
Nicholas Ward
39b22a6cab addressed nits 2021-07-01 12:00:56 -07:00
Nicholas Ward
efe39f2d63 fixed naming (zero --> nonzero), and other fixes 2021-07-01 11:21:33 -07:00
Daniel Lubarov
519533d4b7
Benchmark tweaks (#83)
- Configure FRI with a list of arities that's more appropriate for a 2^14 instance. The previous config resulted in a huge final polynomial.
- Log the blinding factors, and other logging tweaks.
2021-07-01 10:53:42 -07:00
Nicholas Ward
d84b9ec8cb is_zero function 2021-07-01 10:47:13 -07:00
Nicholas Ward
515373653d fix 2021-07-01 10:38:11 -07:00
Nicholas Ward
8f33f8e2be Merge branch 'main' into efficient_insert 2021-07-01 10:36:22 -07:00
Nicholas Ward
f4ca0df85d comments and renaming 2021-07-01 10:35:41 -07:00
Daniel Lubarov
95a875e28d
Allow virtual targets to be routed (#84)
As in plonky1. The semantics of virtual targets in plonky1 were rather weird, but I think it's somewhat better here, since we already separate `generate_copy` and `assert_equal` methods. Users now make more of an explicit choice -- they can use a `VirtualTarget` for the witness generation only using `generate_copy`, or they can involve it in copy constraints.
2021-07-01 08:12:12 -07:00
wborgeaud
c83382aaaa Working partial products 2021-07-01 15:20:16 +02:00
Nicholas Ward
8de59c2a84 cargo fmt 2021-06-30 21:59:18 -07:00
Nicholas Ward
3959cec180 mutable borrow fix 2021-06-30 21:59:10 -07:00
Nicholas Ward
cad7dc6904 some progress 2021-06-30 21:31:17 -07:00
Nicholas Ward
6cc06b408f small change 2021-06-30 16:34:19 -07:00
Nicholas Ward
0c9d675ecc fixes 2021-06-30 16:34:17 -07:00
Nicholas Ward
af9a2c055c some fixes 2021-06-30 16:33:50 -07:00
Nicholas Ward
6c598ddcfd very initial attempt 2021-06-30 16:33:50 -07:00
Daniel Lubarov
f1e3474fcb
Simple reduce (#78)
* Simple reduce

* Fix bug causing test failure
2021-06-29 12:33:11 -07:00
wborgeaud
9a352193ed PR feedback 2021-06-29 09:49:05 +02:00
wborgeaud
636d8bef07 Comments 2021-06-25 17:24:22 +02:00
wborgeaud
2f06a78cb1 Simplify exp_u64 2021-06-25 16:53:11 +02:00
wborgeaud
42db0a31c1 Clippy 2021-06-25 16:49:29 +02:00
wborgeaud
fc4738869d Rearrange files 2021-06-25 16:45:02 +02:00
wborgeaud
b62c2e6990 Supplant ArithmeticGate with ArithmeticExtensionGate 2021-06-25 16:31:10 +02:00
wborgeaud
8a119f035d Working ReducingFactorTarget 2021-06-25 16:27:20 +02:00
wborgeaud
beadce72fc Add ZeroOutGenerator 2021-06-25 15:11:49 +02:00
wborgeaud
6652b38b99 Remove ArithmeticGate 2021-06-25 13:53:14 +02:00