pub struct Degree4ExtensionField;
Implementations§
Source§impl Degree4ExtensionField
impl Degree4ExtensionField
pub const fn const_from_coefficients( a: u32, b: u32, c: u32, d: u32, ) -> FieldElement<Degree4ExtensionField>
Trait Implementations§
Source§impl Clone for Degree4ExtensionField
impl Clone for Degree4ExtensionField
Source§fn clone(&self) -> Degree4ExtensionField
fn clone(&self) -> Degree4ExtensionField
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for Degree4ExtensionField
impl Debug for Degree4ExtensionField
Source§impl HasCircleParams<Degree4ExtensionField> for Degree4ExtensionField
impl HasCircleParams<Degree4ExtensionField> for Degree4ExtensionField
Source§const ORDER: u128 = 21_267_647_892_944_572_736_998_860_269_687_930_880u128
const ORDER: u128 = 21_267_647_892_944_572_736_998_860_269_687_930_880u128
ORDER = (2^31 - 1)^4 - 1
Source§const CIRCLE_GENERATOR_X: Self::FE
const CIRCLE_GENERATOR_X: Self::FE
Coordinate x of the generator of the circle group.
Source§const CIRCLE_GENERATOR_Y: Self::FE
const CIRCLE_GENERATOR_Y: Self::FE
Coordinate y of the generator of the circle group.
type FE = FieldElement<Degree4ExtensionField>
Source§impl IsField for Degree4ExtensionField
impl IsField for Degree4ExtensionField
Source§type BaseType = [FieldElement<Degree2ExtensionField>; 2]
type BaseType = [FieldElement<Degree2ExtensionField>; 2]
The underlying base type for representing elements from the field.
Source§fn sub(a: &Self::BaseType, b: &Self::BaseType) -> Self::BaseType
fn sub(a: &Self::BaseType, b: &Self::BaseType) -> Self::BaseType
Returns the subtraction of
a
and b
.Source§fn mul(a: &Self::BaseType, b: &Self::BaseType) -> Self::BaseType
fn mul(a: &Self::BaseType, b: &Self::BaseType) -> Self::BaseType
Returns the multiplication of
a
and b
.Source§fn inv(a: &Self::BaseType) -> Result<Self::BaseType, FieldError>
fn inv(a: &Self::BaseType) -> Result<Self::BaseType, FieldError>
Returns the multiplicative inverse of
a
.Source§fn div(
a: &Self::BaseType,
b: &Self::BaseType,
) -> Result<Self::BaseType, FieldError>
fn div( a: &Self::BaseType, b: &Self::BaseType, ) -> Result<Self::BaseType, FieldError>
Returns the division of
a
and b
.Source§fn eq(a: &Self::BaseType, b: &Self::BaseType) -> bool
fn eq(a: &Self::BaseType, b: &Self::BaseType) -> bool
Returns a boolean indicating whether
a
and b
are equal or not.Source§fn from_u64(x: u64) -> Self::BaseType
fn from_u64(x: u64) -> Self::BaseType
Returns the element
x * 1
where 1 is the multiplicative neutral element.Source§fn from_base_type(x: Self::BaseType) -> Self::BaseType
fn from_base_type(x: Self::BaseType) -> Self::BaseType
Takes as input an element of BaseType and returns the internal representation
of that element in the field.
fn pow<T>(a: &Self::BaseType, exponent: T) -> Self::BaseTypewhere
T: IsUnsignedInteger,
Source§impl IsSubFieldOf<Degree4ExtensionField> for Mersenne31Field
impl IsSubFieldOf<Degree4ExtensionField> for Mersenne31Field
fn add( a: &Self::BaseType, b: &<Degree4ExtensionField as IsField>::BaseType, ) -> <Degree4ExtensionField as IsField>::BaseType
fn sub( a: &Self::BaseType, b: &<Degree4ExtensionField as IsField>::BaseType, ) -> <Degree4ExtensionField as IsField>::BaseType
fn mul( a: &Self::BaseType, b: &<Degree4ExtensionField as IsField>::BaseType, ) -> <Degree4ExtensionField as IsField>::BaseType
fn div( a: &Self::BaseType, b: &<Degree4ExtensionField as IsField>::BaseType, ) -> Result<<Degree4ExtensionField as IsField>::BaseType, FieldError>
fn embed(a: Self::BaseType) -> <Degree4ExtensionField as IsField>::BaseType
fn to_subfield_vec( b: <Degree4ExtensionField as IsField>::BaseType, ) -> Vec<Self::BaseType>
Auto Trait Implementations§
impl Freeze for Degree4ExtensionField
impl RefUnwindSafe for Degree4ExtensionField
impl Send for Degree4ExtensionField
impl Sync for Degree4ExtensionField
impl Unpin for Degree4ExtensionField
impl UnwindSafe for Degree4ExtensionField
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more