# [−][src]Struct bls12_381::Gt

pub struct Gt(_);

This is an element of $\mathbb{G}_T$, the target group of the pairing function. As with $\mathbb{G}_1$ and $\mathbb{G}_2$ this group has order $q$.

Typically, $\mathbb{G}_T$ is written multiplicatively but we will write it additively to keep code and abstractions consistent.

## Methods

### impl Gt[src]

#### pub fn identity() -> Gt[src]

Returns the group identity, which is $1$.

#### pub fn double(&self) -> Gt[src]

Doubles this group element.

## Trait Implementations

### impl<'a, 'b> Sub<&'b Gt> for &'a Gt[src]

#### type Output = Gt

The resulting type after applying the - operator.

### impl<'b> Sub<&'b Gt> for Gt[src]

#### type Output = Gt

The resulting type after applying the - operator.

### impl<'a> Sub<Gt> for &'a Gt[src]

#### type Output = Gt

The resulting type after applying the - operator.

### impl Sub<Gt> for Gt[src]

#### type Output = Gt

The resulting type after applying the - operator.

### impl<'a, 'b> Add<&'b Gt> for &'a Gt[src]

#### type Output = Gt

The resulting type after applying the + operator.

### impl<'b> Add<&'b Gt> for Gt[src]

#### type Output = Gt

The resulting type after applying the + operator.

### impl<'a> Add<Gt> for &'a Gt[src]

#### type Output = Gt

The resulting type after applying the + operator.

### impl Add<Gt> for Gt[src]

#### type Output = Gt

The resulting type after applying the + operator.

### impl<'a, 'b> Mul<&'b Scalar> for &'a Gt[src]

#### type Output = Gt

The resulting type after applying the * operator.

### impl<'b> Mul<&'b Scalar> for Gt[src]

#### type Output = Gt

The resulting type after applying the * operator.

### impl<'a> Mul<Scalar> for &'a Gt[src]

#### type Output = Gt

The resulting type after applying the * operator.

### impl Mul<Scalar> for Gt[src]

#### type Output = Gt

The resulting type after applying the * operator.

### impl<'a> Neg for &'a Gt[src]

#### type Output = Gt

The resulting type after applying the - operator.

### impl Neg for Gt[src]

#### type Output = Gt

The resulting type after applying the - operator.

## Blanket Implementations

### impl<T, U> TryFrom<U> for T where    U: Into<T>, [src]

#### type Error = Infallible

The type returned in the event of a conversion error.

### impl<T, U> TryInto<U> for T where    U: TryFrom<T>, [src]

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

The type returned in the event of a conversion error.

### impl<T> ToOwned for T where    T: Clone, [src]

#### type Owned = T

The resulting type after obtaining ownership.