我正在尝试使用cython进行复数计算.在示例代码中,我想计算复数的复指数函数.问题是我不知道如何将我的整数乘以虚数单位.乘以python的虚部1.0j会在执行cython时引发错误.
这是我的代码:
cdef extern from "math.h":
double complex cexp(double complex)
def testfunction():
cdef double n
n=3
cdef double complex res
res=cexp(n*1.0j)
return res
Run Code Online (Sandbox Code Playgroud)
这是错误消息:
complex.c:678:3:注意:预期'复数double'但参数类型为'__pyx_t_double_complex'
首先,尝试报告编译的完整堆栈跟踪.在我的机器上,我得到了一个非常有用的:
隐式声明函数'cexp'[-Wimplicit-function-declaration]
事实证明你包含了错误的标题.cexp声明<complex.h>,请参阅文档.
只需将您的代码更改为
cdef extern from "complex.h":
double complex cexp(double complex)
Run Code Online (Sandbox Code Playgroud)
你会没事的
| 归档时间: |
|
| 查看次数: |
1612 次 |
| 最近记录: |