pub struct Convolve<M>(/* private fields */);
Trait Implementations§
Source§impl<M, N1, N2, N3> ConvolveSteps for Convolve<(M, (N1, N2, N3))>where
M: MIntConvert + MIntConvert<u32>,
N1: Montgomery32NttModulus,
N2: Montgomery32NttModulus,
N3: Montgomery32NttModulus,
impl<M, N1, N2, N3> ConvolveSteps for Convolve<(M, (N1, N2, N3))>where
M: MIntConvert + MIntConvert<u32>,
N1: Montgomery32NttModulus,
N2: Montgomery32NttModulus,
N3: Montgomery32NttModulus,
type T = Vec<MInt<M>>
type F = (Vec<MInt<N1>>, Vec<MInt<N2>>, Vec<MInt<N3>>)
fn length(t: &Self::T) -> usize
fn transform(t: Self::T, len: usize) -> Self::F
fn inverse_transform(f: Self::F, len: usize) -> Self::T
fn multiply(f: &mut Self::F, g: &Self::F)
fn convolve(a: Self::T, b: Self::T) -> Self::T
Source§impl<M> ConvolveSteps for Convolve<M>where
M: Montgomery32NttModulus,
impl<M> ConvolveSteps for Convolve<M>where
M: Montgomery32NttModulus,
type T = Vec<MInt<M>>
type F = Vec<MInt<M>>
fn length(t: &Self::T) -> usize
fn transform(t: Self::T, len: usize) -> Self::F
fn inverse_transform(f: Self::F, len: usize) -> Self::T
fn multiply(f: &mut Self::F, g: &Self::F)
fn convolve(a: Self::T, b: Self::T) -> Self::T
Auto Trait Implementations§
impl<M> Freeze for Convolve<M>
impl<M> RefUnwindSafe for Convolve<M>
impl<M> Send for Convolve<M>
impl<M> Sync for Convolve<M>
impl<M> Unpin for Convolve<M>
impl<M> UnwindSafe for Convolve<M>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more