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

Add left shift and right shift to finite field lib #191

Merged
merged 9 commits into from
Nov 2, 2023

Conversation

MartinMinkov
Copy link
Contributor

@MartinMinkov MartinMinkov commented Oct 23, 2023

Summary

This PR adds left and right shift functions for finite fields in the case of constants.

Tested

This work is tested in the upper layers of o1js with unit and e2e tests that are built on top of the exposed gate constraint.

🔗 o1js: o1-labs/o1js#1194

crypto/finite_field.ts Outdated Show resolved Hide resolved
@MartinMinkov MartinMinkov marked this pull request as ready for review October 24, 2023 17:22
Base automatically changed from feat/ROT-gadget to main October 26, 2023 17:29
…anual shift implementation"

This reverts commit fd87c4e.
The leftShift function in finite_field.ts is updated to limit the bit size to a maximum value. This change is necessary to prevent potential overflow issues when shifting large BigInt values. The default maxBitSize is set to 64, but can be configured as needed.
crypto/finite_field.ts Outdated Show resolved Hide resolved
crypto/finite_field.ts Outdated Show resolved Hide resolved
…ft methods to correct bit shifting operations
crypto/finite_field.ts Outdated Show resolved Hide resolved
Co-authored-by: Gregor Mitscha-Baude <gregor.mitscha-baude@gmx.at>
@MartinMinkov MartinMinkov merged commit 49c3f0f into main Nov 2, 2023
1 check passed
@MartinMinkov MartinMinkov deleted the feat/LCL-LSR-gadget branch November 2, 2023 21:08
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

Successfully merging this pull request may close these issues.

3 participants