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", so this trait is not object safe.

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§