1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| switch(log2n)
{
case 1:
add_stage<internal::fft_specialization_t<T, 1, false>::template type>(size, type);
break;
case 2:
add_stage<internal::fft_specialization_t<T, 2, false>::template type>(size, type);
break;
case 3:
add_stage<internal::fft_specialization_t<T, 3, false>::template type>(size, type);
break;
case 4:
add_stage<internal::fft_specialization_t<T, 4, false>::template type>(size, type);
break;
case 5:
add_stage<internal::fft_specialization_t<T, 5, false>::template type>(size, type);
break;
case 6:
add_stage<internal::fft_specialization_t<T, 6, false>::template type>(size, type);
break;
case 7:
add_stage<internal::fft_specialization_t<T, 7, false>::template type>(size, type);
break;
case 8:
add_stage<internal::fft_specialization_t<T, 8, false>::template type>(size, type);
break;
default:
if(is_even(log2n))
{
make_fft(size, type, cbool<true>, ctrue);
add_stage<internal::fft_reorder_stage_impl_t<T, true>::template type>(size, type);
}
else
{
make_fft(size, type, cbool<false>, ctrue);
add_stage<internal::fft_reorder_stage_impl_t<T, false>::template type>(size, type);
}
} |
Partager