Skip to main content

AlgebraExt

Trait AlgebraExt 

Source
pub(crate) trait AlgebraExt: Sized {
    // Required methods
    fn mod_plus_minus<M: Unsigned>(&self) -> Self;
    fn infinity_norm(&self) -> <BaseField as Field>::Int;
    fn power2round(&self) -> (Self, Self);
    fn high_bits<TwoGamma2: Unsigned>(&self) -> Self;
    fn low_bits<TwoGamma2: Unsigned>(&self) -> Self;
}

Required Methods§

Source

fn mod_plus_minus<M: Unsigned>(&self) -> Self

Source

fn infinity_norm(&self) -> <BaseField as Field>::Int

Source

fn power2round(&self) -> (Self, Self)

Source

fn high_bits<TwoGamma2: Unsigned>(&self) -> Self

Source

fn low_bits<TwoGamma2: Unsigned>(&self) -> Self

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl AlgebraExt for Elem<BaseField>

Source§

fn mod_plus_minus<M: Unsigned>(&self) -> Self

Source§

fn infinity_norm(&self) -> u32

Source§

fn power2round(&self) -> (Self, Self)

Source§

fn high_bits<TwoGamma2: Unsigned>(&self) -> Self

Source§

fn low_bits<TwoGamma2: Unsigned>(&self) -> Self

Source§

impl AlgebraExt for Polynomial<BaseField>

Source§

fn mod_plus_minus<M: Unsigned>(&self) -> Self

Source§

fn infinity_norm(&self) -> u32

Source§

fn power2round(&self) -> (Self, Self)

Source§

fn high_bits<TwoGamma2: Unsigned>(&self) -> Self

Source§

fn low_bits<TwoGamma2: Unsigned>(&self) -> Self

Source§

impl<K: ArraySize> AlgebraExt for Vector<BaseField, K>

Source§

fn mod_plus_minus<M: Unsigned>(&self) -> Self

Source§

fn infinity_norm(&self) -> u32

Source§

fn power2round(&self) -> (Self, Self)

Source§

fn high_bits<TwoGamma2: Unsigned>(&self) -> Self

Source§

fn low_bits<TwoGamma2: Unsigned>(&self) -> Self

Implementors§