我引用了多篇文章,包括这篇:cython中np.int、np.int、int和np.int的区别?
但我仍然得到以下错误:
valueerror:缓冲区数据类型不匹配,应为“int”,但为“long”
我试图定义一个接受int64和float64 numpy数组的函数。
import cython
import numpy as np
cimport numpy as np
cimport cython
np.get_include()
DTYPE = np.int64
fDTYPE = np.float64
def function(signed long long [:,:] array1,
signed long long [:] array2,
double[:] array3):
assert array1.dtype == DTYPE
assert array2.dtype == DTYPE
assert array3.dtype == fDTYPE
cdef signed long long x0 = array2[0]
cdef signed long long y0 = array2[1]
cdef double a = array3[0]
cdef double b = array3[1]
cdef double c = array3[2]
我感谢所有建设性的建议。非常感谢。
暂无答案!
目前还没有任何答案,快来回答吧!