Skip to main content

TwoAdicField

Trait TwoAdicField 

pub trait TwoAdicField: Field {
    const TWO_ADICITY: usize;

    // Required method
    fn two_adic_generator(bits: usize) -> Self;
}
Expand description

A field which supplies information like the two-adicity of its multiplicative group, and methods for obtaining two-adic generators.

Required Associated Constants§

const TWO_ADICITY: usize

The number of factors of two in this field’s multiplicative group.

Required Methods§

fn two_adic_generator(bits: usize) -> Self

Returns a generator of the multiplicative group of order 2^bits. Assumes bits <= TWO_ADICITY, otherwise the result is undefined.

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.

Implementations on Foreign Types§

§

impl TwoAdicField for Felt

§

const TWO_ADICITY: usize = <Goldilocks as TwoAdicField>::TWO_ADICITY

§

fn two_adic_generator(bits: usize) -> Felt

§

impl TwoAdicField for Goldilocks

§

const TWO_ADICITY: usize = 32

§

fn two_adic_generator(bits: usize) -> Goldilocks

§

impl<FP> TwoAdicField for MontyField31<FP>
where FP: FieldParameters + TwoAdicData,

§

const TWO_ADICITY: usize = FP::TWO_ADICITY

§

fn two_adic_generator(bits: usize) -> MontyField31<FP>

Implementors§

§

impl<F> TwoAdicField for QuinticTrinomialExtensionField<F>
where F: QuinticTrinomialExtendable + HasTwoAdicQuinticExtension,

§

const TWO_ADICITY: usize = F::EXT_TWO_ADICITY

§

impl<F, const D: usize> TwoAdicField for BinomialExtensionField<F, D>

§

const TWO_ADICITY: usize = F::EXT_TWO_ADICITY