-
Notifications
You must be signed in to change notification settings - Fork 522
feat: make constraint.Element generic interface #1463
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 56 commits
Commits
Show all changes
64 commits
Select commit
Hold shift + click to select a range
75197be
chore: move tinyfield to smallfield package
ivokub 46a8757
feat: autogenerate field when requested
ivokub 0102726
feat: automate small field imports
ivokub 8710ad3
feat: compile constraints for field implementations
ivokub 406ee4a
fix: generate backends later
ivokub 82fa2ba
chore: generate
ivokub 1d0c350
feat: support babybear in builders
ivokub c78329f
feat: typed parameter in constraint template
ivokub 09c22d5
chore: go generate
ivokub f1dc112
feat: make constraint system interfaces generic
ivokub cf1f1be
feat: add generic Element type
ivokub bd20da1
feat: make marhaling type parameter aware
ivokub b99aa3b
test: use concrete coefficient type in test
ivokub 48deec4
feat: make frontend interfaces generic
ivokub 4edaf21
feat: keep default NewBuilder over U64
ivokub 422befe
feat: make R1CS builder generic
ivokub 550eae9
test: use concrete U64 element in R1CS frontend tests
ivokub 02f2d70
feat: make SCS frontend generic
ivokub b89d517
feat: make assertions specific to U64
ivokub 6d347c9
feat: make test engine parametric
ivokub c3d3748
feat: make backend generic aware (but fix with U64)
ivokub ef1da5d
refactor: use logderive table through interface to avoid type parameter
ivokub c7724df
refactor: use parametric definition of ConstraintSystem
ivokub fbffc04
test: update regression test #1045
ivokub 645668a
test: add element parametric init test
ivokub 14a5f0b
fix: generic debug table
ivokub 07fe4ff
fix: specific Element
ivokub 50a473f
chore: go generate
ivokub 22f109b
feat: add small field asserter
ivokub 5fbcf39
feat: add U32 compiler and builder separately
ivokub 9e3385b
test: generate r1cs test to corresponding type
ivokub f9f43d5
refactor: make the default ConstraintSystem to be U64
ivokub cdf2710
refactor: code generate default constraint system on U64
ivokub a60a5c3
chore: go generate
ivokub 7c514a0
refactor: use default U64 constraint system in gadgets
ivokub 1180ee9
fix: assume tinyfield is U64 for now
ivokub 32b7a85
fix: linter weak rand
ivokub 0e517de
test: remove non-native test over small field (other PR)
ivokub 11e73d6
fix: r1cs determinism test
ivokub 4650434
perf: avoid function call in super-fast-paths
ivokub 0de2c50
feat: add small field witness parsing and marshal
ivokub a4b574e
feat: add koalabear support
ivokub e85ff39
chore: go generate
ivokub c645db7
feat: add generic compile method for more convenient switching
ivokub 96f4939
feat: make scs.NewBuilder generic
ivokub 11da0c7
docs: document scs.NewBuilder
ivokub 2cc3f38
test: use generic compile method in compiled test
ivokub c55c1d0
feat: support koalabear when initializing builders
ivokub 4f18e53
test: add tests for small field compile and solve
ivokub 9802f40
test: edge case Element
ivokub 5cae078
test: fits element
ivokub 58a24a7
test: new element edge cases
ivokub 316f81e
Merge branch 'master' into feat/clean-generic-element
ivokub c9e4653
test: use correct builder for r1cs
ivokub a2193de
test: type constrain for test
ivokub 8962903
fix: typo
ivokub 9fdabaa
chore: update go.mod
ivokub a70477e
feat: use U32 for tinyfield
ivokub a7a6885
docs: use helpful error
ivokub 70d80ce
test: use U32 for permuter test
ivokub 809ee5e
docs: now all builders support commitment
ivokub 337c864
Merge branch 'master' into feat/clean-generic-element
ivokub 03b269d
refactor: use IsSmallField helper
ivokub eff3acb
chore: go mod update
ivokub File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.