Nicholas Ward
7f92a33964
cargo fmt
2021-07-21 13:05:40 -07:00
Nicholas Ward
1dd850b0e5
fixes
2021-07-21 13:05:32 -07:00
Nicholas Ward
c5bbe9d503
fixes
2021-07-21 09:56:00 -07:00
Nicholas Ward
5062029d3f
fixes
2021-07-21 09:32:18 -07:00
Nicholas Ward
906a0c00f4
Merge branch 'main' into order_bigint
2021-07-20 15:42:51 -07:00
Nicholas Ward
b103c0774f
progress
2021-07-20 15:42:27 -07:00
Nicholas Ward
a74fce0196
quick fix
2021-07-19 17:11:42 -07:00
Nicholas Ward
8a51e6a323
started
2021-07-19 17:11:22 -07:00
Daniel Lubarov
35c8643681
Tiny cleanup
2021-07-18 23:31:21 -07:00
wborgeaud
461f24a57e
Merge branch 'main' into more_recursive_verifier
...
# Conflicts:
# src/polynomial/commitment.rs
# src/proof.rs
2021-07-19 07:08:06 +02:00
Daniel Lubarov
77ce69dc15
Proof serialization ( #93 )
...
Using `serde_cbor` for now. It's probably far from optimal, as we have many `Vec`s which I assume it will prefix with their lengths, but it's a nice and easy method for now.
2021-07-15 07:35:12 -07:00
Daniel Lubarov
83a1430038
Fix some warnings ( #94 )
2021-07-15 07:34:46 -07:00
wborgeaud
5c2c01b1ab
Circuit compiles
2021-07-13 15:20:14 +02:00
Nicholas Ward
8de59c2a84
cargo fmt
2021-06-30 21:59:18 -07:00
Hamish Ivey-Law
574a3d4847
FFT improvements ( #81 )
...
* Use built-in `reverse_bits`; remove duplicate `reverse_index_bits`.
* Reduce precomputation time/space complexity from quadratic to linear.
* Several working cache-friendly FFTs.
* Fix to allow FFT of constant polynomial.
* Simplify FFT strategy choice.
* Add PrimeField and CHARACTERISTIC properties to Fields.
* Add faster method for inverse of 2^m.
* Pre-compute some of the roots; tidy up loop iteration.
* Precomputation for both FFT variants.
* Refactor precomputation; add optional parameters; rename some things.
* Unrolled version with zero tail.
* Iterative version of Unrolled precomputation.
* Test zero tail algo.
* Restore default degree.
* Address comments from @dlubarov and @wborgeaud.
2021-07-01 14:55:41 +10:00
wborgeaud
a017e79f65
Merge branch 'main' into add_routed_wires
...
# Conflicts:
# src/gadgets/arithmetic.rs
2021-06-30 08:30:10 +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
8602ae1549
Typo
2021-06-25 16:35:58 +02:00
wborgeaud
b62c2e6990
Supplant ArithmeticGate with ArithmeticExtensionGate
2021-06-25 16:31:10 +02:00
wborgeaud
beadce72fc
Add ZeroOutGenerator
2021-06-25 15:11:49 +02:00
wborgeaud
e195fe58ed
Merge branch 'main' into add_routed_wires
2021-06-25 13:53:30 +02:00
wborgeaud
6605ca9d89
Add comment for coset_shift
2021-06-24 21:05:59 +02:00
wborgeaud
8aa9c7b816
Merge branch 'main' into gate_tree
...
# Conflicts:
# src/circuit_data.rs
# src/witness.rs
2021-06-24 20:58:17 +02:00
wborgeaud
b0550979a6
Optimize evaluation of Z_H on coset.
2021-06-24 15:42:29 +02:00
wborgeaud
31f4eee367
Fix bug with shifted x
2021-06-24 14:11:47 +02:00
wborgeaud
ef7561fc84
Merge branch 'main' into permutation_argument
...
# Conflicts:
# src/circuit_builder.rs
# src/circuit_data.rs
# src/polynomial/commitment.rs
# src/prover.rs
# src/witness.rs
2021-06-24 10:51:18 +02:00
Daniel Lubarov
ac1179255a
Delete coset [I]FFT methods ( #72 )
...
I think they had a mistake, and in any case we have a similar method in `polynomial.rs` now which has tests.
2021-06-23 15:45:48 -07:00
wborgeaud
ff74887ab9
Use with_capacity when length is known
2021-06-23 18:06:53 +02:00
wborgeaud
8796c73362
Change MulExtensionGate to ArithmeticExtensionGate and change gadgets to use the new wires in this gate.
2021-06-23 18:04:43 +02:00
wborgeaud
cfa3d3a660
Added comments
2021-06-22 15:34:50 +02:00
wborgeaud
37171505c7
Remove useless interpolation from open_plonk
2021-06-18 12:49:40 +02:00
wborgeaud
a4c86a6b08
lagrange.rs -> interpolation.rs
2021-06-18 11:44:06 +02:00
wborgeaud
4f8ef2e178
Optimize some polynomial operations
2021-06-18 11:10:33 +02:00
wborgeaud
ad5c18b499
Comments and Clippy
2021-06-17 16:23:15 +02:00
wborgeaud
1b99f8272f
Merge branch 'main' into permutation_argument
2021-06-17 14:00:44 +02:00
wborgeaud
a6acd14dfa
Minor rewrites and optimizations
2021-06-16 17:43:41 +02:00
wborgeaud
5edaab59e6
Renaming + Clippy
2021-06-16 11:37:07 +02:00
wborgeaud
89c6a6b4e6
Use repeated_frobenius in ExtensionTarget::frobenius.
2021-06-15 17:34:37 +02:00
wborgeaud
b44a01c975
Merge main
2021-06-15 09:20:00 +02:00
wborgeaud
fa229d9a27
Add comments on possible optimizations
2021-06-14 13:41:44 +02:00
wborgeaud
6132b2ad73
Use mul_extension in scalar_mul_ext since mul_extension now uses a single gate.
2021-06-14 13:30:14 +02:00
wborgeaud
19b47b5251
Clippy
2021-06-14 10:33:38 +02:00
wborgeaud
445ea3771d
Remove Frobeniable trait
2021-06-14 10:28:15 +02:00
wborgeaud
5200d70cf0
Add interpolation gadgets
2021-06-11 16:22:29 +02:00
wborgeaud
4b1f368e89
Use Frobenius optimization in the circuit
2021-06-11 14:16:40 +02:00
wborgeaud
bc7f67c316
In-circuit repeated frobenius
2021-06-11 13:58:05 +02:00
wborgeaud
20741cfb4a
Implement out-of-circuit repeated_frobenius using hardcoded constants
2021-06-11 13:45:51 +02:00
wborgeaud
1ebeab2c3a
Implement Frobenius optimization discussed in #61 comments to avoid calling the Frobenius for every wires.
2021-06-11 10:27:03 +02:00
wborgeaud
4106a47ded
Test rotate gadget
2021-06-11 09:59:55 +02:00