pub trait ModPowerOf2SubTruncated<Rhs = Self> {
type Output;
// Required method
fn mod_power_of_2_sub_truncated(
self,
other: Rhs,
len: u64,
pow: u64,
) -> Self::Output;
}Expand description
Subtracts one polynomial from another modulo $2^k$, 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 subtraction 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 Associated Types§
Required Methods§
Sourcefn mod_power_of_2_sub_truncated(
self,
other: Rhs,
len: u64,
pow: u64,
) -> Self::Output
fn mod_power_of_2_sub_truncated( self, other: Rhs, len: u64, pow: u64, ) -> Self::Output
Subtracts one polynomial from another modulo $2^k$ and truncates the difference to its first
len coefficients.
$$ f(p, q, n, k) = ((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".