def __init__(self, arg_count, py_func, pysig): self._tm = default_type_manager # A mapping of signatures to compile results self.overloads = collections.OrderedDict() self.py_func = py_func # other parts of Numba assume the old Python 2 name for code object self.func_code = get_code_object(py_func) # but newer python uses a different name self.__code__ = self.func_code argnames = tuple(pysig.parameters) default_values = self.py_func.__defaults__ or () defargs = tuple(OmittedArg(val) for val in default_values) try: lastarg = list(pysig.parameters.values())[-1] except IndexError: has_stararg = False else: has_stararg = lastarg.kind == lastarg.VAR_POSITIONAL _dispatcher.Dispatcher.__init__(self, self._tm.get_pointer(), arg_count, self._fold_args, argnames, defargs, has_stararg) self.doc = py_func.__doc__ self._compile_lock = utils.NonReentrantLock() utils.finalize(self, self._make_finalizer())
def __init__(self, arg_count, py_func): self._tm = default_type_manager #_dispatcher.Dispatcher.__init__(self, self._tm.get_pointer(), arg_count) # A mapping of signatures to entry points self.overloads = {} # A mapping of signatures to compile results self._compileinfos = {} # A list of nopython signatures self._npsigs = [] self.py_func = py_func # other parts of Numba assume the old Python 2 name for code object self.func_code = get_code_object(py_func) # but newer python uses a different name self.__code__ = self.func_code self._pysig = utils.pysignature(self.py_func) _argnames = tuple(self._pysig.parameters) _dispatcher.Dispatcher.__init__(self, self._tm.get_pointer(), arg_count, _argnames) self.doc = py_func.__doc__ self._compile_lock = utils.NonReentrantLock() utils.finalize(self, self._make_finalizer())
def _lock(self): return utils.NonReentrantLock()