-
Notifications
You must be signed in to change notification settings - Fork 143
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
Implement u256 prime field #137
Implement u256 prime field #137
Conversation
Test mul_two_256_bit_integers_works_4() fixed after the bug in the * operator patched
…dInteger-test-modules Fix and complete unsigned integer test modules
Codecov Report
@@ Coverage Diff @@
## main #137 +/- ##
==========================================
- Coverage 95.71% 95.02% -0.70%
==========================================
Files 49 49
Lines 5251 5382 +131
==========================================
+ Hits 5026 5114 +88
- Misses 225 268 +43
📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
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.
Looks good!
As a side note, use git move when renaming files, so git realizes it's the same one edited.
Implement u256 prime field
Description
solves #126
solves #95
Implemented U256PrimeField and generalized Montgomery backed for avoiding code repetition and allow easy and fast future implementations of other fields with different limb lengths.
Example of the UX while using the mod:
trait aliases are experimental see issue #41517 rust-lang/rust#41517, but in the future the use of trait alias may upgrade the UX to something like this, note that instead of use general trait IsMontgomeryConfiguration<"limbs"> a trait alias would be defined, for example U256IsMontgomeryConfiguration = IsMontgomeryConfiguration<4>:
Type of change
Checklist