Trait LimbsEncodingInstructions

Source
pub trait LimbsEncodingInstructions<C: CurveAffine, const LIMBS: usize, const BITS: usize>: EccInstructions<C> {
    // Required methods
    fn assign_ec_point_from_limbs(
        &self,
        ctx: &mut Self::Context,
        limbs: &[impl Deref<Target = Self::AssignedScalar>],
    ) -> Self::AssignedEcPoint;
    fn assign_ec_point_to_limbs(
        &self,
        ctx: &mut Self::Context,
        ec_point: impl Deref<Target = Self::AssignedEcPoint>,
    ) -> Vec<Self::AssignedCell>;
}
Expand description

Instructions to encode/decode a elliptic curve point into/from limbs.

Required Methods§

Source

fn assign_ec_point_from_limbs( &self, ctx: &mut Self::Context, limbs: &[impl Deref<Target = Self::AssignedScalar>], ) -> Self::AssignedEcPoint

Decode and assign an elliptic curve point from limbs.

Source

fn assign_ec_point_to_limbs( &self, ctx: &mut Self::Context, ec_point: impl Deref<Target = Self::AssignedEcPoint>, ) -> Vec<Self::AssignedCell>

Encode an elliptic curve point into limbs.

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.

Implementations on Foreign Types§

Source§

impl<C, const LIMBS: usize, const BITS: usize> LimbsEncodingInstructions<C, LIMBS, BITS> for BaseFieldEccChip<'_, C>

Source§

fn assign_ec_point_from_limbs( &self, ctx: &mut Self::Context, limbs: &[impl Deref<Target = Self::AssignedScalar>], ) -> Self::AssignedEcPoint

Source§

fn assign_ec_point_to_limbs( &self, _: &mut Self::Context, ec_point: impl Deref<Target = Self::AssignedEcPoint>, ) -> Vec<Self::AssignedCell>

Implementors§