Repository navigation
Conversation
Primes between 2^31 and 2^32 were handled by the 32 bit linear algebra, whose intermediate products do not fit for such primes, so msolve rejected them. neogb now switches to 64 bit coefficients already at 2^31, which closes the gap: msolve accepts every characteristic below 2^52 and computes Groebner bases for those of at least 2^31, as it already did above 2^32. Coefficients for these primes are passed as int64_t; the 32 bit interfaces validate_input_data() and export_nf() reject them. Signatures are restricted to primes below 2^31. Add the test kat6-32 over the largest prime below 2^32, checked against the Groebner basis over the rationals mapped to this field, and update the stated limits in the README and the tutorial. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
mohabsafey
self-requested a review
November 9, 2026 07:28
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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 PR fixes the prime field gap of
2^31 <= p <= 2^32, which is now mapped on the 52 bit inferface.Now F4 supports all prime fields for
p < 2 ^52.This PR was prepared with the assistance of generative AI
the changes were reviewed and tested as described above.