быстрое преобразование Фурье
Мне нужно умножить два многочлена, каждый из которых имеет малые интегральные коэффициенты. Мне нужна быстрая процедура FFT в C / C++, которая может их свернуть. Я видел несколько библиотек, но они кажутся слишком большими для нескольких файлов. Важно то, что мне нужен код, который не слишком длинный и может быть очень легко использован и скомпилирован в одном .
- FFT должен быть оптимизирован для реальных входных данных, по крайней мере, если не малые целые числа.
- реализация Radix 4 если бы слишком хорошо.
- компиляция не должна принимать специальных флагов компиляции, поскольку компиляция программы должна выполняться во внешней среде, которую я не могу контролировать.
тот, который очень хорошо соответствует моим потребностям, это здесь. Но мне нужно что-то в два раза быстрее.
3 ответов
для простой и простой в использовании реализации БПФ попробуйте KissFFT. Если вам нужна абсолютная максимальная производительность, и не возражаете против небольшой сложности, тогда это должно быть библиотека FFTW.
я адаптировала от этого пример на DspDimension для моих нужд в прошлом.
Я собрал некоторые из моих лучших результатов поиска, которые соответствуют или в основном соответствуют вопросу (C / C++ FFT), и я обычно организовывал их от простого до бесплатно добавлять или обновлять список.