Struct dusk_bls12_381::G2Projective [−][src]
pub struct G2Projective { /* fields omitted */ }
This is an element of $\mathbb{G}_2$ represented in the projective coordinate space.
Implementations
impl G2Projective
[src]
impl G2Projective
[src]pub fn identity() -> G2Projective
[src]
Returns the identity of the group: the point at infinity.
pub fn generator() -> G2Projective
[src]
Returns a fixed generator of the group. See notes::design
for how this generator is chosen.
pub fn double(&self) -> G2Projective
[src]
Computes the doubling of this point.
pub fn add(&self, rhs: &G2Projective) -> G2Projective
[src]
Adds this point to another point.
pub fn add_mixed(&self, rhs: &G2Affine) -> G2Projective
[src]
Adds this point to another point in the affine model.
pub fn clear_cofactor(&self) -> G2Projective
[src]
Clears the cofactor, using Budroni-Pintore. This is equivalent to multiplying by $h_\textrm{eff} = 3(z^2 - 1) \cdot h_2$, where $h_2$ is the cofactor of $\mathbb{G}_2$ and $z$ is the parameter of BLS12-381.
The endomorphism is only actually used if the crate feature endo
is
enabled, and it is disabled by default to mitigate potential patent
issues.
pub fn batch_normalize(p: &[Self], q: &mut [G2Affine])
[src]
Converts a batch of G2Projective
elements into G2Affine
elements. This
function will panic if p.len() != q.len()
.
pub fn is_identity(&self) -> Choice
[src]
Returns true if this element is the identity (the point at infinity).
pub fn is_on_curve(&self) -> Choice
[src]
Returns true if this point is on the curve. This should always return true unless an “unchecked” API was used.
Trait Implementations
impl<'a, 'b> Add<&'b G2Affine> for &'a G2Projective
[src]
impl<'a, 'b> Add<&'b G2Affine> for &'a G2Projective
[src]type Output = G2Projective
The resulting type after applying the +
operator.
fn add(self, rhs: &'b G2Affine) -> G2Projective
[src]
impl<'b> Add<&'b G2Affine> for G2Projective
[src]
impl<'b> Add<&'b G2Affine> for G2Projective
[src]type Output = G2Projective
The resulting type after applying the +
operator.
fn add(self, rhs: &'b G2Affine) -> G2Projective
[src]
impl<'a, 'b> Add<&'b G2Projective> for &'a G2Affine
[src]
impl<'a, 'b> Add<&'b G2Projective> for &'a G2Affine
[src]type Output = G2Projective
The resulting type after applying the +
operator.
fn add(self, rhs: &'b G2Projective) -> G2Projective
[src]
impl<'b> Add<&'b G2Projective> for G2Affine
[src]
impl<'b> Add<&'b G2Projective> for G2Affine
[src]type Output = G2Projective
The resulting type after applying the +
operator.
fn add(self, rhs: &'b G2Projective) -> G2Projective
[src]
impl<'a, 'b> Add<&'b G2Projective> for &'a G2Projective
[src]
impl<'a, 'b> Add<&'b G2Projective> for &'a G2Projective
[src]type Output = G2Projective
The resulting type after applying the +
operator.
fn add(self, rhs: &'b G2Projective) -> G2Projective
[src]
impl<'b> Add<&'b G2Projective> for G2Projective
[src]
impl<'b> Add<&'b G2Projective> for G2Projective
[src]type Output = G2Projective
The resulting type after applying the +
operator.
fn add(self, rhs: &'b G2Projective) -> G2Projective
[src]
impl<'a> Add<G2Affine> for &'a G2Projective
[src]
impl<'a> Add<G2Affine> for &'a G2Projective
[src]type Output = G2Projective
The resulting type after applying the +
operator.
fn add(self, rhs: G2Affine) -> G2Projective
[src]
impl Add<G2Affine> for G2Projective
[src]
impl Add<G2Affine> for G2Projective
[src]type Output = G2Projective
The resulting type after applying the +
operator.
fn add(self, rhs: G2Affine) -> G2Projective
[src]
impl<'a> Add<G2Projective> for &'a G2Affine
[src]
impl<'a> Add<G2Projective> for &'a G2Affine
[src]type Output = G2Projective
The resulting type after applying the +
operator.
fn add(self, rhs: G2Projective) -> G2Projective
[src]
impl Add<G2Projective> for G2Affine
[src]
impl Add<G2Projective> for G2Affine
[src]type Output = G2Projective
The resulting type after applying the +
operator.
fn add(self, rhs: G2Projective) -> G2Projective
[src]
impl<'a> Add<G2Projective> for &'a G2Projective
[src]
impl<'a> Add<G2Projective> for &'a G2Projective
[src]type Output = G2Projective
The resulting type after applying the +
operator.
fn add(self, rhs: G2Projective) -> G2Projective
[src]
impl Add<G2Projective> for G2Projective
[src]
impl Add<G2Projective> for G2Projective
[src]type Output = G2Projective
The resulting type after applying the +
operator.
fn add(self, rhs: G2Projective) -> G2Projective
[src]
impl<'b> AddAssign<&'b G2Affine> for G2Projective
[src]
impl<'b> AddAssign<&'b G2Affine> for G2Projective
[src]fn add_assign(&mut self, rhs: &'b G2Affine)
[src]
impl<'b> AddAssign<&'b G2Projective> for G2Projective
[src]
impl<'b> AddAssign<&'b G2Projective> for G2Projective
[src]fn add_assign(&mut self, rhs: &'b G2Projective)
[src]
impl AddAssign<G2Affine> for G2Projective
[src]
impl AddAssign<G2Affine> for G2Projective
[src]fn add_assign(&mut self, rhs: G2Affine)
[src]
impl AddAssign<G2Projective> for G2Projective
[src]
impl AddAssign<G2Projective> for G2Projective
[src]fn add_assign(&mut self, rhs: G2Projective)
[src]
impl Clone for G2Projective
[src]
impl Clone for G2Projective
[src]fn clone(&self) -> G2Projective
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl ConditionallySelectable for G2Projective
[src]
impl ConditionallySelectable for G2Projective
[src]fn conditional_select(a: &Self, b: &Self, choice: Choice) -> Self
[src]
pub fn conditional_assign(&mut self, other: &Self, choice: Choice)
[src]
pub fn conditional_swap(a: &mut Self, b: &mut Self, choice: Choice)
[src]
impl ConstantTimeEq for G2Projective
[src]
impl ConstantTimeEq for G2Projective
[src]impl Copy for G2Projective
[src]
impl Copy for G2Projective
[src]impl Eq for G2Projective
[src]
impl Eq for G2Projective
[src]impl<'a> From<&'a G2Affine> for G2Projective
[src]
impl<'a> From<&'a G2Affine> for G2Projective
[src]fn from(p: &'a G2Affine) -> G2Projective
[src]
impl<'a> From<&'a G2Projective> for G2Affine
[src]
impl<'a> From<&'a G2Projective> for G2Affine
[src]fn from(p: &'a G2Projective) -> G2Affine
[src]
impl From<G2Affine> for G2Projective
[src]
impl From<G2Affine> for G2Projective
[src]fn from(p: G2Affine) -> G2Projective
[src]
impl From<G2Projective> for G2Affine
[src]
impl From<G2Projective> for G2Affine
[src]fn from(p: G2Projective) -> G2Affine
[src]
impl<'a, 'b> Mul<&'b Scalar> for &'a G2Projective
[src]
impl<'a, 'b> Mul<&'b Scalar> for &'a G2Projective
[src]impl<'b> Mul<&'b Scalar> for G2Projective
[src]
impl<'b> Mul<&'b Scalar> for G2Projective
[src]type Output = G2Projective
The resulting type after applying the *
operator.
fn mul(self, rhs: &'b BlsScalar) -> G2Projective
[src]
impl<'a> Mul<Scalar> for &'a G2Projective
[src]
impl<'a> Mul<Scalar> for &'a G2Projective
[src]type Output = G2Projective
The resulting type after applying the *
operator.
fn mul(self, rhs: BlsScalar) -> G2Projective
[src]
impl Mul<Scalar> for G2Projective
[src]
impl Mul<Scalar> for G2Projective
[src]type Output = G2Projective
The resulting type after applying the *
operator.
fn mul(self, rhs: BlsScalar) -> G2Projective
[src]
impl<'b> MulAssign<&'b Scalar> for G2Projective
[src]
impl<'b> MulAssign<&'b Scalar> for G2Projective
[src]fn mul_assign(&mut self, rhs: &'b BlsScalar)
[src]
impl MulAssign<Scalar> for G2Projective
[src]
impl MulAssign<Scalar> for G2Projective
[src]fn mul_assign(&mut self, rhs: BlsScalar)
[src]
impl<'a> Neg for &'a G2Projective
[src]
impl<'a> Neg for &'a G2Projective
[src]type Output = G2Projective
The resulting type after applying the -
operator.
fn neg(self) -> G2Projective
[src]
impl Neg for G2Projective
[src]
impl Neg for G2Projective
[src]type Output = G2Projective
The resulting type after applying the -
operator.
fn neg(self) -> G2Projective
[src]
impl PartialEq<G2Projective> for G2Projective
[src]
impl PartialEq<G2Projective> for G2Projective
[src]impl<'a, 'b> Sub<&'b G2Affine> for &'a G2Projective
[src]
impl<'a, 'b> Sub<&'b G2Affine> for &'a G2Projective
[src]type Output = G2Projective
The resulting type after applying the -
operator.
fn sub(self, rhs: &'b G2Affine) -> G2Projective
[src]
impl<'b> Sub<&'b G2Affine> for G2Projective
[src]
impl<'b> Sub<&'b G2Affine> for G2Projective
[src]type Output = G2Projective
The resulting type after applying the -
operator.
fn sub(self, rhs: &'b G2Affine) -> G2Projective
[src]
impl<'a, 'b> Sub<&'b G2Projective> for &'a G2Affine
[src]
impl<'a, 'b> Sub<&'b G2Projective> for &'a G2Affine
[src]type Output = G2Projective
The resulting type after applying the -
operator.
fn sub(self, rhs: &'b G2Projective) -> G2Projective
[src]
impl<'b> Sub<&'b G2Projective> for G2Affine
[src]
impl<'b> Sub<&'b G2Projective> for G2Affine
[src]type Output = G2Projective
The resulting type after applying the -
operator.
fn sub(self, rhs: &'b G2Projective) -> G2Projective
[src]
impl<'a, 'b> Sub<&'b G2Projective> for &'a G2Projective
[src]
impl<'a, 'b> Sub<&'b G2Projective> for &'a G2Projective
[src]type Output = G2Projective
The resulting type after applying the -
operator.
fn sub(self, rhs: &'b G2Projective) -> G2Projective
[src]
impl<'b> Sub<&'b G2Projective> for G2Projective
[src]
impl<'b> Sub<&'b G2Projective> for G2Projective
[src]type Output = G2Projective
The resulting type after applying the -
operator.
fn sub(self, rhs: &'b G2Projective) -> G2Projective
[src]
impl<'a> Sub<G2Affine> for &'a G2Projective
[src]
impl<'a> Sub<G2Affine> for &'a G2Projective
[src]type Output = G2Projective
The resulting type after applying the -
operator.
fn sub(self, rhs: G2Affine) -> G2Projective
[src]
impl Sub<G2Affine> for G2Projective
[src]
impl Sub<G2Affine> for G2Projective
[src]type Output = G2Projective
The resulting type after applying the -
operator.
fn sub(self, rhs: G2Affine) -> G2Projective
[src]
impl<'a> Sub<G2Projective> for &'a G2Affine
[src]
impl<'a> Sub<G2Projective> for &'a G2Affine
[src]type Output = G2Projective
The resulting type after applying the -
operator.
fn sub(self, rhs: G2Projective) -> G2Projective
[src]
impl Sub<G2Projective> for G2Affine
[src]
impl Sub<G2Projective> for G2Affine
[src]type Output = G2Projective
The resulting type after applying the -
operator.
fn sub(self, rhs: G2Projective) -> G2Projective
[src]
impl<'a> Sub<G2Projective> for &'a G2Projective
[src]
impl<'a> Sub<G2Projective> for &'a G2Projective
[src]type Output = G2Projective
The resulting type after applying the -
operator.
fn sub(self, rhs: G2Projective) -> G2Projective
[src]
impl Sub<G2Projective> for G2Projective
[src]
impl Sub<G2Projective> for G2Projective
[src]type Output = G2Projective
The resulting type after applying the -
operator.
fn sub(self, rhs: G2Projective) -> G2Projective
[src]
impl<'b> SubAssign<&'b G2Affine> for G2Projective
[src]
impl<'b> SubAssign<&'b G2Affine> for G2Projective
[src]fn sub_assign(&mut self, rhs: &'b G2Affine)
[src]
impl<'b> SubAssign<&'b G2Projective> for G2Projective
[src]
impl<'b> SubAssign<&'b G2Projective> for G2Projective
[src]fn sub_assign(&mut self, rhs: &'b G2Projective)
[src]
impl SubAssign<G2Affine> for G2Projective
[src]
impl SubAssign<G2Affine> for G2Projective
[src]fn sub_assign(&mut self, rhs: G2Affine)
[src]
impl SubAssign<G2Projective> for G2Projective
[src]
impl SubAssign<G2Projective> for G2Projective
[src]fn sub_assign(&mut self, rhs: G2Projective)
[src]
impl<T> Sum<T> for G2Projective where
T: Borrow<G2Projective>,
[src]
impl<T> Sum<T> for G2Projective where
T: Borrow<G2Projective>,
[src]Auto Trait Implementations
impl RefUnwindSafe for G2Projective
impl RefUnwindSafe for G2Projective
impl Send for G2Projective
impl Send for G2Projective
impl Sync for G2Projective
impl Sync for G2Projective
impl Unpin for G2Projective
impl Unpin for G2Projective
impl UnwindSafe for G2Projective
impl UnwindSafe for G2Projective