Source code for TidalPy.numba_scipy.special.overloads

import numba
import scipy.special as sc

from . import signatures


[docs] def choose_kernel(name, all_signatures): def choice_function(*args): for signature in all_signatures: if args == signature: f = signatures.name_and_types_to_pointer[(name, *signature)] return lambda *args: f(*args) return choice_function
[docs] def add_overloads(): # print('!!TPY: Adding Numba-Scipy Overloads...') for name, all_signatures in signatures.name_to_numba_signatures.items(): sc_function = getattr(sc, name) numba.extending.overload(sc_function)( choose_kernel(name, all_signatures) )
# print('!!TPY: Done.')