-
Notifications
You must be signed in to change notification settings - Fork 344
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
Perf/multisymbol 4bw #912
Perf/multisymbol 4bw #912
Conversation
📦 ❌ ❌
|
…nark into perf/multisymbol-4bw
📦 ❌ ❌
|
📦 ❌ ❌
|
📦 ❌ ❌
|
📦
|
frontend/cs/scs/api.go
Outdated
@@ -657,6 +702,22 @@ func (builder *builder) Commit(v ...frontend.Variable) (frontend.Variable, error | |||
}) | |||
} | |||
|
|||
// NewCombination in the form of res = qL.a + qR.b + qM.ab + qC | |||
func (builder *builder) NewCombination(a, b frontend.Variable, qL, qR, qM, qC int) frontend.Variable { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
suggestion;
rename to api.EvaluatePlonkExpression
+ in this function, check that a, b are not constant and do the appropriate path if they are. (else this function will panic).
also add a corresponding interface so that in a circuit, one can check if _, ok := api.(...); ok
and have a fail over path for R1CS for example
std/compress/io.go
Outdated
"os" | ||
) | ||
|
||
func GzWrite(outFileName string, o io.WriterTo) error { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why do we need to expose that exactly? if you only need it in test, put it iin _test.go files 👍 (but I don't understand from the code why we need it)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Currently using it for code that outputs the compiled cs, which has to run as a standalone application and not a test.
std/compress/io.go
Outdated
return a[0] | ||
} | ||
|
||
func Pack(api frontend.API, words []frontend.Variable, wordLen int) []frontend.Variable { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should not be here
…o perf/multisymbol-4bw
Description
This implements an LZSS based compression scheme and the means to verify its correctness in a SNARK.
Type of change