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

feat(math): add circle point initially #387

Merged
merged 16 commits into from
Apr 22, 2024

Conversation

chokobole
Copy link
Contributor

Description

This PR adds CirclePoint and CirclePointIndex initially for CircleSTARK.

@chokobole chokobole force-pushed the feat/add-circle-point-initially branch 8 times, most recently from 11ebd2e to 1bfc852 Compare April 16, 2024 14:35
@chokobole chokobole marked this pull request as ready for review April 16, 2024 14:35
@chokobole chokobole force-pushed the feat/add-circle-point-initially branch 4 times, most recently from 3f516c0 to 6524c11 Compare April 17, 2024 11:19
@chokobole chokobole force-pushed the feat/add-circle-point-initially branch from 6524c11 to b3e8de9 Compare April 18, 2024 04:33
Copy link
Contributor

@Insun35 Insun35 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link
Contributor

@TomTaehoonKim TomTaehoonKim left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

…dilocks`

Previously, `Goldilocks::FromMontgomery()` behaved differently depending on
the value of `USE_MONTGOMERY`. This update standardizes the behavior
as follows:

when `USE_MONTGOMERY == 1`, no conversion is called, and when
`USE_MONTGOMERY != 1`, `::Goldilocks::from_montgomery()` is called.

This ensures that Montgomery conversion is invoked at most once,
optimizing performance.
@chokobole chokobole force-pushed the feat/add-circle-point-initially branch from b3e8de9 to 218c028 Compare April 18, 2024 14:59
Copy link
Contributor

@ashjeong ashjeong left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

27097ee
test(math): sample elements for inversion until non-zero elements
->
test(math): sample elements for inversion until reaching non-zero elements
97644a1
apply fast multiplication by non-reisude on specific condi…
…tion
-> apply fast multiplication by non-residue on specific condi…
…tion

tachyon/math/circle/circle_point.h Show resolved Hide resolved
tachyon/math/circle/circle_point.h Show resolved Hide resolved
tachyon/math/circle/circle_point_forward.h Show resolved Hide resolved
tachyon/math/circle/circle_point_unittest.cc Outdated Show resolved Hide resolved
tachyon/math/circle/generator/BUILD.bazel Show resolved Hide resolved
tachyon/math/circle/generator/BUILD.bazel Show resolved Hide resolved
tachyon/math/circle/generator/generator.cc Outdated Show resolved Hide resolved
tachyon/math/finite_fields/small_prime_field_generic.h Outdated Show resolved Hide resolved
This feature introduces a new class for prime fields with less than
32-bit 1 limb. Instances of this class utilize a custom reduction method,
distinct from Montgomery reduction, to accommodate their smaller size.
Since "absl/strings/str_replace.h" is included in the generator, it adds
"@com_google_absl//absl/strings" to the dependencies explicitly, too.
@chokobole chokobole force-pushed the feat/add-circle-point-initially branch from 218c028 to 9076f80 Compare April 19, 2024 09:06
@chokobole chokobole force-pushed the feat/add-circle-point-initially branch from 9076f80 to 7bbe48f Compare April 21, 2024 13:16
Copy link
Contributor

@ashjeong ashjeong left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link
Contributor

@dongchangYoo dongchangYoo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@dongchangYoo dongchangYoo merged commit 8a5f6ce into main Apr 22, 2024
3 checks passed
@dongchangYoo dongchangYoo deleted the feat/add-circle-point-initially branch April 22, 2024 08:32
chokobole added a commit that referenced this pull request Apr 23, 2024
Since #387, `Mersenne31` is instantiated with
`small_prime_field_generic.h` and all the mathematical methods become
constexpr.
chokobole added a commit that referenced this pull request Apr 23, 2024
Since #387, `Mersenne31` is instantiated with
`small_prime_field_generic.h` and all the mathematical methods become
constexpr.
chokobole added a commit that referenced this pull request Apr 23, 2024
Since #387, `Mersenne31` is instantiated with
`small_prime_field_generic.h` and all the mathematical methods become
constexpr.
chokobole added a commit that referenced this pull request Apr 23, 2024
Since #387, `Mersenne31` is instantiated with
`small_prime_field_generic.h` and all the mathematical methods become
constexpr.
chokobole added a commit that referenced this pull request Apr 24, 2024
Since #387, `Mersenne31` is instantiated with
`small_prime_field_generic.h` and all the mathematical methods become
constexpr.
chokobole added a commit that referenced this pull request Apr 25, 2024
Since #387, `Mersenne31` is instantiated with
`small_prime_field_generic.h` and all the mathematical methods become
constexpr.
chokobole added a commit that referenced this pull request Apr 25, 2024
Since #387, `Mersenne31` is instantiated with
`small_prime_field_generic.h` and all the mathematical methods become
constexpr.
chokobole added a commit that referenced this pull request Apr 25, 2024
Since #387, `Mersenne31` is instantiated with
`small_prime_field_generic.h` and all the mathematical methods become
constexpr.
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.

None yet

5 participants