240{
242 const int p=*factors++;
243 const int m=*factors++;
245
246#ifdef _OPENMP
247
248
249 if (fstride==1 &&
p<=5)
250 {
251 int k;
252
253
254# pragma omp parallel for
256 kf_work( Fout +k*m, f+ fstride*in_stride*k,fstride*
p,in_stride,factors,st);
257
258
260 case 2:
kf_bfly2(Fout,fstride,st,m);
break;
261 case 3:
kf_bfly3(Fout,fstride,st,m);
break;
262 case 4:
kf_bfly4(Fout,fstride,st,m);
break;
263 case 5:
kf_bfly5(Fout,fstride,st,m);
break;
265 }
266 return;
267 }
268#endif
269
270 if (m==1) {
271 do{
272 *Fout = *f;
273 f += fstride*in_stride;
274 }while(++Fout != Fout_end );
275 }else{
276 do{
277
278
279
280
281 kf_work( Fout , f, fstride*
p, in_stride, factors,st);
282 f += fstride*in_stride;
283 }while( (Fout += m) != Fout_end );
284 }
285
286 Fout=Fout_beg;
287
288
290 case 2:
kf_bfly2(Fout,fstride,st,m);
break;
291 case 3:
kf_bfly3(Fout,fstride,st,m);
break;
292 case 4:
kf_bfly4(Fout,fstride,st,m);
break;
293 case 5:
kf_bfly5(Fout,fstride,st,m);
break;
295 }
296}
static void kf_bfly4(kiss_fft_cpx *Fout, const size_t fstride, const kiss_fft_cfg st, const size_t m)
static void kf_bfly2(kiss_fft_cpx *Fout, const size_t fstride, const kiss_fft_cfg st, int m)
static void kf_bfly_generic(kiss_fft_cpx *Fout, const size_t fstride, const kiss_fft_cfg st, int m, int p)
static void kf_bfly3(kiss_fft_cpx *Fout, const size_t fstride, const kiss_fft_cfg st, size_t m)
static void kf_work(kiss_fft_cpx *Fout, const kiss_fft_cpx *f, const size_t fstride, int in_stride, int *factors, const kiss_fft_cfg st)
static void kf_bfly5(kiss_fft_cpx *Fout, const size_t fstride, const kiss_fft_cfg st, int m)
static FASTLED_NAMESPACE_BEGIN uint8_t const p[]