pub struct Bn254;Trait Implementations§
Source§impl Pairing for Bn254
impl Pairing for Bn254
Source§type BaseField = Fp<MontBackend<FqConfig, 4>, 4>
type BaseField = Fp<MontBackend<FqConfig, 4>, 4>
This is the base field of the G1 group and base prime field of G2.
Source§type ScalarField = Fp<MontBackend<FrConfig, 4>, 4>
type ScalarField = Fp<MontBackend<FrConfig, 4>, 4>
This is the scalar field of the G1/G2 groups.
type G1Affine = Affine<<Config as BnConfig>::G1Config>
Source§type G1Prepared = G1Prepared<Config>
type G1Prepared = G1Prepared<Config>
A G1 element that has been preprocessed for use in a pairing.
Source§type G2Affine = Affine<<Config as BnConfig>::G2Config>
type G2Affine = Affine<<Config as BnConfig>::G2Config>
The affine representation of an element in G2.
Source§type G2Prepared = G2PreparedNoAlloc
type G2Prepared = G2PreparedNoAlloc
A G2 element that has been preprocessed for use in a pairing.
Source§type TargetField = QuadExtField<Fp12ConfigWrapper<Fq12Config>>
type TargetField = QuadExtField<Fp12ConfigWrapper<Fq12Config>>
The extension field that hosts the target group of the pairing.
Source§fn multi_miller_loop(
a: impl IntoIterator<Item = impl Into<Self::G1Prepared>>,
b: impl IntoIterator<Item = impl Into<Self::G2Prepared>>,
) -> MillerLoopOutput<Self>
fn multi_miller_loop( a: impl IntoIterator<Item = impl Into<Self::G1Prepared>>, b: impl IntoIterator<Item = impl Into<Self::G2Prepared>>, ) -> MillerLoopOutput<Self>
Computes the product of Miller loops for some number of (G1, G2) pairs.
Source§fn final_exponentiation(
f: MillerLoopOutput<Self>,
) -> Option<PairingOutput<Self>>
fn final_exponentiation( f: MillerLoopOutput<Self>, ) -> Option<PairingOutput<Self>>
Performs final exponentiation of the result of a
Self::multi_miller_loop.§fn miller_loop(
a: impl Into<Self::G1Prepared>,
b: impl Into<Self::G2Prepared>,
) -> MillerLoopOutput<Self>
fn miller_loop( a: impl Into<Self::G1Prepared>, b: impl Into<Self::G2Prepared>, ) -> MillerLoopOutput<Self>
Computes the Miller loop over
a and b.§fn multi_pairing(
a: impl IntoIterator<Item = impl Into<Self::G1Prepared>>,
b: impl IntoIterator<Item = impl Into<Self::G2Prepared>>,
) -> PairingOutput<Self>
fn multi_pairing( a: impl IntoIterator<Item = impl Into<Self::G1Prepared>>, b: impl IntoIterator<Item = impl Into<Self::G2Prepared>>, ) -> PairingOutput<Self>
Computes a “product” of pairings.
impl Copy for Bn254
impl Eq for Bn254
impl StructuralPartialEq for Bn254
Auto Trait Implementations§
impl Freeze for Bn254
impl RefUnwindSafe for Bn254
impl Send for Bn254
impl Sync for Bn254
impl Unpin for Bn254
impl UnwindSafe for Bn254
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more