def register_jitable(*args, **kwargs):
 def wrap(fn):
  @overload(fn, jit_options=kwargs)
  def ov_wrap(*args, **kwargs):
   return fn
  return fn
 if kwargs:
  return wrap
 else:
  return wrap(*args)

def register_jitable ( * args , ** kwargs ) : def wrap ( fn ) : @ overload ( fn , jit_options = kwargs ) def ov_wrap ( * args , ** kwargs ) : return fn return fn if kwargs : return wrap else : return wrap ( * args )
register a regular python function that can be executed by the python interpreter and can be compiled into a nopython function when referenced by other jited functions .