LookupTableRadix64

Struct LookupTableRadix64 

Source
pub struct LookupTableRadix64<T>(pub(crate) [T; 32]);
Expand description

A lookup table of precomputed multiples of a point \(P\), used to compute \( xP \) for \( -8 \leq x \leq 8 \).

The computation of \( xP \) is done in constant time by the select function.

Since LookupTable does not implement Index, it’s more difficult to accidentally use the table directly. Unfortunately the table is only pub(crate) so that we can write hardcoded constants, so it’s still technically possible. It would be nice to prevent direct access to the table.

Tuple Fields§

§0: [T; 32]

Implementations§

Source§

impl<T> LookupTableRadix64<T>

Source

pub fn select(&self, x: i8) -> T

Given \(-8 \leq x \leq 8\), return \(xP\) in constant time.

Trait Implementations§

Source§

impl<T: Clone> Clone for LookupTableRadix64<T>

Source§

fn clone(&self) -> LookupTableRadix64<T>

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<T: Debug> Debug for LookupTableRadix64<T>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<T: Copy + Default> Default for LookupTableRadix64<T>

Source§

fn default() -> LookupTableRadix64<T>

Returns the “default value” for a type. Read more
Source§

impl<'a> From<&'a EdwardsPoint> for LookupTableRadix64<AffineNielsPoint>

Source§

fn from(P: &'a EdwardsPoint) -> Self

Converts to this type from the input type.
Source§

impl<'a> From<&'a EdwardsPoint> for LookupTableRadix64<ProjectiveNielsPoint>

Source§

fn from(P: &'a EdwardsPoint) -> Self

Converts to this type from the input type.
Source§

impl<T> Zeroize for LookupTableRadix64<T>
where T: Copy + Default + Zeroize,

Source§

fn zeroize(&mut self)

Zero out this object from memory using Rust intrinsics which ensure the zeroization operation is not “optimized away” by the compiler.
Source§

impl<T: Copy> Copy for LookupTableRadix64<T>

Auto Trait Implementations§

§

impl<T> Freeze for LookupTableRadix64<T>
where T: Freeze,

§

impl<T> RefUnwindSafe for LookupTableRadix64<T>
where T: RefUnwindSafe,

§

impl<T> Send for LookupTableRadix64<T>
where T: Send,

§

impl<T> Sync for LookupTableRadix64<T>
where T: Sync,

§

impl<T> Unpin for LookupTableRadix64<T>
where T: Unpin,

§

impl<T> UnwindSafe for LookupTableRadix64<T>
where T: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.