140{
141
142 int k, ncfft;
143
144 if (st->substate->inverse == 0) {
145
146 FL_WARN(
"kiss fft usage error: improper alloc");
148 }
149
150 ncfft = st->substate->nfft;
151
152 st->tmpbuf[0].r = freqdata[0].
r + freqdata[ncfft].
r;
153 st->tmpbuf[0].i = freqdata[0].
r - freqdata[ncfft].
r;
155
156 for (k = 1; k <= ncfft / 2; ++k) {
158 fk = freqdata[k];
159 fnkc.
r = freqdata[ncfft - k].
r;
160 fnkc.
i = -freqdata[ncfft - k].
i;
163
164 C_ADD (fek, fk, fnkc);
165 C_SUB (tmp, fk, fnkc);
166 C_MUL (fok, tmp, st->super_twiddles[k-1]);
167 C_ADD (st->tmpbuf[k], fek, fok);
168 C_SUB (st->tmpbuf[ncfft - k], fek, fok);
169#ifdef USE_SIMD
170 st->tmpbuf[ncfft - k].i *= _mm_set1_ps(-1.0);
171#else
172 st->tmpbuf[ncfft - k].i *= -1;
173#endif
174 }
176}
void kiss_fft(kiss_fft_cfg cfg, const kiss_fft_cpx *fin, kiss_fft_cpx *fout) FL_NOEXCEPT
void exit(int code)
No-op exit function for embedded systems In embedded environments, calling exit is typically not mean...