Skip to main content

MillerLoopResult

Trait MillerLoopResult 

Source
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;

    // Required method
    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§

Source

type Gt: Group

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

Required Methods§

Source

fn final_exponentiation(&self) -> Self::Gt

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.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§