[][src]Trait fff::PrimeField

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

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

    fn from_repr(_: Self::Repr) -> Result<Self, PrimeFieldDecodingError>;
fn into_repr(&self) -> Self::Repr;
fn char() -> Self::Repr;
fn multiplicative_generator() -> Self;
fn root_of_unity() -> Self; fn from_str(s: &str) -> Option<Self> { ... } }

This represents an element of a prime field.

Associated Types

type Repr: PrimeFieldRepr + From<Self>

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

Loading content...

Associated Constants

const NUM_BITS: u32

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

const CAPACITY: u32

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

const S: u32

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

Loading content...

Required methods

fn from_repr(_: Self::Repr) -> Result<Self, PrimeFieldDecodingError>

Convert this prime field element into a biginteger representation.

fn into_repr(&self) -> Self::Repr

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

fn char() -> Self::Repr

Returns the field characteristic; the modulus.

fn multiplicative_generator() -> Self

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

fn root_of_unity() -> Self

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

Loading content...

Provided methods

fn from_str(s: &str) -> Option<Self>

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

Loading content...

Implementors

Loading content...