From 3e819b40bcd94e862dd4973f780de760ec8a20af Mon Sep 17 00:00:00 2001 From: Saveliy Yusufov Date: Sat, 17 Aug 2024 13:04:20 -0400 Subject: [PATCH] Replace naive deinterleave in R2C FFT --- src/fft.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/fft.rs b/src/fft.rs index a12ddc1..d75c75f 100644 --- a/src/fft.rs +++ b/src/fft.rs @@ -5,6 +5,7 @@ use crate::planner::{Planner32, Planner64}; use crate::{ fft_32_with_opts_and_plan, fft_64, fft_64_with_opts_and_plan, twiddles::{generate_twiddles, Twiddles}, + utils::deinterleave, Direction, Options, }; @@ -58,8 +59,8 @@ macro_rules! impl_r2c_fft { let big_n = input_re.len(); // Splitting odd and even - let (mut z_even, mut z_odd): (Vec<_>, Vec<_>) = - input_re.chunks_exact(2).map(|c| (c[0], c[1])).unzip(); + + let (mut z_even, mut z_odd): (Vec<_>, Vec<_>) = deinterleave(&input_re); // let mut planner = <$planner>::new(big_n, Direction::Forward);