pub trait EndoCurve: CommitmentCurve {
    // Provided methods
    fn combine_one(g1: &[Self], g2: &[Self], x2: Self::ScalarField) -> Vec<Self> { ... }
    fn combine_one_endo(
        endo_r: Self::ScalarField,
        _endo_q: Self::BaseField,
        g1: &[Self],
        g2: &[Self],
        x2: ScalarChallenge<Self::ScalarField>
    ) -> Vec<Self> { ... }
    fn combine(
        g1: &[Self],
        g2: &[Self],
        x1: Self::ScalarField,
        x2: Self::ScalarField
    ) -> Vec<Self> { ... }
}
Expand description

A trait extending CommitmentCurve for endomorphisms. Unfortunately, we can’t specify that AffineRepr<BaseField : PrimeField>, so usage of this traits must manually bind G::BaseField: PrimeField.

Provided Methods§

source

fn combine_one(g1: &[Self], g2: &[Self], x2: Self::ScalarField) -> Vec<Self>

Combine where x1 = one

source

fn combine_one_endo( endo_r: Self::ScalarField, _endo_q: Self::BaseField, g1: &[Self], g2: &[Self], x2: ScalarChallenge<Self::ScalarField> ) -> Vec<Self>

Combine where x1 = one

source

fn combine( g1: &[Self], g2: &[Self], x1: Self::ScalarField, x2: Self::ScalarField ) -> Vec<Self>

Implementations on Foreign Types§

source§

impl<P: SWCurveConfig + Clone> EndoCurve for SWJAffine<P>

source§

fn combine_one(g1: &[Self], g2: &[Self], x2: Self::ScalarField) -> Vec<Self>

source§

fn combine_one_endo( _endo_r: Self::ScalarField, endo_q: Self::BaseField, g1: &[Self], g2: &[Self], x2: ScalarChallenge<Self::ScalarField> ) -> Vec<Self>

source§

fn combine( g1: &[Self], g2: &[Self], x1: Self::ScalarField, x2: Self::ScalarField ) -> Vec<Self>

Implementors§