Skip to main content

Bn254

Struct Bn254 

Source
pub struct Bn254;

Trait Implementations§

Source§

impl Clone for Bn254

Source§

fn clone(&self) -> Bn254

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Bn254

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Hash for Bn254

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl Pairing for Bn254

Source§

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>

This is the scalar field of the G1/G2 groups.
Source§

type G1 = Projective<<Config as BnConfig>::G1Config>

An element in G1.
Source§

type G1Affine = Affine<<Config as BnConfig>::G1Config>

Source§

type G1Prepared = G1Prepared<Config>

A G1 element that has been preprocessed for use in a pairing.
Source§

type G2 = Projective<<Config as BnConfig>::G2Config>

An element of G2.
Source§

type G2Affine = Affine<<Config as BnConfig>::G2Config>

The affine representation of an element in G2.
Source§

type G2Prepared = G2PreparedNoAlloc

A G2 element that has been preprocessed for use in a pairing.
Source§

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>

Computes the product of Miller loops for some number of (G1, G2) pairs.
Source§

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>

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>

Computes a “product” of pairings.
§

fn pairing( p: impl Into<Self::G1Prepared>, q: impl Into<Self::G2Prepared>, ) -> PairingOutput<Self>

Performs multiple pairing operations
Source§

impl PartialEq for Bn254

Source§

fn eq(&self, other: &Bn254) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for Bn254

Source§

impl Eq for Bn254

Source§

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> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V