Add polynomials arithmetic in goff

Polynomials and ifft moved to goff (iden3/go-iden3-crypto/ff) instead of *big.Int.

Benchmarks:

- Before:
BenchmarkArithmetic/polynomialSub-4         	    2774	    441063 ns/op
BenchmarkArithmetic/polynomialMul-4         	       1	1135732757 ns/op
BenchmarkArithmetic/polynomialDiv-4         	     768	   1425192 ns/op
BenchmarkGenerateProof-4                    	       1	2844488975 ns/op

- With this commit:
BenchmarkArithmetic/polynomialSubE-4        	   23097	     54152 ns/op
BenchmarkArithmetic/polynomialMulE-4        	      25	  44914327 ns/op
BenchmarkArithmetic/polynomialDivE-4        	    8703	    132573 ns/op
BenchmarkGenerateProof-4                    	       1	1530398526 ns/op
This commit is contained in:
arnaucube
2020-04-20 12:37:49 +02:00
parent 3f5f8e2318
commit 324c817d42
7 changed files with 178 additions and 33 deletions

1
go.mod
View File

@@ -7,6 +7,7 @@ replace github.com/iden3/go-circom-prover-verifier => ./
require (
github.com/ethereum/go-ethereum v1.9.12
github.com/iden3/go-circom-prover-verifier v0.0.0-00010101000000-000000000000
github.com/iden3/go-iden3-crypto v0.0.4
github.com/stretchr/testify v1.5.1
golang.org/x/crypto v0.0.0-20200311171314-f7b00557c8c4
)