Trait ExtensionBuilder

Source
pub trait ExtensionBuilder: AirBuilder<F: Field> {
    type EF: ExtensionField<Self::F>;
    type ExprEF: From<Self::Expr> + Algebra<Self::EF>;
    type VarEF: Into<Self::ExprEF> + Copy + Send + Sync;

    // Required method
    fn assert_zero_ext<I>(&mut self, x: I)
       where I: Into<Self::ExprEF>;

    // Provided methods
    fn assert_eq_ext<I1, I2>(&mut self, x: I1, y: I2)
       where I1: Into<Self::ExprEF>,
             I2: Into<Self::ExprEF> { ... }
    fn assert_one_ext<I>(&mut self, x: I)
       where I: Into<Self::ExprEF> { ... }
}
Expand description

Extension of AirBuilder for working over extension fields.

Required Associated Types§

Source

type EF: ExtensionField<Self::F>

Extension field type.

Source

type ExprEF: From<Self::Expr> + Algebra<Self::EF>

Expression type over extension field elements.

Source

type VarEF: Into<Self::ExprEF> + Copy + Send + Sync

Variable type over extension field elements.

Required Methods§

Source

fn assert_zero_ext<I>(&mut self, x: I)
where I: Into<Self::ExprEF>,

Assert that an extension field expression is zero.

Provided Methods§

Source

fn assert_eq_ext<I1, I2>(&mut self, x: I1, y: I2)
where I1: Into<Self::ExprEF>, I2: Into<Self::ExprEF>,

Assert that two extension field expressions are equal.

Source

fn assert_one_ext<I>(&mut self, x: I)
where I: Into<Self::ExprEF>,

Assert that an extension field expression is equal to one.

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.

Implementors§