-
Notifications
You must be signed in to change notification settings - Fork 295
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
chore: Split SumcheckRound into Prover/Verifier classes #1373
Conversation
template <typename... T> | ||
static constexpr void add_tuples(std::tuple<T...>& tuple_1, const std::tuple<T...>& tuple_2) | ||
{ | ||
[&]<std::size_t... I>(std::index_sequence<I...>) { ((std::get<I>(tuple_1) += std::get<I>(tuple_2)), ...); } |
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.
Nitpick: This took me a bit to realize this is a lambda being called - maybe we could assign the lambda?
auto add_tuples_helper = ....
add_tuples_helper(std::make_index_sequence<sizeof...(T)>{})
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.
That was indeed gross and I've removed the lambda altogether and simplified it to a single fold expression
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.
Scratch that. Thought I was clever but most of the compilers didn't like it. Went with your original suggestion
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 think I can review this one as it's a refactor (I'll rely on others for new crypto)
e318a42
to
5a0d94a
Compare
fbcec75
to
da5027c
Compare
da5027c
to
a742f9d
Compare
Description
Split
SumcheckRound
intoSumcheckRoundProver
andSumcheckRoundVerifier
in support of the recursive verifier work. We do not want to inadvertently instantiate "prover functionality" with stdlib types when instantiatingUltraVerifier_<flavor::UltraRecursive>
. Sumcheck itself was split in a previous PR but SumcheckRound was overlooked.Checklist: