pub trait PackedExtension<FS: Field>: PackedFieldwhere
Self::Scalar: ExtensionField<FS>,{
type PackedSubfield: PackedField<Scalar = FS>;
// Required methods
fn cast_bases(packed: &[Self]) -> &[Self::PackedSubfield];
fn cast_bases_mut(packed: &mut [Self]) -> &mut [Self::PackedSubfield];
fn cast_exts(packed: &[Self::PackedSubfield]) -> &[Self];
fn cast_exts_mut(packed: &mut [Self::PackedSubfield]) -> &mut [Self];
fn cast_base(&self) -> &Self::PackedSubfield;
fn cast_base_mut(&mut self) -> &mut Self::PackedSubfield;
fn cast_ext(base: &Self::PackedSubfield) -> &Self;
fn cast_ext_mut(base: &mut Self::PackedSubfield) -> &mut Self;
}
Expand description
The trait represents the relation between the packed fields of the same bit size where one scalar is the extension of the other one.
Required Associated Types§
type PackedSubfield: PackedField<Scalar = FS>
Required Methods§
fn cast_bases(packed: &[Self]) -> &[Self::PackedSubfield]
fn cast_bases_mut(packed: &mut [Self]) -> &mut [Self::PackedSubfield]
fn cast_exts(packed: &[Self::PackedSubfield]) -> &[Self]
fn cast_exts_mut(packed: &mut [Self::PackedSubfield]) -> &mut [Self]
fn cast_base(&self) -> &Self::PackedSubfield
fn cast_base_mut(&mut self) -> &mut Self::PackedSubfield
fn cast_ext(base: &Self::PackedSubfield) -> &Self
fn cast_ext_mut(base: &mut Self::PackedSubfield) -> &mut Self
Object Safety§
This trait is not object safe.