Trait risc0_core::field::ExtElem

source ·
pub trait ExtElem: Elem + Add<Output = Self> + AddAssign + Neg<Output = Self> + Mul<Self, Output = Self> + Mul<Self::SubElem, Output = Self> + MulAssign<Self> + MulAssign<Self::SubElem> + Sub<Output = Self> + SubAssign + PartialEq + Eq {
    type SubElem: Elem;

    const EXT_SIZE: usize;

    // Required methods
    fn from_subfield(elem: &Self::SubElem) -> Self;
    fn from_subelems(elems: impl IntoIterator<Item = Self::SubElem>) -> Self;
    fn subelems(&self) -> &[Self::SubElem];
}
Expand description

A field extension which can be constructed from a subfield element Elem

Required Associated Types§

Required Associated Constants§

Required Methods§

source

fn from_subfield(elem: &Self::SubElem) -> Self

Construct a field element

source

fn from_subelems(elems: impl IntoIterator<Item = Self::SubElem>) -> Self

source

fn subelems(&self) -> &[Self::SubElem]

Implementors§

source§

impl ExtElem for risc0_core::field::baby_bear::ExtElem

source§

const EXT_SIZE: usize = 4usize

§

type SubElem = Elem

source§

impl ExtElem for risc0_core::field::goldilocks::ExtElem

source§

const EXT_SIZE: usize = 2usize

§

type SubElem = Elem