首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用pythran调用fft

如何使用pythran调用fft
EN

Stack Overflow用户
提问于 2018-03-22 01:27:19
回答 1查看 185关注 0票数 1

我正在使用pythran将我的python+numpy代码转换成C++,到目前为止,使用非常高效的结果代码,一切都运行得很好。但是,我的代码需要使用numpy.ffr.rfft和irfft (快速傅立叶变换),而pythran显然不支持:

代码语言:javascript
复制
import numpy as np

# pythran export testFunc(float[])
def testFunc(signal):
    X = np.fft.rfft(signal,n=1024)

>pythran Foo.py
CRITICAL I am in trouble. Your input file does not seem to match 
Pythran's constraints...
E: Attribute 'fft' unknown (Foo.py, line 5)

我怎么才能做到这一点呢?如果我从python代码调用快速傅立叶变换的C实现(我知道这是可以做到的),pythran会使用它还是会抱怨它?

编辑:我将一个简单的C函数编译成一个so模块,然后可以从我的python代码中调用它。当从python调用时,所有这些都工作得很好,但pythran在导入时不起作用:

代码语言:javascript
复制
CRITICAL I've got a bad feeling about this...
E: source code not available

因此,看起来pythran不能很好地处理已编译的.so文件。

EN

回答 1

Stack Overflow用户

发布于 2018-04-30 13:18:37

简短的回答:

使用commit eb9e89373bPythran添加了对numpy.fft.rfft的支持,您的代码现在应该可以正确编译了。

长长的答案:

在Pythran中添加对新函数/包的支持意味着为该函数编写C++代码(可能是现有函数的包装器),并将其注册到Pythran中,以便翻译器了解足够的信息以指导其编译过程。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49412940

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档