-
Notifications
You must be signed in to change notification settings - Fork 79
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
Change the starting point of logup elements #837
Conversation
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.
Reviewed 2 of 2 files at r1, all commit messages.
Reviewable status: all files reviewed, 1 unresolved discussion (waiting on @weikengchen)
crates/prover/src/constraint_framework/logup.rs
line 264 at r1 (raw file):
Fraction::new(SecureField::one(), SecureField::one()), ); }
Can you add this test here?
Suggestion:
}
#[test]
fn test_lookup_elements_combine() {
let mut channel = Blake2sChannel::default();
let lookup_elements = LookupElements::<3>::draw(&mut channel);
let values = [
BaseField::from_u32_unchecked(123),
BaseField::from_u32_unchecked(456),
BaseField::from_u32_unchecked(789),
];
assert_eq!(
lookup_elements.combine::<BaseField, SecureField>(&values),
BaseField::from_u32_unchecked(123)
+ BaseField::from_u32_unchecked(456) * lookup_elements.alpha
+ BaseField::from_u32_unchecked(789) * lookup_elements.alpha.pow(2)
- lookup_elements.z
);
}
@shaharsamocha7 The test has been added. |
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.
Reviewed 1 of 1 files at r2, all commit messages.
Reviewable status: complete! all files reviewed, all discussions resolved (waiting on @weikengchen)
* modify logup elements * add the test * fmt
* modify logup elements * add the test * fmt
This PR changes how the alpha powers are being applied to the values. In addition, the number of lookup elements needed for the Poseidon example is indeed only N_STATE rather than N_STATE * 2 as previously defined.
This change is