Trait polenta::PolentaUtilExt

source ·
pub trait PolentaUtilExt<F: IsField> {
    // Required methods
    fn poly_as_felt(poly: &Polynomial<FieldElement<F>>) -> FieldElement<F>;
    fn felt_as_poly(felt: FieldElement<F>) -> Polynomial<FieldElement<F>>;
    fn poly_print(poly: &Polynomial<FieldElement<F>>) -> String;
    fn poly_pow(
        poly: &Polynomial<FieldElement<F>>,
        exponent: FieldElement<F>,
    ) -> Polynomial<FieldElement<F>>;
    fn poly_is_zero(poly: &Polynomial<FieldElement<F>>) -> bool;
    fn poly_from_bool(b: bool) -> Polynomial<FieldElement<F>>;
}
Expand description

Several utilities related to polynomials and field elements used within Polenta.

Required Methods§

source

fn poly_as_felt(poly: &Polynomial<FieldElement<F>>) -> FieldElement<F>

Treats the given constants polynomial as a field element.

source

fn felt_as_poly(felt: FieldElement<F>) -> Polynomial<FieldElement<F>>

Treats the given field element as a constant polynomial.

source

fn poly_print(poly: &Polynomial<FieldElement<F>>) -> String

Pretty-prints a given polynomial.

source

fn poly_pow( poly: &Polynomial<FieldElement<F>>, exponent: FieldElement<F>, ) -> Polynomial<FieldElement<F>>

Multiplies a polynomial with itself many times.

source

fn poly_is_zero(poly: &Polynomial<FieldElement<F>>) -> bool

Returns true if the given polynomial is a zero polynomial.

source

fn poly_from_bool(b: bool) -> Polynomial<FieldElement<F>>

Returns a polynomial representing the given boolean value, i.e. 1 for true and 0 for false.

Object Safety§

This trait is not object safe.

Implementors§