与非GPL许可证的C / C + + FFT库
我正在寻找一个许可证的FFT库,允许我将它包含在商业C ++软件中。 免费会很好。 (英特尔IPPS每个头为199美元,这对于编译它的开发人员来说有点贵)。
有人对这样的FFT库有很好的经验吗?
我发现这个页面,其中列出了很多库: http : //www.fftw.org/benchfft/ffts.html
FFTW拥有GPL许可证,因此无法使用。 任何好的select?
KissFFT
一些基准与fftw比较:
http://www.fftw.org/speed/Pentium4-2.4GHz-gcc/
编辑:有EigenFFT – 一个C ++ – 前端为KissFFT作为Eigen的不受支持的部分。
检查FFTS。 它具有宽松的BSD许可证,比ARM和x86上的FFTW,IPP,KissFFT,Apple vDSP等要快。
Laurent de Soras的FFTReal速度非常快,而LGPL就是这样,这意味着你可以在商业软件中使用它,而不需要付费许可,也不需要开源软件。 如果你在软件中使用它,你只需要赞扬作者(他是值得的!)。
正如Nik Reiman所说,你可以使用FFTReal ,并且回复Brone的反对意见,许可证已经被更改为WTFPL,这样更加灵活。
你也需要来源吗? 它是否像啤酒一样是免费的?
如果不是的话,那么英特尔IPP库至less可以为您提供出色的性能,假设您的平台是受支持的平台之一。
根据FFTW文档,非GPL许可证也可用(大概为$)。 你必须联系他们的细节。
我发现商业FFTW不便宜。 (他们想要的商业许可证的费用大约是8000美元。)您可能会发现,英特尔图书馆并不像您想像的那样昂贵。 我们使用的是英特尔MKL(math核心库),因为它被devise为重新分配(静态或dynamic链接)作为商业图书馆的一部分,您可能只能获得许可的开发人员的许可证,大量使用它。 为此,无论开发人员创build什么,都必须放置在单独的库中(如许可证,其他开发人员不能直接使用英特尔库,包括头文件)。 唯一需要注意的是该库的暴露部分必须在英特尔库之外增加重要的function(即创build一个FFT包装器,并将其用作其他人可访问的库将违反许可证协议)。 (解释许可证的含义是非math开发者是math开发者的“客户”)。
只要仔细阅读许可协议,并决定是否可以将此方法应用于您的select库(IPPS)。
你可以看看数值食谱 。 它不是免费的,但比IPP便宜:)。 我已经使用NR,但不是FFT。
在英特尔IPP上再次阅读,您只需要一个开发人员许可证$ 199,即可在一台计算机上安装。 任何其他开发人员仍然可以编译,他们不需要安装整个英特尔IPP,只需要相关的标题和库。