Мне интересно, почему cython жалуется на использование int
в качестве индексов в массивах.
У меня очень длинная функция, но есть массив, на который жалуется cython, он реализован так:
cdef double F(double[:,:] arguments):
cdef double H[2][3][3]
H[0][0][:] = [0, 0, 0]; H[0][1][:] = [0, 0, 0]; H[0][2][:] = [0, 0, 0]
H[1][0][:] = [0, 0, 0]; H[1][1][:] = [0, 0, 0]; H[1][2][:] = [0, 0, 0]
cdef int i = 0
cdef int j = 0
# ...
# the following line causes the error
H[<int>1,i,j] = 42
# ...
Я получаю ошибку Invalid index type '(int, int, int)'
Это правда, что я не могу использовать int
в качестве индекса? Что здесь происходит?