Вам необходимо правильно указать подпись вашего list
.Это означает решение нескольких проблем в вашем коде:
reflected=True
должно быть аргументом вашего вызова класса List
класса - Я не знаю, как и гдеВы импортируете
list
.Если вы не импортировали его, это не тип numba.Если вы импортировали что-то как list
, вы перезаписали встроенный модуль python list
.Вы должны НИКОГДА сделать это.Поэтому вместо списка я напишу nb.types.List(...)
, предполагая, что вы импортируете numba с import numba as nb
.Если вы импортировали numba с from numba import *
: это еще одна вещь, которую вам следует избегать любой ценой. - тип
float64
, который хранится в вашем списке, необходимо указать более точно.В вашем отраженном списке есть массив типа array(float64, 2d, A)
.Это означает, что ваша подпись списка должна содержать именно этот тип массива.В этом случае это будет выглядеть так: nb.float64[:, :]
.Для других макетов памяти, таких как C- или F-, посмотрите на этот пост .
Таким образом, ваша итоговая подпись будет выглядеть так:
@nb.njit(nb.float64[:, :, :](nb.int32, nb.types.List(nb.float64[:, :], reflected=True), nb.float64[:, :, :]))
Снова при условии, что вы импортируете numba с import numba as nb
и ваш массив имеет тип array(float64, 2d, A)
.