Skip to content
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

Increase sparsity of pippenger fixed window naf representation #506

Closed
gmaxwell opened this issue Feb 8, 2018 · 0 comments
Closed

Increase sparsity of pippenger fixed window naf representation #506

gmaxwell opened this issue Feb 8, 2018 · 0 comments

Comments

@gmaxwell
Copy link
Contributor

gmaxwell commented Feb 8, 2018

The current fixed window naf used in the pippenger never produces zeros in its representation, even though the code handles them fine and they're faster. The existing representation can be converted into one where there are more zeros by setting a coefficient to zero if it is 1 or -1 and the proceeding digit is strictly negative or strictly positive respectively.

For small windows (where pippenger is already slower than strauss) it's a pretty big speedup. For realistic window sizes it probably isn't a big speedup, but free performance is good.

@sipa sipa closed this as completed in #513 Apr 5, 2018
sipa added a commit that referenced this issue Apr 5, 2018
…ation

ec0a7b3 Don't touch leading zeros in wnaf_fixed. (Jonas Nick)
9e36d1b Fix bug in wnaf_fixed where the wnaf array is not completely zeroed when given a 0 scalar. (Jonas Nick)
96f68a0 Don't invert scalar in wnaf_fixed when it is even because a caller might intentionally give a scalar with many leading zeros. (Jonas Nick)
6dbb007 Increase sparsity of pippenger fixed window naf representation (Jonas Nick)

Pull request description:

  Fixes #506

Tree-SHA512: 49a237a7d09c0c376ba4e6b1f522b9aff2517e420dfef9df810fd5ba920e0b98be8fe3f730b32e41b4aef475bc4cf3b13220024bd8d6f40c2744e6f392ff97a8
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants
@gmaxwell and others