def _make_global_functions(): """ Make global functions wrapping each compute function. Note that some of the automatically-generated wrappers may be overriden by custom versions below. """ g = globals() reg = function_registry() # Avoid clashes with Python keywords rewrites = {'and': 'and_', 'or': 'or_'} for cpp_name in reg.list_functions(): name = rewrites.get(cpp_name, cpp_name) func = reg.get_function(cpp_name) assert name not in g, name g[cpp_name] = g[name] = _wrap_function(name, func)
def _make_global_functions(): """ Make global functions wrapping each compute function. Note that some of the automatically-generated wrappers may be overriden by custom versions below. """ g = globals() reg = function_registry() for name in reg.list_functions(): assert name not in g, name func = reg.get_function(name) if func.arity == 1: g[name] = _simple_unary_function(name) elif func.arity == 2: g[name] = _simple_binary_function(name) else: raise NotImplementedError("Unsupported function arity: ", func.arity)
def _make_global_functions(): """ Make global functions wrapping each compute function. Note that some of the automatically-generated wrappers may be overridden by custom versions below. """ g = globals() reg = function_registry() # Avoid clashes with Python keywords rewrites = {'and': 'and_', 'or': 'or_'} for cpp_name in reg.list_functions(): name = rewrites.get(cpp_name, cpp_name) func = reg.get_function(cpp_name) if func.kind == "hash_aggregate": # Hash aggregate functions are not callable, # so let's not expose them at module level. continue assert name not in g, name g[cpp_name] = g[name] = _wrap_function(name, func)