тоже не кажется обнадеживающим!
ентацияобсуждается используя Нумбуcfunc
какLowLevelCallable
аргументscipy.integrate.quad
, Мне нужно то же самое с дополнительным параметром.
Я в основном пытаюсь сделать что-то вроде этого:
import numpy as np
from numba import cfunc
import numba.types
voidp = numba.types.voidptr
def integrand(t, params):
a = params[0] # this is additional parameter
return np.exp(-t/a) / t**2
nb_integrand = cfunc(numba.float32(numba.float32, voidp))(integrand)
Однако это не работает, потому чтоparams
должны бытьvoidptr
/void*
и они не могут быть преобразованы вdouble
, У меня есть следующее сообщение об ошибке:
TypingError: Failed at nopython (nopython frontend)
Invalid usage of getitem with parameters (void*, int64)
* parameterized
Я не нашел никакой информации о том, как извлечь значения изvoid*
в Нумбе. В С должно быть что-то вродеa = *((double*) params)
- возможно ли сделать то же самое в Нумбе?