Hello,
I am wondering why CMSIS library have arm_bitreversal2.asm file written in assembly code however it could be written in c as others are written. In description of file it says it written to gain for maximum speed of fft but when I use real fft it calls c function of bit reversal then why it is in c when I do real fft.
Hi,
arm_bitreversal2.asm is in assembly because it is not possible to achieve the same speed results in C (I hand optimized arm_bitreversal2.S). The fft functions were a critical goal to optimize.
In * $Revision: V.1.4.5, only arm_rfft_f32.c seems to still be using the c version of bit reversal (arm_bitreversal.c). This was omitted simply as a matter of focusing optimizations on the fast version of rfft (arm_rfft_fast_f32.c). The CMSIS library went through a few rounds of optimizations that each targeted different things.
Thanks. I got it.