cython passin int64和float64 numpy数组

wnavrhmk  于 2021-09-08  发布在  Java
关注(0)|答案(0)|浏览(195)

我引用了多篇文章,包括这篇: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]

我感谢所有建设性的建议。非常感谢。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题