Open ledwards2225 opened 1 year ago
I believe this issue can be easily resolved now that key classes like Sumcheck and Zermopmorph are separated into Prover and Verifier classes. I think there should be no need to do barycentyric extension on stdlib types. Could be forgetting something..
potential subtle bug in sumcheck - verifier needs to believe that round univariate evaluations are actually evaluations of the round univariates. this doesn't come for free - verifier might need to do barycentric extension to check this.
We need the functionality of
BarycentricData
for bothfield
andfield_t
. The former is "literal" i.e. is compatible with constexpr operations, and the former is not. The functions for computing the pre-computable arrays in BarycentricData need to be constexpr and it takes some trickery to share these functions with the non-constexpr setting. Right now everything is more or less duplicated acrossBarycentricDataCompileTime
andBarycentricDataRunTime
. There should be a way to share more of the logic.