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.
MillerLoopResult
s cannot be compared with each other until
MillerLoopResult::final_exponentiation
is called, which is also expensive.
Required Associated Types§
Required Methods§
Sourcefn final_exponentiation(&self) -> Self::Gt
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", so this trait is not object safe.