Skip to main content

lilium_sumcheck/
lib.rs

1//! A linear sumcheck prover
2
3pub(crate) mod barycentric_eval;
4pub(crate) mod degree;
5pub mod eq;
6pub mod eval_check;
7pub mod eval_impls;
8pub mod folding;
9pub(crate) mod message;
10pub mod polynomials;
11pub mod sumcheck;
12pub mod symbolic;
13mod tests;
14pub mod utils;
15pub mod zerocheck;
16
17pub use tests::prove_and_verify;
18pub use tests::TestSponge;
19
20#[derive(Debug, Clone)]
21pub enum SumcheckError {
22    /// A message had an incorrect degree
23    MessageDegree,
24    /// The sum of both halves defers from the claimed sum
25    RoundSum,
26    // Transcript error
27    TranscriptError(transcript::Error),
28}