Trait ff_ce::PrimeField

source ·
pub trait PrimeField: Field {
    type Repr: PrimeFieldRepr + From<Self>;

    const NUM_BITS: u32;
    const CAPACITY: u32;
    const S: u32;

    fn from_repr(repr: Self::Repr) -> Result<Self, PrimeFieldDecodingError>;
    fn from_raw_repr(repr: Self::Repr) -> Result<Self, PrimeFieldDecodingError>;
    fn into_repr(&self) -> Self::Repr;
    fn into_raw_repr(&self) -> Self::Repr;
    fn char() -> Self::Repr;
    fn multiplicative_generator() -> Self;
    fn root_of_unity() -> Self;

    fn from_str(s: &str) -> Option<Self> { ... }
}
Expand description

This represents an element of a prime field.

Required Associated Types§

The prime field can be converted back and forth into this biginteger representation.

Required Associated Constants§

How many bits are needed to represent an element of this field.

How many bits of information can be reliably stored in the field element.

2^s * t = char() - 1 with t odd.

Required Methods§

Convert this prime field element into a biginteger representation.

Creates an element from raw representation in Montgommery form.

Convert a biginteger representation into a prime field element, if the number is an element of the field.

Expose Montgommery represendation.

Returns the field characteristic; the modulus.

Returns the multiplicative generator of char() - 1 order. This element must also be quadratic nonresidue.

Returns the 2^s root of unity computed by exponentiating the multiplicative_generator() by t.

Provided Methods§

Interpret a string of numbers as a (congruent) prime field element. Does not accept unnecessary leading zeroes or a blank string.

Implementors§