Trait EvaluationDomainFactory

Source
pub trait EvaluationDomainFactory<DomainField: Field>: Clone + Sync {
    // Required method
    fn create_with_infinity(
        &self,
        size: usize,
        with_infinity: bool,
    ) -> Result<EvaluationDomain<DomainField>, Error>;

    // Provided method
    fn create(
        &self,
        size: usize,
    ) -> Result<EvaluationDomain<DomainField>, Error> { ... }
}
Expand description

Wraps type information to enable instantiating EvaluationDomains.

Required Methods§

Source

fn create_with_infinity( &self, size: usize, with_infinity: bool, ) -> Result<EvaluationDomain<DomainField>, Error>

Instantiates an EvaluationDomain from size values in total: lexicographically first values from the binary subspace and potentially Karatsuba “infinity” point (which is the coefficient of the highest power in the interpolated polynomial).

Provided Methods§

Source

fn create(&self, size: usize) -> Result<EvaluationDomain<DomainField>, Error>

Instantiates an EvaluationDomain from size lexicographically first values from the binary subspace.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<'a, DomainField: Field, T: 'a + EvaluationDomainFactory<DomainField> + ?Sized> EvaluationDomainFactory<DomainField> for &'a T
where &'a T: Clone + Sync,

Source§

fn create(&self, size: usize) -> Result<EvaluationDomain<DomainField>, Error>

Source§

fn create_with_infinity( &self, size: usize, with_infinity: bool, ) -> Result<EvaluationDomain<DomainField>, Error>

Implementors§