Пример #1
0
 def convert_int_to_object(self, arg):
     funcs = [
         "__Numba_PyInt_FromLongLong", "__Numba_PyInt_FromUnsignedLongLong"
     ]
     func = funcs[arg.type.signed]
     return function_util.utility_call(self.context, self.llvm_module, func,
                                       [arg])
Пример #2
0
    def visit_Raise(self, node):
        # Create void * temporaries
        args = []  # Type, Value, Traceback, Cause
        for arg in [node.type, node.inst, node.tback, None]:
            if arg:
                arg = nodes.CoercionNode(arg, object_)
                arg = nodes.PointerFromObject(arg)
            else:
                arg = nodes.NULL

            args.append(arg)

        # Call numba/external/utitilies/cpyutils.c:do_raise()
        set_exc = function_util.utility_call(self.context, self.llvm_module,
                                             'Raise', args)

        result = self.visit(set_exc)
        return result
Пример #3
0
    def visit_Raise(self, node):
        # Create void * temporaries
        args = [] # Type, Value, Traceback, Cause
        for arg in [node.type, node.inst, node.tback, None]:
            if arg:
                arg = nodes.CoercionNode(arg, object_)
                arg = nodes.PointerFromObject(arg)
            else:
                arg = nodes.NULL

            args.append(arg)

        # Call numba/external/utitilies/cpyutils.c:do_raise()
        set_exc = function_util.utility_call(
            self.context,
            self.llvm_module,
            'Raise', args)

        result = self.visit(set_exc)
        return result
Пример #4
0
 def lookup(self, env, always_present, node, args):
     args.append(nodes.const(node.attr, c_string_type))
     vmethod = function_util.utility_call(env.context, env.crnt.llvm_module,
                                          "lookup_method", args)
     return vmethod
Пример #5
0
 def convert_int_to_object(self, arg):
     funcs = ["__Numba_PyInt_FromLongLong",
              "__Numba_PyInt_FromUnsignedLongLong"]
     func = funcs[arg.type.signed]
     return function_util.utility_call(self.context, self.llvm_module,
                                       func, [arg])
Пример #6
0
 def lookup(self, env, always_present, node, args):
     args.append(nodes.const(node.attr, c_string_type))
     vmethod = function_util.utility_call(
         env.context, env.crnt.llvm_module,
         "lookup_method", args)
     return vmethod