IsSubFieldOf

Trait IsSubFieldOf 

Source
pub trait IsSubFieldOf<F: IsField>: IsField {
    // Required methods
    fn mul(a: &Self::BaseType, b: &F::BaseType) -> F::BaseType;
    fn add(a: &Self::BaseType, b: &F::BaseType) -> F::BaseType;
    fn div(
        a: &Self::BaseType,
        b: &F::BaseType,
    ) -> Result<F::BaseType, FieldError>;
    fn sub(a: &Self::BaseType, b: &F::BaseType) -> F::BaseType;
    fn embed(a: Self::BaseType) -> F::BaseType;
    fn to_subfield_vec(b: F::BaseType) -> Vec<Self::BaseType>;
}
Expand description

Represents the subfield relation between two fields.

Required Methods§

Source

fn mul(a: &Self::BaseType, b: &F::BaseType) -> F::BaseType

Source

fn add(a: &Self::BaseType, b: &F::BaseType) -> F::BaseType

Source

fn div(a: &Self::BaseType, b: &F::BaseType) -> Result<F::BaseType, FieldError>

Source

fn sub(a: &Self::BaseType, b: &F::BaseType) -> F::BaseType

Source

fn embed(a: Self::BaseType) -> F::BaseType

Source

fn to_subfield_vec(b: F::BaseType) -> Vec<Self::BaseType>

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§

Source§

impl IsSubFieldOf<Degree2ExtensionField> for BLS12377PrimeField

Source§

impl IsSubFieldOf<Degree2ExtensionField> for BLS12381PrimeField

Source§

impl IsSubFieldOf<Degree2ExtensionField> for BN254PrimeField

Source§

impl IsSubFieldOf<Degree4BabyBearExtensionField> for lambdaworks_math::field::fields::fft_friendly::babybear::Babybear31PrimeField

Source§

impl IsSubFieldOf<Degree4BabyBearU32ExtensionField> for lambdaworks_math::field::fields::fft_friendly::babybear_u32::Babybear31PrimeField

Implements efficient operations between a BabyBear element and a degree four extension element

Source§

impl IsSubFieldOf<Degree2ExtensionField> for Mersenne31Field

Source§

impl IsSubFieldOf<Degree4ExtensionField> for Mersenne31Field

Source§

impl<F> IsSubFieldOf<F> for F
where F: IsField,

Source§

impl<F, Q> IsSubFieldOf<CubicExtensionField<F, Q>> for F
where F: IsField, Q: Clone + Debug + HasCubicNonResidue<F>,

Source§

impl<F, Q> IsSubFieldOf<QuadraticExtensionField<F, Q>> for F