# [−][src]Struct curve25519_dalek::backend::serial::curve_models::ProjectivePoint

pub struct ProjectivePoint {
pub X: FieldElement51,
pub Y: FieldElement51,
pub Z: FieldElement51,
}

A ProjectivePoint is a point $$(X:Y:Z)$$ on the $$\mathbb P^2$$ model of the curve. A point $$(x,y)$$ in the affine model corresponds to $$(x:y:1)$$.

More details on the relationships between the different curve models can be found in the module-level documentation.

## Fields

X: FieldElement51Y: FieldElement51Z: FieldElement51

## Methods

### impl ProjectivePoint[src]

#### pub fn to_extended(&self) -> EdwardsPoint[src]

Convert this point from the $$\mathbb P^2$$ model to the $$\mathbb P^3$$ model.

This costs $$3 \mathrm M + 1 \mathrm S$$.

### impl ProjectivePoint[src]

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

Double this point: return self + self

## Trait Implementations

### impl Clone for ProjectivePoint[src]

#### fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

## Blanket Implementations

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

#### type Error = !

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

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

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

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

### impl<T> Same for T

#### type Output = T

Should always be Self