This commit is contained in:
wborgeaud 2022-02-04 15:56:59 +01:00
parent 588911f156
commit d99cabded9
4 changed files with 27 additions and 0 deletions

View File

@ -81,6 +81,10 @@ impl<F: RichField + Extendable<D>, const D: usize> Stark<F, D> for FibonacciStar
) {
todo!()
}
fn degree(&self) -> usize {
2
}
}
#[cfg(test)]
@ -93,6 +97,7 @@ mod tests {
use crate::config::StarkConfig;
use crate::fibonacci_stark::FibonacciStark;
use crate::prover::prove;
use crate::stark_testing::test_low_degree;
use crate::verifier::verify;
fn fibonacci(n: usize, x0: usize, x1: usize) -> usize {
@ -125,4 +130,17 @@ mod tests {
verify(stark, proof, &config)
}
#[test]
fn test_fibonacci_stark_degree() -> Result<()> {
const D: usize = 2;
type C = PoseidonGoldilocksConfig;
type F = <C as GenericConfig<D>>::F;
type S = FibonacciStark<F, D>;
let config = StarkConfig::standard_fast_config();
let num_rows = 1 << 5;
let stark = S::new(num_rows);
test_low_degree(stark)
}
}

View File

@ -17,3 +17,5 @@ pub mod verifier;
#[cfg(test)]
pub mod fibonacci_stark;
#[cfg(test)]
pub mod stark_testing;

View File

@ -62,6 +62,9 @@ pub trait Stark<F: RichField + Extendable<D>, const D: usize>: Sync {
yield_constr: &mut RecursiveConstraintConsumer<F, D>,
);
/// The maximum constraint degree.
fn degree(&self) -> usize;
/// Computes the FRI instance used to prove this Stark.
// TODO: Permutation polynomials.
fn fri_instance(

View File

@ -80,6 +80,10 @@ impl<F: RichField + Extendable<D>, const D: usize> Stark<F, D> for SystemZero<F,
self.eval_permutation_unit_recursively(builder, vars, yield_constr);
todo!()
}
fn degree(&self) -> usize {
3
}
}
#[cfg(test)]