Trait ff::PrimeField [−][src]
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.
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.
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.
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.