def make_operator_usecase(op): code = """if 1: def operator_usecase(a, b): s = set(a) %(op)s set(b) return list(s) """ % dict(op=op) return compile_function('operator_usecase', code, globals())
def make_inplace_operator_usecase(op): code = """if 1: def inplace_operator_usecase(a, b): sa = set(a) sb = set(b) sc = sa sc %(op)s sb return list(sc), list(sa) """ % dict(op=op) return compile_function('inplace_operator_usecase', code, globals())
def make_comparison_usecase(op): code = """if 1: def comparison_usecase(a, b): return set(a) %(op)s set(b) """ % dict(op=op) return compile_function('comparison_usecase', code, globals())
def _build_set_literal_usecase(code, args): code = code % {'initializer': ', '.join(repr(arg) for arg in args)} return compile_function('build_set', code, globals())
def attrgetter(attr): code = """def func(x): return x.%(attr)s """ % locals() pyfunc = compile_function("func", code, globals()) return jit(nopython=True)(pyfunc)
def _build_set_literal_usecase(code, args): code = code % {"initializer": ", ".join(repr(arg) for arg in args)} return compile_function("build_set", code, globals())