Trait pairing::MultiMillerLoop

source ·
pub trait MultiMillerLoop: Engine {
    type G2Prepared: Clone + Send + Sync + From<Self::G2Affine>;
    type Result: MillerLoopResult<Gt = Self::Gt>;

    // Required method
    fn multi_miller_loop(
        terms: &[(&Self::G1Affine, &Self::G2Prepared)],
    ) -> Self::Result;
}
Expand description

An engine that can compute sums of pairings in an efficient way.

Required Associated Types§

source

type G2Prepared: Clone + Send + Sync + From<Self::G2Affine>

The prepared form of Self::G2Affine.

source

type Result: MillerLoopResult<Gt = Self::Gt>

The type returned by Engine::miller_loop.

Required Methods§

source

fn multi_miller_loop( terms: &[(&Self::G1Affine, &Self::G2Prepared)], ) -> Self::Result

Computes $$\sum_{i=1}^n \textbf{ML}(a_i, b_i)$$ given a series of terms $$(a_1, b_1), (a_2, b_2), …, (a_n, b_n).$$

Object Safety§

This trait is not object safe.

Implementors§