Como passar parâmetros adicionais para numba cfunc passados como LowLevelCallable para scipy.integrate.quad

A documentaçãodiscute usando numbacfuncs comoLowLevelCallable argumento descipy.integrate.quad. Eu preciso da mesma coisa com parâmetro adicional.

Estou basicamente tentando fazer algo assim:

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)

No entanto, não funciona, porqueparams deveria servoidptr/void* e eles não podem ser transformados emdouble. Eu tenho a seguinte mensagem de erro:

TypingError: Failed at nopython (nopython frontend)
Invalid usage of getitem with parameters (void*, int64)
 * parameterized

Não encontrei nenhuma informação sobre como extrair valores devoid* em Numba. Em C, deve ser algo comoa = *((double*) params) - é possível fazer o mesmo no Numba?

questionAnswers(1)

yourAnswerToTheQuestion