在同一应用中用浮子和双支持来编译吻FFT
Compiling kiss fft with float and double support in the same app
我正在尝试使用Visual Studio 2013中的同一应用程序中的float和double实现。重新编译以获得双重。
为此,我整理了一个标头,其中我将带有kiss_fft_scalar的标题在2个不同的名称空间内更改为:
:namespace KissFloat
{
#undef KISS_FFT_H
#undef KISS_FTR_H
#define kiss_fft_scalar float
#include "kiss_fft.h"
#include "tools/kiss_fftr.h"
};
namespace KissDouble
{
#undef KISS_FFT_H
#undef KISS_FTR_H
#define kiss_fft_scalar double
#include "kiss_fft.h"
#include "tools/kiss_fftr.h"
};
我无法弄清楚如何包含CPP代码。我尝试了一个单独的kissfloat和kissdouble文件。然后,我尝试了CPP文件中的几件事,但是我尝试的一切都以编译错误而结束。通常与结构重新定义有关。
有人可以想到一种做这项工作的方法吗?或者,我最好使用模板重新编写Kiss FFT?
有趣的想法,但是您可能会有更好的运气,而只是在文件上进行黑客攻击,例如使kiss_fft_scalar
成为模板参数。一个问题是标题文件将包括其他标题文件,例如stdlib.h
。我想您可以在执行命名空间技巧之前先预先包含这些文件。
我猜我在 _kiss_fft_guts.h
中的 kiss_fft_state
redef错误?如果您有单独的float/double .cpp文件,并且在包含.c文件之前使用指令。
如果您决定对其进行启动,则可以看一下siskfft的eigen(部分)C 端口。
,所以我发现eigen为我完成了kiss fft的工作。是的,对其他人努力工作!;)
eigen可在此处提供:
https://bitbucket.org/eigen/eigen/src
,吻FFT实现在
下"不支持/eigen/src/fft/"
相关文章:
- 编译时未启用intel oneApi CUDA支持
- 当我编译webrtc服务器时,Windows上只支持clang-cl
- 在使用GPU支持编译Tensorflow时,会遇到CUDA_TOOLKIT_PATH未绑定变量
- 在 Ubuntu 18.04 上编译 GLSL 着色器时"不支持 GLSL 3.30"?
- 如何在 clang 的自动会议中检查支持编译标志
- 如何使用MinGW编译器和SSL支持静态编译Qt
- 如何在GPU支持下编译tflite?
- C++项目编译强制使用 /clr 选项,尽管在没有公共语言运行时支持的情况下执行它
- 如何在 Windows x64 上编译支持 fips 的 openssl?
- 当我在支持 avx2 的机器上编译并在另一台仅支持 avx 的机器上运行二进制文件时会发生什么?
- <mutex> 使用 /clr 或 /clr:pure 编译时不支持
- OpenCV 4.x+ 需要启用 C++11 支持编译暗网致命错误
- 根据您的库支持编译代码
- Opencv错误:没有GPU支持(编译库时没有CUDA支持)
- 如何在 OS X 10.10.3 上将 SASL 支持编译为 Postfix-3.0.0
- 使用UTF8支持编译POCO
- 创建一个构建框架来支持编译支持多个平台的代码
- 用python支持编译opencv出错
- 使用MySQL支持编译QuickFIX C++
- C++是否支持编译时间计数器