Пара вопросов возникла:
1. Алгоритм предполагает, что количество точек — степерь двойки, но например, в numpy он прекрасно работает с произвольным количеством точек. Как это сделано?
2. Как его лучше реализовать без динамичного выделения памяти и рекурсии?
3. Имеет смысл использовать fftw?