我想做的是
cdef int mom2calc[3]
mom2calc[0] = 1
mom2calc[1] = 2
mom2calc[2] = 3以更紧凑的方式。类似于
cdef int mom2calc[3] = [1, 2, 3]这是无效的Cython语法。
注意:
cdef int* mom2calc = [1, 2, 3]不是一个选项,因为我不能(自动)将它转换为内存视图。
发布于 2014-09-23 14:09:21
cdef int mom2calc[3]
mom2calc[:] = [1, 2, 3]这适用于原始指针(尽管当时没有进行边界检查)、内存视图和固定大小的数组。它只适用于一个维度,但这通常就足够了:
cdef int mom2calc[3][3]
mom2calc[0][:] = [1, 2, 3]
mom2calc[1][:] = [4, 5, 6]
mom2calc[2][:] = [7, 8, 9]发布于 2019-07-30 01:20:57
cdef int[3] mom2calc = [1, 2, 3]这就是应该怎么做的。Cython测试中C数组初始化的例子是here。
https://stackoverflow.com/questions/25974975
复制相似问题