ref: 957a4fae0e5a2b7f16d05c3f067aff7f412d42f7
parent: 3e65097528b58d57aaef15c7ec41baeefacbdc43
author: Jean-Marc Valin <[email protected]>
date: Fri Mar 7 12:46:00 EST 2008
fixed-point: real FFT no longer needs float ops when MIXED_PRECISION is enabled.
--- a/libcelt/kiss_fftr.c
+++ b/libcelt/kiss_fftr.c
@@ -23,6 +23,7 @@
#endif
#include "os_support.h"
+#include "mathops.h"
#include "kiss_fftr.h"
#include "_kiss_fft_guts.h"
@@ -60,7 +61,7 @@
st->substate->scale *= .5;
#endif
-#if defined (FIXED_POINT) && !defined(DOUBLE_PRECISION)
+#if defined (FIXED_POINT) && (!defined(DOUBLE_PRECISION) || defined(MIXED_PRECISION))
for (i=0;i<twiddle_size;++i) {
celt_word32_t phase = i+(nfft>>1);
kf_cexp2(st->super_twiddles+i, DIV32(SHL32(phase,16),nfft));