twenty_first::math::traits

Trait FiniteField

Source
pub trait FiniteField:
    Copy
    + Debug
    + Display
    + Eq
    + Serialize
    + DeserializeOwned
    + Hash
    + ConstZero
    + ConstOne
    + Add<Output = Self>
    + Mul<Output = Self>
    + Sub<Output = Self>
    + Div<Output = Self>
    + Neg<Output = Self>
    + AddAssign
    + MulAssign
    + SubAssign
    + CyclicGroupGenerator
    + PrimitiveRootOfUnity
    + Inverse
    + ModPowU32
    + From<u64>
    + Send
    + Sync {
    // Provided methods
    fn batch_inversion(input: Vec<Self>) -> Vec<Self> { ... }
    fn square(self) -> Self { ... }
}

Provided Methods§

Source

fn batch_inversion(input: Vec<Self>) -> Vec<Self>

Montgomery Batch Inversion

Source

fn square(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.

Implementors§