class_docstr: Generate code for a fused-type special function that can be
  cimported in Cython.
docstr: Generate output variables to a specialization,
  i.e., pointers that are used to return values.
docstr_tok: ["Generate","output","variables","to","a","specialization",",","i.e.",",","pointers","that","are","used","to","return","values","."]
code: def _get_outcallvars(self, outtypes, c):
      """Generate output variables to a specialization,
      i.e., pointers that are used to return values.
  
      """
      outcallvars, tmpvars, casts = [], [], []
      # If there are more out variables than out types, we want the
      # tail of the out variables
      start = len(self.outvars) - len(outtypes)
      outvars = self.outvars[start:]
      for n, (var, outtype) in enumerate(zip(outvars, outtypes)):
          if c and outtype == "double complex":
              tmp = f"tmp{n}"
              tmpvars.append(tmp)
              outcallvars.append(f"&{tmp}")
              tmpcast = double_complex_from_npy_cdouble(tmp)
              casts.append(f"{var}[0] = {tmpcast}")
          else:
              outcallvars.append(f"{var}")
      return outcallvars, tmpvars, casts
  
imports: import itertools
  import json
  import os
  from stat import ST_MTIME
  import argparse
  import re
  import textwrap
  import numpy
label_desc: Use image node_id 7 for calling the FusedFunc obj's underlying member method code with example usage: obj._get_outcallvars(outtypes, c) and returns: outcallvars,  tmpvars,  casts