-
Notifications
You must be signed in to change notification settings - Fork 265
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
Improve ergonomics of scalar field multiplication. #443
Conversation
It will actually take the place of `mul` in the next commit... Co-authored-by: Michele Orrù <[email protected]>
Co-authored-by: Michele Orrù <[email protected]>
Some questions that appeared while coding the PR:
Thanks! |
Co-authored-by: Michele Orrù <[email protected]>
Co-authored-by: Michele Orrù <[email protected]>
16c364f
to
73fd19a
Compare
I would say it is very likely that we need to keep the old one as well. And |
@weikengchen what does it mean "the old one"? Mul by bigints? also for implementing the trait |
Got it. Just found out this
Then it makes sense. |
Hello! This pull request aims to improve the ergonomics of arkworks scalar multiplication by eradicating the plague that
into_bigint()
has become without sacrificing efficiency.This change will affect
Affine::mul
andProjective::mul
: instead of accepting as input bits packed into limbs (AsRef<[u64]>
orPrimeField::BigInt
), we accept aScalarField
element. Another functionmul_bigint
is made available for implementations where conversion for Montgomery form is not necessary.We believe this will greately improve ergonomicity of arkworks, and since this change will probably affect also other crates in the arkworks ecosystem we'd like to know what's the best way to proceed aligning also the other repositories.
This is partially related (but doesn't conflict) to #294.