Вот простая функция, которая работает с numpy, но не с numba:
Код: Выделить всё
# @numba.jit(nopython=True, fastmath=False, parallel=False)
def testgetvalue(tgvarray, tgvindex):
tgvalue = tgvarray[tuple(tgvindex)]
return tgvalue
Я пробовал:
Код: Выделить всё
@numba.jit(nopython=True, fastmath=False, parallel=False)
def testgetvalue2(tgvarray, tgvindex):
tgvalue = tgvarray[tuple(tgvindex)]
currentdex = tgvindex[0]
tgvtemp = tgvarray[currentdex]
for idx in range(1, len(tgvindex)):
currentdex = tgvindex[idx]
tgvtemp = tgvtemp[currentdex]
return tgvalue
Я нашел этот вопрос, в котором в ответе говорится, что это возможно:
В более общем плане вы не можете создать N-арный кортеж, где N является переменной в функции Numba. Однако вместо этого вы можете сгенерировать и скомпилировать функцию для определенного N. Если N очень мало (например,
Подробнее здесь: https://stackoverflow.com/questions/790 ... kly-comput