Tristan/war 529 deep sylow optimization #34
Closed
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.
This implements basic multi-precision integer arithmetic on the base field to begin totally removing the crypto_bigint dependency.
NOTE this is entirely standalone, as in only +, -, x, /, have been implemented but not integrated, aka you cannot just switch these two just yet, since there are methods like exp, sqrt, etc, that must still be implemented.
The division leaves much to be desired, and must be cleaned up and tightened heavily, as it curently does arithmetic in non-modular and modular forms.
Accuracy tests are written for basic stuff, and the full verification will come when we fully switch out crypto_bigint for these modules, since
fp.rs
has enough rigorous tests defined to verify the accuracy and speed of thescalar.rs
.