我正在尝试解决我的应用程序中的瓶颈,这是两个矩阵的元素总和。
我正在使用 NumPy 和 Cython。我有一个cdef
带有矩阵属性的类。由于 Cython 仍然不支持类属性中的缓冲区数组,因此我遵循了这一点并尝试使用指向data
矩阵属性的指针。问题是,我确信我做错了什么,正如结果所表明的那样。
我试图做的或多或少如下:
cdef class the_class:
cdef np.ndarray the_matrix
cdef float_t* the_matrix_p
def __init__(self):
the_matrix_p = <float_t*> self.the_matrix.data
cpdef the_function(self):
other_matrix = self.get_other_matrix()
the_matrix_p += other_matrix.data