[][src]Struct curve25519_dalek::backend::vector::avx2::edwards::ExtendedPoint

pub struct ExtendedPoint(pub(super) FieldElement2625x4);
This is supported on feature="simd_backend" and (target feature avx2 or target feature avx512ifma) and target feature avx2 and non-target feature avx512ifma only.

A point on Curve25519, using parallel Edwards formulas for curve operations.

Invariant

The coefficients of an ExtendedPoint are bounded with \( b < 0.007 \).

Methods

impl ExtendedPoint[src]

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

This is supported on feature="simd_backend" and (target feature avx2 or target feature avx512ifma) and target feature avx2 and non-target feature avx512ifma only.

Compute the double of this point.

pub fn mul_by_pow_2(&self, k: u32) -> ExtendedPoint[src]

This is supported on feature="simd_backend" and (target feature avx2 or target feature avx512ifma) and target feature avx2 and non-target feature avx512ifma only.

Trait Implementations

impl Identity for ExtendedPoint[src]

impl Clone for ExtendedPoint[src]

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

Performs copy-assignment from source. Read more

impl Debug for ExtendedPoint[src]

impl From<EdwardsPoint> for ExtendedPoint[src]

impl From<ExtendedPoint> for EdwardsPoint[src]

impl From<ExtendedPoint> for CachedPoint[src]

impl Copy for ExtendedPoint[src]

impl<'a, 'b> Add<&'b CachedPoint> for &'a ExtendedPoint[src]

type Output = ExtendedPoint

The resulting type after applying the + operator.

fn add(self, other: &'b CachedPoint) -> ExtendedPoint[src]

Add an ExtendedPoint and a CachedPoint.

impl<'a, 'b> Sub<&'b CachedPoint> for &'a ExtendedPoint[src]

type Output = ExtendedPoint

The resulting type after applying the - operator.

fn sub(self, other: &'b CachedPoint) -> ExtendedPoint[src]

Implement subtraction by negating the point and adding.

Empirically, this seems about the same cost as a custom subtraction impl (maybe because the benefit is cancelled by increased code size?)

impl Default for ExtendedPoint[src]

impl ConditionallySelectable for ExtendedPoint[src]

fn conditional_swap(a: &mut Self, b: &mut Self, choice: Choice)[src]

Conditionally swap self and other if choice == 1; otherwise, reassign both unto themselves. Read more

Auto Trait Implementations

impl Send for ExtendedPoint

impl Sync for ExtendedPoint

Blanket Implementations

impl<T> From for T[src]

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, U> Into for T where
    U: From<T>, 
[src]

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

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

type Owned = T

impl<T> FromCast for T

impl<T, U> Cast for T where
    U: FromCast<T>, 

impl<T, U> IntoBits for T where
    U: FromBits<T>, 

impl<T> FromBits for T

impl<T> Clear for T where
    T: InitializableFromZeroed + ?Sized

impl<T> InitializableFromZeroed for T where
    T: Default

impl<T> Same for T

type Output = T

Should always be Self