Trait ModSquarePrecomputedAssign

Source
pub trait ModSquarePrecomputedAssign<RHS = Self, M = Self>: ModPowPrecomputed<RHS, M> {
    // Required method
    fn mod_square_precomputed_assign(&mut self, m: M, data: &Self::Data);
}
Expand description

Squares a number modulo another number $m$, in place. The input must be already reduced modulo $m$.

If multiple modular squarings with the same modulus are necessary, it can be quicker to precompute some piece of data using precompute_mod_pow_data function in ModMulPrecomputed and reuse it in the squaring calls.

Required Methods§

Source

fn mod_square_precomputed_assign(&mut self, m: M, data: &Self::Data)

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl ModSquarePrecomputedAssign for u64

Source§

fn mod_square_precomputed_assign(&mut self, m: u64, data: &Self::Data)

Squares a number modulo another number $m$, in place. The input must be already reduced modulo $m$.

Some precomputed data is provided; this speeds up computations involving several modular squarings with the same modulus. The precomputed data should be obtained using precompute_mod_pow_data.

§Worst-case complexity

Constant time and additional memory.

§Panics

Panics if self is greater than or equal to m.

§Examples

See here.

Source§

impl ModSquarePrecomputedAssign<u64> for u8

Source§

fn mod_square_precomputed_assign(&mut self, m: u8, data: &Self::Data)

Squares a number modulo another number $m$, in place. The input must be already reduced modulo $m$.

Some precomputed data is provided; this speeds up computations involving several modular squarings with the same modulus. The precomputed data should be obtained using precompute_mod_pow_data.

§Worst-case complexity

Constant time and additional memory.

§Panics

Panics if self is greater than or equal to m.

§Examples

See here.

Source§

impl ModSquarePrecomputedAssign<u64> for u16

Source§

fn mod_square_precomputed_assign(&mut self, m: u16, data: &Self::Data)

Squares a number modulo another number $m$, in place. The input must be already reduced modulo $m$.

Some precomputed data is provided; this speeds up computations involving several modular squarings with the same modulus. The precomputed data should be obtained using precompute_mod_pow_data.

§Worst-case complexity

Constant time and additional memory.

§Panics

Panics if self is greater than or equal to m.

§Examples

See here.

Source§

impl ModSquarePrecomputedAssign<u64> for u32

Source§

fn mod_square_precomputed_assign(&mut self, m: u32, data: &Self::Data)

Squares a number modulo another number $m$, in place. The input must be already reduced modulo $m$.

Some precomputed data is provided; this speeds up computations involving several modular squarings with the same modulus. The precomputed data should be obtained using precompute_mod_pow_data.

§Worst-case complexity

Constant time and additional memory.

§Panics

Panics if self is greater than or equal to m.

§Examples

See here.

Source§

impl ModSquarePrecomputedAssign<u64> for u128

Source§

fn mod_square_precomputed_assign(&mut self, m: u128, data: &Self::Data)

Squares a number modulo another number $m$, in place. The input must be already reduced modulo $m$.

Some precomputed data is provided; this speeds up computations involving several modular squarings with the same modulus. The precomputed data should be obtained using precompute_mod_pow_data.

§Worst-case complexity

Constant time and additional memory.

§Panics

Panics if self is greater than or equal to m.

§Examples

See here.

Source§

impl ModSquarePrecomputedAssign<u64> for usize

Source§

fn mod_square_precomputed_assign(&mut self, m: usize, data: &Self::Data)

Squares a number modulo another number $m$, in place. The input must be already reduced modulo $m$.

Some precomputed data is provided; this speeds up computations involving several modular squarings with the same modulus. The precomputed data should be obtained using precompute_mod_pow_data.

§Worst-case complexity

Constant time and additional memory.

§Panics

Panics if self is greater than or equal to m.

§Examples

See here.

Implementors§