Пример #1
0
def register_infer_intrinsic(intrinsic):
    def infer(*args):
        return IntrinsicNode(intrinsic, args)

    register_value(intrinsic, infer,
                   pass_in_types=False,
                   can_handle_deferred_types=True)
Пример #2
0
    def decorator(func):
        @functools.wraps(func)
        def infer(context, node, *args):
            _expect_n_args(node, name, nargs)

            need_nones = max(nargs) - len(args)
            args += (None,) * need_nones

            return func(context, node, *args)

        name = infer.__name__.strip("_")
        value = getattr(builtins, name)

        register_value(value, infer, pass_in_types=False, pass_in_callnode=True)

        return func # wrapper
Пример #3
0
    def decorator(func, value=None):
        @functools.wraps(func)
        def infer(context, node, *args):
            expect_n_args(node, name, nargs)

            need_nones = max(nargs) - len(args)
            args += (None,) * need_nones

            return func(context, node, *args)

        if value is None:
            name = infer.__name__.strip("_")
            value = getattr(builtins, name)
        else:
            name = getattr(value, "__name__", "<unknown>")

        register_value(value, infer, pass_in_types=False, pass_in_callnode=True,
                       can_handle_deferred_types=can_handle_deferred_types)

        return func # wrapper
Пример #4
0
Файл: utils.py Проект: tpn/numba
    def decorator(func, value=None):
        @functools.wraps(func)
        def infer(context, node, *args):
            if nargs is not None:
                expect_n_args(node, name, nargs)
                need_nones = max(nargs) - len(args)
                args += (None,) * need_nones

            return func(context, node, *args)

        if value is None:
            name = infer.__name__.strip("_")
            value = getattr(builtins, name)
        else:
            name = getattr(value, "__name__", "<unknown>")

        register_value(value, infer, pass_in_types=False, pass_in_callnode=True,
                       can_handle_deferred_types=can_handle_deferred_types)

        return func # wrapper