Trait halo2_middleware::zal::traits::MsmAccel
source · pub trait MsmAccel<C: CurveAffine> {
type CoeffsDescriptor<'c>;
type BaseDescriptor<'b>;
// Required methods
fn msm(&self, coeffs: &[C::Scalar], base: &[C]) -> C::Curve;
fn get_coeffs_descriptor<'c>(
&self,
coeffs: &'c [C::Scalar]
) -> Self::CoeffsDescriptor<'c>;
fn get_base_descriptor<'b>(&self, base: &'b [C]) -> Self::BaseDescriptor<'b>;
fn msm_with_cached_scalars(
&self,
coeffs: &Self::CoeffsDescriptor<'_>,
base: &[C]
) -> C::Curve;
fn msm_with_cached_base(
&self,
coeffs: &[C::Scalar],
base: &Self::BaseDescriptor<'_>
) -> C::Curve;
fn msm_with_cached_inputs(
&self,
coeffs: &Self::CoeffsDescriptor<'_>,
base: &Self::BaseDescriptor<'_>
) -> C::Curve;
}
Required Associated Types§
type CoeffsDescriptor<'c>
type BaseDescriptor<'b>
Required Methods§
fn msm(&self, coeffs: &[C::Scalar], base: &[C]) -> C::Curve
fn get_coeffs_descriptor<'c>( &self, coeffs: &'c [C::Scalar] ) -> Self::CoeffsDescriptor<'c>
fn get_base_descriptor<'b>(&self, base: &'b [C]) -> Self::BaseDescriptor<'b>
fn msm_with_cached_scalars( &self, coeffs: &Self::CoeffsDescriptor<'_>, base: &[C] ) -> C::Curve
fn msm_with_cached_base( &self, coeffs: &[C::Scalar], base: &Self::BaseDescriptor<'_> ) -> C::Curve
fn msm_with_cached_inputs( &self, coeffs: &Self::CoeffsDescriptor<'_>, base: &Self::BaseDescriptor<'_> ) -> C::Curve
Object Safety§
This trait is not object safe.