pub trait PolynomialSpaceVariable<C: Config>: Sized + FromConstant<C> {
    type Constant: PolynomialSpace<Val = C::F>;

    // Required methods
    fn next_point(
        &self,
        builder: &mut Builder<C>,
        point: Ext<C::F, C::EF>,
    ) -> Ext<C::F, C::EF>;
    fn selectors_at_point(
        &self,
        builder: &mut Builder<C>,
        point: Ext<C::F, C::EF>,
    ) -> LagrangeSelectors<Ext<C::F, C::EF>>;
    fn zp_at_point(
        &self,
        builder: &mut Builder<C>,
        point: Ext<C::F, C::EF>,
    ) -> Ext<C::F, C::EF>;
    fn split_domains(
        &self,
        builder: &mut Builder<C>,
        log_num_chunks: impl Into<Usize<C::N>>,
        num_chunks: impl Into<Usize<C::N>>,
    ) -> Array<C, Self>;
    fn split_domains_const(
        &self,
        _: &mut Builder<C>,
        log_num_chunks: usize,
    ) -> Vec<Self>;
    fn create_disjoint_domain(
        &self,
        builder: &mut Builder<C>,
        log_degree: Usize<C::N>,
        config: Option<FriConfigVariable<C>>,
    ) -> Self;
}
Expand description

Required Associated Types§

Required Methods§

source

fn next_point( &self, builder: &mut Builder<C>, point: Ext<C::F, C::EF>, ) -> Ext<C::F, C::EF>

source

fn selectors_at_point( &self, builder: &mut Builder<C>, point: Ext<C::F, C::EF>, ) -> LagrangeSelectors<Ext<C::F, C::EF>>

source

fn zp_at_point( &self, builder: &mut Builder<C>, point: Ext<C::F, C::EF>, ) -> Ext<C::F, C::EF>

source

fn split_domains( &self, builder: &mut Builder<C>, log_num_chunks: impl Into<Usize<C::N>>, num_chunks: impl Into<Usize<C::N>>, ) -> Array<C, Self>

source

fn split_domains_const( &self, _: &mut Builder<C>, log_num_chunks: usize, ) -> Vec<Self>

source

fn create_disjoint_domain( &self, builder: &mut Builder<C>, log_degree: Usize<C::N>, config: Option<FriConfigVariable<C>>, ) -> Self

Object Safety§

This trait is not object safe.

Implementors§