[−][src]Function concrete_lib::operators::math::fft::mac
pub fn mac(
fft_res: &mut AlignedVec<CTorus>,
fft_a: &[CTorus],
fft_b: &AlignedVec<CTorus>
)
Compute a mac (multiplier-accumulator): for all i, fft_res[i] += fft_a[i] * fft_b[i]
Arguments
fft_res
- CTorus slice containing the result of the addition (output)fft_a
- CTorus slice (input)fft_b
- CTorus Aligned Vector (inputs)
Example
#[macro_use] use concrete_lib; use concrete_lib::operators::math::fft; use concrete_lib::types::{C2CPlanTorus, CTorus}; use fftw::array::AlignedVec; let big_n: usize = 1024; let mut fft_a: AlignedVec<CTorus> = AlignedVec::new(big_n); let mut fft_b: AlignedVec<CTorus> = AlignedVec::new(big_n); let mut fft_res: AlignedVec<CTorus> = AlignedVec::new(big_n); // .. fft::mac(&mut fft_res, &fft_a, &fft_b);