Struct winter_prover::StarkDomain
source · pub struct StarkDomain<B: StarkField> { /* private fields */ }Implementations§
source§impl<B: StarkField> StarkDomain<B>
impl<B: StarkField> StarkDomain<B>
sourcepub fn new<A: Air<BaseField = B>>(air: &A) -> Self
pub fn new<A: Air<BaseField = B>>(air: &A) -> Self
Returns a new STARK domain initialized with the provided context.
sourcepub fn trace_length(&self) -> usize
pub fn trace_length(&self) -> usize
Returns length of the execution trace for this computation.
sourcepub fn trace_twiddles(&self) -> &[B] ⓘ
pub fn trace_twiddles(&self) -> &[B] ⓘ
Returns twiddles which can be used to evaluate trace polynomials.
sourcepub fn trace_to_ce_blowup(&self) -> usize
pub fn trace_to_ce_blowup(&self) -> usize
Returns blowup factor from trace to constraint evaluation domain.
sourcepub fn trace_to_lde_blowup(&self) -> usize
pub fn trace_to_lde_blowup(&self) -> usize
Returns blowup factor from trace to LDE domain.
sourcepub fn ce_domain_size(&self) -> usize
pub fn ce_domain_size(&self) -> usize
Returns the size of the constraint evaluation domain for this computation.
sourcepub fn ce_domain_generator(&self) -> B
pub fn ce_domain_generator(&self) -> B
Returns the generator of constraint evaluation domain.
sourcepub fn ce_to_lde_blowup(&self) -> usize
pub fn ce_to_lde_blowup(&self) -> usize
Returns blowup factor from constraint evaluation to LDE domain.
sourcepub fn get_ce_x_at(&self, step: usize) -> B
pub fn get_ce_x_at(&self, step: usize) -> B
Returns s * g^step where g is the constraint evaluation domain generator and s is the domain offset.
sourcepub fn get_ce_x_power_at(&self, step: usize, power: u64, offset_exp: B) -> B
pub fn get_ce_x_power_at(&self, step: usize, power: u64, offset_exp: B) -> B
Returns (s * g^step)^power where g is the constraint evaluation domain generator and s is the domain offset.
The computation is performed without doing exponentiations. offset_exp is assumed to be s^power which is pre-computed elsewhere.
sourcepub fn lde_domain_size(&self) -> usize
pub fn lde_domain_size(&self) -> usize
Returns the size of the low-degree extension domain.