复杂到Python复杂的转换
我现在正在编写一个C++程序的包装器,它使用<代码> STD::复合< /代码>,在Cython中可用为代码> LBCPP。 然而,在这个和Python复合体之间并没有隐式转换,我正在试图找到实现这个转换的最佳方法 显而易见的是使用复杂到Python复杂的转换,python,c++,std,cython,complex-numbers,Python,C++,Std,Cython,Complex Numbers,我现在正在编写一个C++程序的包装器,它使用 STD::复合< /代码>,在Cython中可用为代码> LBCPP。 然而,在这个和Python复合体之间并没有隐式转换,我正在试图找到实现这个转换的最佳方法 显而易见的是使用 cdef libcpp.complex.complex[double] x = ... X = complex(x.real(),x.imag() 及 及 但是有没有更好的方法,最好是让cython自动进行转换 例如,在一些cpdef函数中会出现这种情况,为了提高速度,我
cdef libcpp.complex.complex[double] x = ...
X = complex(x.real(),x.imag()
及
及
但是有没有更好的方法,最好是让cython自动进行转换
例如,在一些cpdef
函数中会出现这种情况,为了提高速度,我希望避免在cython的调用中使用Python复合体
但是,我可以告诉Cython不能隐式地进行这个转换,因此我不能避免使用Python复合代码来从Python或C++中调用代码。
< P>将在Cython的下一版本中发布。cdef complex Y = ...
cdef libcpp.complex.complex[double] y = libcpp.complex.complex[double](Y.real, Y.imag)
cdef libcpp.complex.complex[double] z
cdef complex Z = ...
z.real(Z.real)
z.imag(Z.imag)