当我需要这样的代码时,我正在努力解决这个问题:
from custom_lib import custom_type, custom_dtype
import numpy as np
a = custom_type(1)
arr = np.array([a,a],dtype=custom_dtype)
arr+a // doesn't work ( No cast function available. )
arr+np.array(a,dtype=custom_dtype) // works and just broadcasts properly
我的包装类型是双类型,但在数学运算上有一个特殊的行为,所以我需要一个完整的CPython包装这种类型和numpy兼容性(这就是为什么boost.python不适合我)。
这里有任何numpy c-api大师?任何帮助表示赞赏。