Skip to main content

ModPowerOf2AddTruncatedAssign

Trait ModPowerOf2AddTruncatedAssign 

Source
pub trait ModPowerOf2AddTruncatedAssign<Rhs = Self> {
    // Required method
    fn mod_power_of_2_add_truncated_assign(
        &mut self,
        other: Rhs,
        len: u64,
        pow: u64,
    );
}
Expand description

Adds a polynomial to another modulo $2^k$ in place, keeping only the coefficients of $x^i$ for $i$ less than a given length. The coefficients of both must already be reduced modulo $2^k$.

With $n$ equal to len, this is addition in the ring of polynomials with coefficients modulo $2^k$, taken modulo $x^n$, applied to the images of the two polynomials there. Unlike the coefficients, which must already be reduced, the polynomials need not already be truncated: they may have any number of coefficients, and only the first len of each are read.

Required Methods§

Source

fn mod_power_of_2_add_truncated_assign( &mut self, other: Rhs, len: u64, pow: u64, )

Adds a polynomial to self modulo $2^k$ and truncates the sum to its first len coefficients.

$$ p \gets ((p + q) \bmod x^n) \bmod 2^k. $$

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§