(self, tup_var, out)
return vals_list
get the list of variables that hold values in the tuple variable.
        add node to out if code generation needed.
get the list of variables that hold values in the tuple variable.
        add node to out if code generation needed.
get the list of variables that hold values in the tuple variable . add node to out if code generation needed .
def _get_tuple_varlist(self, tup_var, out):
        """ get the list of variables that hold values in the tuple variable.
        add node to out if code generation needed.
        """
        t_list = guard(find_build_tuple, self.state.func_ir, tup_var)
        if t_list is not None:
            return t_list
        assert isinstance(self.state.typemap[tup_var.name], types.UniTuple)
        ndims = self.state.typemap[tup_var.name].count
        f_text = "def f(tup_var):\n"
        for i in range(ndims):
            f_text += "  val{} = tup_var[{}]\n".format(i, i)
        loc_vars = {}
        exec(f_text, {}, loc_vars)
        f = loc_vars['f']
        f_block = compile_to_numba_ir(f,
                                      {},
                                      self.state.typingctx,
                                      (self.state.typemap[tup_var.name],
                                       ),
                                      self.state.typemap,
                                      self.state.calltypes).blocks.popitem()[1]
        replace_arg_nodes(f_block, [tup_var])
        nodes = f_block.body[:-3]
        vals_list = []
        for stmt in nodes:
            assert isinstance(stmt, ir.Assign)
            rhs = stmt.value
            assert isinstance(rhs, (ir.Var, ir.Const, ir.Expr))
            if isinstance(rhs, ir.Expr):
                assert rhs.op == 'static_getitem'
                vals_list.append(stmt.target)
        out += nodes
        return vals_list
def _get_tuple_varlist ( self , tup_var , out ) : t_list = guard ( find_build_tuple , self . state . func_ir , tup_var ) if t_list is not None : return t_list assert isinstance ( self . state . typemap [ tup_var . name ] , types . UniTuple ) ndims = self . state . typemap [ tup_var . name ] . count f_text = "def f(tup_var):\n" for i in range ( ndims ) : f_text += "  val{} = tup_var[{}]\n" . format ( i , i ) loc_vars = { } exec ( f_text , { } , loc_vars ) f = loc_vars [ 'f' ] f_block = compile_to_numba_ir ( f , { } , self . state . typingctx , ( self . state . typemap [ tup_var . name ] , ) , self . state . typemap , self . state . calltypes ) . blocks . popitem ( ) [ 1 ] replace_arg_nodes ( f_block , [ tup_var ] ) nodes = f_block . body [ : - 3 ] vals_list = [ ] for stmt in nodes : assert isinstance ( stmt , ir . Assign ) rhs = stmt . value assert isinstance ( rhs , ( ir . Var , ir . Const , ir . Expr ) ) if isinstance ( rhs , ir . Expr ) : assert rhs . op == 'static_getitem' vals_list . append ( stmt . target ) out += nodes return vals_list