[−][src]Trait series::KaratsubaMul
Karatsuba multiplication
Associated Types
type Output
Required methods
fn karatsuba_mul(self, rhs: Rhs, min_size: usize) -> Self::Output
Calculate self * rhs
using Karatsuba multiplication.
min_size
marks the threshold size below which naive
multiplication should be used.
Implementors
impl<'a, 'b, Var: Clone, C: Coeff> KaratsubaMul<&'b Polynomial<Var, C>> for &'a Polynomial<Var, C> where
Var: Clone + PartialEq + Debug,
C: Clone,
C: AddAssign,
Polynomial<Var, C>: AddAssign<&'c Polynomial<Var, C>> + SubAssign<&'c Polynomial<Var, C>>,
Polynomial<Var, C>: AddAssign<Polynomial<Var, C>> + SubAssign<Polynomial<Var, C>>,
PolynomialSlice<'c, Var, C>: Add<Output = Polynomial<Var, C>>,
&'c C: Mul<Output = C>,
[src]
Var: Clone + PartialEq + Debug,
C: Clone,
C: AddAssign,
Polynomial<Var, C>: AddAssign<&'c Polynomial<Var, C>> + SubAssign<&'c Polynomial<Var, C>>,
Polynomial<Var, C>: AddAssign<Polynomial<Var, C>> + SubAssign<Polynomial<Var, C>>,
PolynomialSlice<'c, Var, C>: Add<Output = Polynomial<Var, C>>,
&'c C: Mul<Output = C>,
type Output = Polynomial<Var, C>
fn karatsuba_mul(
self,
rhs: &'b Polynomial<Var, C>,
min_size: usize
) -> Self::Output
[src]
self,
rhs: &'b Polynomial<Var, C>,
min_size: usize
) -> Self::Output
impl<'a, 'b, Var: Clone, C: Coeff> KaratsubaMul<&'b Polynomial<Var, C>> for PolynomialSlice<'a, Var, C> where
Var: Clone + PartialEq + Debug,
C: Clone,
C: AddAssign,
Polynomial<Var, C>: AddAssign<&'c Polynomial<Var, C>> + SubAssign<&'c Polynomial<Var, C>>,
Polynomial<Var, C>: AddAssign<Polynomial<Var, C>> + SubAssign<Polynomial<Var, C>>,
PolynomialSlice<'c, Var, C>: Add<Output = Polynomial<Var, C>>,
&'c C: Mul<Output = C>,
[src]
Var: Clone + PartialEq + Debug,
C: Clone,
C: AddAssign,
Polynomial<Var, C>: AddAssign<&'c Polynomial<Var, C>> + SubAssign<&'c Polynomial<Var, C>>,
Polynomial<Var, C>: AddAssign<Polynomial<Var, C>> + SubAssign<Polynomial<Var, C>>,
PolynomialSlice<'c, Var, C>: Add<Output = Polynomial<Var, C>>,
&'c C: Mul<Output = C>,
type Output = Polynomial<Var, C>
fn karatsuba_mul(
self,
rhs: &'b Polynomial<Var, C>,
min_size: usize
) -> Self::Output
[src]
self,
rhs: &'b Polynomial<Var, C>,
min_size: usize
) -> Self::Output
impl<'a, 'b, Var: Clone, C: Coeff> KaratsubaMul<PolynomialSlice<'b, Var, C>> for &'a Polynomial<Var, C> where
Var: Clone + PartialEq + Debug,
C: Clone,
C: AddAssign,
Polynomial<Var, C>: AddAssign<&'c Polynomial<Var, C>> + SubAssign<&'c Polynomial<Var, C>>,
Polynomial<Var, C>: AddAssign<Polynomial<Var, C>> + SubAssign<Polynomial<Var, C>>,
PolynomialSlice<'c, Var, C>: Add<Output = Polynomial<Var, C>>,
&'c C: Mul<Output = C>,
[src]
Var: Clone + PartialEq + Debug,
C: Clone,
C: AddAssign,
Polynomial<Var, C>: AddAssign<&'c Polynomial<Var, C>> + SubAssign<&'c Polynomial<Var, C>>,
Polynomial<Var, C>: AddAssign<Polynomial<Var, C>> + SubAssign<Polynomial<Var, C>>,
PolynomialSlice<'c, Var, C>: Add<Output = Polynomial<Var, C>>,
&'c C: Mul<Output = C>,
type Output = Polynomial<Var, C>
fn karatsuba_mul(
self,
rhs: PolynomialSlice<'b, Var, C>,
min_size: usize
) -> Self::Output
[src]
self,
rhs: PolynomialSlice<'b, Var, C>,
min_size: usize
) -> Self::Output
impl<'a, 'b, Var: Clone, C: Coeff> KaratsubaMul<PolynomialSlice<'b, Var, C>> for PolynomialSlice<'a, Var, C> where
Var: Clone + PartialEq + Debug,
C: Clone,
C: AddAssign,
Polynomial<Var, C>: AddAssign<&'c Polynomial<Var, C>> + SubAssign<&'c Polynomial<Var, C>>,
Polynomial<Var, C>: AddAssign<Polynomial<Var, C>> + SubAssign<Polynomial<Var, C>>,
PolynomialSlice<'c, Var, C>: Add<Output = Polynomial<Var, C>>,
&'c C: Mul<Output = C>,
[src]
Var: Clone + PartialEq + Debug,
C: Clone,
C: AddAssign,
Polynomial<Var, C>: AddAssign<&'c Polynomial<Var, C>> + SubAssign<&'c Polynomial<Var, C>>,
Polynomial<Var, C>: AddAssign<Polynomial<Var, C>> + SubAssign<Polynomial<Var, C>>,
PolynomialSlice<'c, Var, C>: Add<Output = Polynomial<Var, C>>,
&'c C: Mul<Output = C>,
type Output = Polynomial<Var, C>
fn karatsuba_mul(
self,
rhs: PolynomialSlice<'b, Var, C>,
min_size: usize
) -> Self::Output
[src]
self,
rhs: PolynomialSlice<'b, Var, C>,
min_size: usize
) -> Self::Output