-
Notifications
You must be signed in to change notification settings - Fork 144
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
Fibonacci Stark Prover #59
Conversation
af9656e
to
d8154c4
Compare
d63140e
to
f15af6b
Compare
Codecov Report
@@ Coverage Diff @@
## main #59 +/- ##
==========================================
- Coverage 95.79% 95.63% -0.16%
==========================================
Files 45 49 +4
Lines 4680 5155 +475
==========================================
+ Hits 4483 4930 +447
- Misses 197 225 +28
📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
@@ -151,6 +151,11 @@ where | |||
fn from_base_type(x: Self::BaseType) -> Self::BaseType { | |||
MontgomeryAlgorithms::cios(&x, &C::R2, &C::MODULUS, &C::MU) | |||
} | |||
|
|||
// TO DO: Add tests for representatives |
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.
Let's make an issue to track this TODO
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.
We could label it as "good first issue".
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.
Sounds good, created it here #138
@@ -127,6 +127,10 @@ where | |||
fn from_base_type(x: [FieldElement<Q::BaseField>; 3]) -> [FieldElement<Q::BaseField>; 3] { | |||
x | |||
} | |||
|
|||
fn representative(_x: Self::BaseType) -> Self::BaseType { | |||
todo!() |
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.
Same for this
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.
@@ -105,6 +105,10 @@ where | |||
fn from_base_type(x: [FieldElement<Q::BaseField>; 2]) -> [FieldElement<Q::BaseField>; 2] { | |||
x | |||
} | |||
|
|||
fn representative(_x: Self::BaseType) -> Self::BaseType { | |||
todo!() |
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.
Same for this
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.
LGTM
LGTM! |
Basic implementation of the stark proving system for the fibonacci sequence. There are a lot of
TODO
s left, which we'll tackle in other PRs, like adding fiat-shamir, zerofiers, etc.A few things were added out of need:
representative()
method forFieldElement
s, which returns the field element's value in plain form (if the felt is in montgomery form, this returns the actual value the user expects, not its montgomery representation).compose
function to compute the composition of two polynomials.