binius_field::packed_extension_ops

Function ext_base_op

Source
pub fn ext_base_op<PE, F, Func>(
    lhs: &mut [PE],
    rhs: &[PE::PackedSubfield],
    op: Func,
) -> Result<(), Error>
where PE: PackedExtension<F>, PE::Scalar: ExtensionField<F>, F: Field, Func: Fn(usize, PE, PE::PackedSubfield) -> PE,
Expand description

Refer to the functions above for examples of closures to pass Func takes in the following parameters

Note that this function overwrites the lhs buffer, copy that data before invoking this function if you need to use it elsewhere

lhs: PE::WIDTH extension field scalars

broadcasted_rhs: a broadcasted version of PE::WIDTH subfield scalars with each one occurring PE::PackedSubfield::WIDTH/PE::WIDTH times in a row such that the bits of the broadcasted scalars align with the lhs scalars