pub trait MillerLoopResult: Clone + Copy + Default + Debug + Send + Sync + Add<Output = Self> + for<'a> Add<&'a Self, Output = Self> + AddAssign + for<'a> AddAssign<&'a Self> {
    type Gt: Group;

    fn final_exponentiation(&self) -> Self::Gt;
}
Expand description

Represents results of a Miller loop, one of the most expensive portions of the pairing function.

MillerLoopResults cannot be compared with each other until MillerLoopResult::final_exponentiation is called, which is also expensive.

Required Associated Types§

The extension field that hosts the target group of the pairing.

Required Methods§

This performs a “final exponentiation” routine to convert the result of a Miller loop into an element of MillerLoopResult::Gt, so that it can be compared with other elements of Gt.

Implementors§