Cómo pasar parámetros adicionales a numba cfunc pasado como LowLevelCallable a scipy.integrate.quad

La documentacióndiscute usando numba'scfuncs comoLowLevelCallable argumento descipy.integrate.quad. Necesito lo mismo con parámetro adicional.

Básicamente estoy tratando de hacer algo como esto:

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)

Sin embargo, no funciona porqueparams se supone que sonvoidptr/void* y no se pueden transformar adouble. Tengo el siguiente mensaje de error:

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

No encontré ninguna información sobre cómo extraer valores devoid* en Numba En C, debería ser algo comoa = *((double*) params) - ¿Es posible hacer lo mismo en Numba?

Respuestas a la pregunta(1)

Su respuesta a la pregunta