pub trait IsPairing {
    type G1Point: IsGroup;
    type G2Point: IsGroup;
    type OutputField: IsField;

    // Required method
    fn compute_batch(
        pairs: &[(&Self::G1Point, &Self::G2Point)]
    ) -> FieldElement<Self::OutputField>;

    // Provided method
    fn compute(
        p: &Self::G1Point,
        q: &Self::G2Point
    ) -> FieldElement<Self::OutputField> { ... }
}

Required Associated Types§

Required Methods§

source

fn compute_batch( pairs: &[(&Self::G1Point, &Self::G2Point)] ) -> FieldElement<Self::OutputField>

Compute the product of the pairings for a list of point pairs.

Provided Methods§

source

fn compute( p: &Self::G1Point, q: &Self::G2Point ) -> FieldElement<Self::OutputField>

Compute the ate pairing between point p in G1 and q in G2.

Implementors§