Skip to main content

spongefish_circuit/
lib.rs

1#![cfg_attr(not(test), no_std)]
2#![cfg_attr(docsrs, feature(doc_cfg))]
3
4extern crate alloc;
5pub mod allocator;
6#[cfg(feature = "p3-baby-bear")]
7pub mod baby_bear;
8pub mod encoding;
9mod error;
10pub mod expr;
11pub mod permutation;
12
13pub use allocator::{FieldVar, VarAllocator};
14pub use error::InvalidRelation;
15pub use expr::{Ring, Sum, Weighted};
16pub use permutation::{
17    LinearEquation, PermutationInstance, PermutationRelation, PermutationWitness,
18    PermutationWitnessBuilder, QueryAnswerPair,
19};
20
21// The README's examples are compiled here rather than in `spongefish`: this
22// crate reaches everything they use, `spongefish` with `derive`, BabyBear,
23// the builders, and `spongefish-pow` as a dev-dependency. They are not
24// repeated in the rendered documentation.
25#[cfg(all(doctest, feature = "p3-baby-bear"))]
26#[doc = include_str!("../../README.md")]
27pub mod readme_doctests {}