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

pub struct CachedPoint(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 cached point with some precomputed variables used for readdition.

Warning

It is not safe to negate this point more than once.

Invariant

As long as the CachedPoint is not repeatedly negated, its coefficients will be bounded with \( b < 1.0 \).

Trait Implementations

impl Identity for CachedPoint[src]

impl Clone for CachedPoint[src]

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

Performs copy-assignment from source. Read more

impl Debug for CachedPoint[src]

impl From<ExtendedPoint> for CachedPoint[src]

impl Copy for CachedPoint[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<'a> Neg for &'a CachedPoint[src]

type Output = CachedPoint

The resulting type after applying the - operator.

fn neg(self) -> CachedPoint[src]

Lazily negate the point.

Warning

Because this method does not perform a reduction, it is not safe to repeatedly negate a point.

impl Default for CachedPoint[src]

impl ConditionallySelectable for CachedPoint[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 CachedPoint

impl Sync for CachedPoint

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

impl<T> ConditionallyNegatable for T where
    T: ConditionallySelectable,
    &'a T: Neg,
    <&'a T as Neg>::Output == T, 
[src]