Skip to content

Commit

Permalink
Feat/iop arguments (#282)
Browse files Browse the repository at this point in the history
* feat: introduction of iop arguments

* feat: struct for polyonmial

* feat: addition of first version of accRatio function

* feat: tests putInLagrangeForm OK

* feat: cleaned comments

* feat: generation of the support of the identity permutation

* feat: factoring the creation of the domain

* feat: fixed permutation arg ok, not tested

* feat: test ratio ok

* feat: test ratio shuffled vectors ok

* refactor: putInExpectedFrom has its own function

* refactor: built function for  polynomials + permutation generation

* fix: fixed support identity permutation

* feat: test ratio specific permutation ok

* fix: slice of *polynomials was accidentally modified

* fix: fixed test shuffle specific permutation

* feat: removed debug option

* feat: comments polynomials format

* refactor: changed names ti -> fromLagrang_i

* feat: test toCanonical ok

* refactor: checkSize takes variadic params

* feat: addition of method to compute the total degree

* feat: multivariate monomial evaluation

* fix: added expo by 0 and 1

* feat: test for monomial

* feat: test evaluation multivariate polynomial

* feat: func to go from LagrangeCosetBR to expectedform

* feat: add quotient.go

* feat: computeH ok, no tests yet

* feat: tests gen poly vanishing on x^n-1

* fix: fixed mix from<->to lagrange

* fix: fixed test quotient

* feat: expose multivariate polynomial and associated methods

* feat: add quotient.go

* feat: add constructor for multivariate polynomial

* feat: use new Multivariate polynomial methods

* refactor: errors are no longer defined in a specific file

* feat: addition of template files

* fix: fixed templates

* fix: fixed template agian

* feat: addition of iop/ files for all curves

* feat: monomial methods take pointer receiver

* feat: polynomial embeds Form struct now + update the test toLagrange

* fix: fixed copyPoly after refactoring removing Info field in polynomial

* fix: fixed utils_test

* refactor: cleaned conversion (ToLagrange, ToCanonical)

* feat: code gen with new conversion api

* refactor: cleaned some methods

* feat: removed dead code

* feat: adapted copy constraint arg instead of generic permutaion

* feat: updated templates + code gen

* feat: fixed comments

* refactor: functions for ratios no longer take pointers

* feat: code gen for previous commit

* feat: removed dead code

* feat: cleaned code gen

* refactor: cleaned copy constraints signature

* refactor: bigInt like api for changing polynomials representation

* refactor: deleted Status in Form struct

* feat: code gen (previous commit)

* feat: avoid unecessary copy of polynomials

* feat: avoid copying polynomials in copy constraints

* feat: addition of toLagrangeCoset method (for internal use only)

* feat: addition of wrappedPolynomial struct

* feat: integration of WrappedPolynomial, test is failing

* fix: fixed quotient tests using wrappedPolynomials

* feat: code gen for previous commit

* fix: removed dead code + corrected imports

* refactor: removed utils_test and moved the tests in polynomials_test

* refactor: Evaluate -> EvaluateSinglePoint

* refactor: cleaned quotient computation

* refactor: export monomial

* feat: MultivariatePolynomial stores a constant now

* feat: MultivariatePolynomial evalutation used the constant

* feat: ComputeQuotient takes heterogeneous formats

* refactor: cleaned fields of WrappedPolynomial

* feat: ratio of domains taken in account for computing the quotient

* feat: simplified EvaluatePolynomials

* feat: helper for creating WrappedPolynomials

* feat: code gen for previous commit

* feat: fixed wrapPolynomial

* feat: addition of ToRegular,ToBitReverse for WrappedPolynomial

* fix: fixed EvaluatePolynomials for multivariate polynomial

* fix: fixed error handling in ComputeQuotient

* fix: fixed imports in code gne

* feat: addition of NewPolynomial(..) function

* feat: ratios functions take slices of pointers on polynomials

* feat: code gen (previous commit)

* feat: addition of Evaluate + blinding for polynomials

* fix: fixed polynomial blinding

* feat: code gen (previous commit)

* fix: removed printings

* feat: Evaluate doesn't return an error anymore

* feat: Blind panicsif the basis is wrong (simplify the api)

* feat: addition of WrapMe method to differentiate from copy

* feat: fixed WrapMe()

* feat: Size is modified when a polynomial is blinded

* feat: addition of field to track the blinded size

* fix: fixed BlindedSize in WrapMe

* feat: cleaner way to handle multivariate polynomials

* feat: removed multivariate polynomials+cleaned quotient

* style: cosmetic + add form enum for type-safe switches

* refactor: iop, no copy apis

* refactor: WrapMe -> NewWrappedPolynomial

* refactor: WrappedPoly embeddes Poly

* refactor: Copy -> Clone

* refactor: Blind -> don't clone for consistency

* refactor: make wrappedpolynomial attributes private, ShiftMe() -> Shift()

* refactor: add BlindedSize()

---------

Co-authored-by: Gautam Botrel <gautam.botrel@gmail.com>
  • Loading branch information
ThomasPiellard and gbotrel committed Feb 9, 2023
1 parent bd58bea commit 632763c
Show file tree
Hide file tree
Showing 102 changed files with 22,337 additions and 0 deletions.
19 changes: 19 additions & 0 deletions ecc/bls12-377/fr/iop/doc.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

74 changes: 74 additions & 0 deletions ecc/bls12-377/fr/iop/expressions.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

82 changes: 82 additions & 0 deletions ecc/bls12-377/fr/iop/expressions_test.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 632763c

Please sign in to comment.