pub trait EcPointLoader<C: CurveAffine> {
type LoadedEcPoint: LoadedEcPoint<C, Loader = Self>;
// Required methods
fn ec_point_load_const(&self, value: &C) -> Self::LoadedEcPoint;
fn ec_point_assert_eq(
&self,
annotation: &str,
lhs: &Self::LoadedEcPoint,
rhs: &Self::LoadedEcPoint,
);
fn multi_scalar_multiplication(
pairs: &[(&Self::LoadedScalar, &Self::LoadedEcPoint)],
) -> Self::LoadedEcPoint
where Self: ScalarLoader<C::ScalarExt>;
// Provided methods
fn ec_point_load_zero(&self) -> Self::LoadedEcPoint { ... }
fn ec_point_load_one(&self) -> Self::LoadedEcPoint { ... }
}
Expand description
Elliptic curve point loader.
Required Associated Types§
Sourcetype LoadedEcPoint: LoadedEcPoint<C, Loader = Self>
type LoadedEcPoint: LoadedEcPoint<C, Loader = Self>
Required Methods§
Sourcefn ec_point_load_const(&self, value: &C) -> Self::LoadedEcPoint
fn ec_point_load_const(&self, value: &C) -> Self::LoadedEcPoint
Load a constant elliptic curve point.
Sourcefn ec_point_assert_eq(
&self,
annotation: &str,
lhs: &Self::LoadedEcPoint,
rhs: &Self::LoadedEcPoint,
)
fn ec_point_assert_eq( &self, annotation: &str, lhs: &Self::LoadedEcPoint, rhs: &Self::LoadedEcPoint, )
Assert lhs and rhs elliptic curve points are equal.
Sourcefn multi_scalar_multiplication(
pairs: &[(&Self::LoadedScalar, &Self::LoadedEcPoint)],
) -> Self::LoadedEcPointwhere
Self: ScalarLoader<C::ScalarExt>,
fn multi_scalar_multiplication(
pairs: &[(&Self::LoadedScalar, &Self::LoadedEcPoint)],
) -> Self::LoadedEcPointwhere
Self: ScalarLoader<C::ScalarExt>,
Perform multi-scalar multiplication.
Provided Methods§
Sourcefn ec_point_load_zero(&self) -> Self::LoadedEcPoint
fn ec_point_load_zero(&self) -> Self::LoadedEcPoint
Load identity
as constant.
Sourcefn ec_point_load_one(&self) -> Self::LoadedEcPoint
fn ec_point_load_one(&self) -> Self::LoadedEcPoint
Load generator
as constant.
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.