-
Notifications
You must be signed in to change notification settings - Fork 28
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
Minor feature Request: Is it possible to have AddAssign? #116
Comments
Also is it possible to do multi-scalar exponentiation? |
Any other way to do |
Hey @sanket1729. That's awesome! I didn't want to implement
This looks fine. In general the APIs don't mutate or consume existing points/scalars and create new ones. Probably even in the new
In the EC group? Yes. You have to use
Next release I hope! I noticed the downstream crate
Yeah every FYI at the moment with the Another note the |
@LLFourn thanks for the response.
Thanks, worked like a charm. One slightly annoying thing about that API is that it did not work cleanly with iterators whose Item is returning a value instead of a reference to value. This forces the caller to some computation results in a collection. let e = Scalar::random(); //challenge
let scalar_iter = // An iterator returning powers of e, The item here must be `Scalar` (cannot be `&Scalar` as we cannot return a reference to something we create)
op::lincomb(scalar_iter, ...) ; // Compiler error . We must first collect into a vector and then call iter One way would be use the
The annotations are really good. Adding extra types and generics that force coders to think carefully is really good. The macros are really good. Is it possible to modify them to use array elements in them? Right now, I have to do something like: let (w_0, l_0, c_0) = (w[0], l[0], c[0]);
assert_eq!(v, s!(w_0*w_0 + l_0*c_0)); One last question: Is there any parallelization ongoing here? I am trying to bench Bulletproofs++ and want to make sure that none of the internal operations any doing parallelization. |
ACK. Good idea.
Yeah I hate this and it has been on my todo for some time as part of #6. The work is 1/3 done.
Nope. FYI it's using the complete protective formula addition + endomorphism + strauss aglorithm for the lincomb courtesy of the |
First off, thanks for this awesome library. I will be using this to implement prototypes of Bulletproofs and Bulletproof++.
Error:
Please make the last priority of things that you are doing.
Does the current implementation have additional copies every time in the loop? Or is there a better way to compute the inner product of two scalars?
s!(res + a * b)
returns a Secret Marked value even when all values are public.The text was updated successfully, but these errors were encountered: