Возможно ли использовать вектор int
вместо использования double
векторов для расчета fft?Передача int вместо double to planner
ответ
Нет, не используя FFTW (который вы отметили в вопросе). Существуют и другие библиотеки, но чтобы быть полезными на практике, вам нужно подумать о представлении фиксированной точки по вашему выбору.
Обратите внимание, что добавления и умножения с плавающей запятой, используемые в FFT, так же быстро работают на современных чипах x64, что и целочисленные операции с соответствующим размером слова. Дополнительная осторожность, необходимая для создания целочисленного результата FFT с разумной точностью, может даже вызвать замедление на практике. История очень отличается от фишек с более медленным (или нет) оборудованием с плавающей запятой.
Конечно, преобразование из целого числа в само пламя не является бесплатным в первую очередь, поэтому иногда имеет смысл оставаться в плавающей точке на более длительное время, чем то, что критически необходимо.
Мои данные берутся в формате 'int'. У меня есть штраф за конверсию «int-> double», но я в порядке. Благодарю. – xmas79
Нет, но вы можете использовать версию библиотеки FFTW ('float') (' float') ('libfftw3f.lib'), если вас беспокоит размер или скорость данных. –