class_docstr: Generate code for a fused-type special function that can be
  cimported in Cython.
docstr: Generate code common to all the _generate_* methods.
docstr_tok: ["Generate","code","common","to","all","the","_generate_","*","methods","."]
code: def _get_common(self, signum, sig):
      """Generate code common to all the _generate_* methods."""
      tab = " " * 4
      func_name, incodes, outcodes, retcode, header = sig
      # Convert ints to longs; cf. iter_variants()
      incodes = incodes.replace("i", "l")
      outcodes = outcodes.replace("i", "l")
      retcode = retcode.replace("i", "l")
  
      if header.endswith("h"):
          c = True
      else:
          c = False
      if header.endswith("++"):
          cpp = True
      else:
          cpp = False
  
      intypes = [CY_TYPES[x] for x in incodes]
      outtypes = [CY_TYPES[x] for x in outcodes]
      retcode = re.sub(r"\*.*", "", retcode)
      if not retcode:
          retcode = "v"
      rettype = CY_TYPES[retcode]
  
      if cpp:
          # Functions from _ufuncs_cxx are exported as a void*
          # pointers; cast them to the correct types
          func_name = f"scipy.special._ufuncs_cxx._export_{func_name}"
          func_name = "(<{}(*)({}) noexcept nogil>{})".format(
              rettype, ", ".join(intypes + outtypes), func_name
          )
      else:
          func_name = self.cython_func_name(func_name, specialized=True)
  
      if signum == 0:
          adverb = "if"
      else:
          adverb = "elif"
      cond = self._get_conditional(self.intypes, incodes, adverb)
      if cond:
          lines = [tab + cond]
          sp = 2 * tab
      else:
          lines = []
          sp = tab
  
      return (
          func_name,
          incodes,
          outcodes,
          retcode,
          intypes,
          outtypes,
          rettype,
          c,
          lines,
          sp,
      )
  
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 11 for calling the FusedFunc obj's underlying member method code with example usage: obj._get_common(signum, sig) and returns: func_name,  incodes,  outcodes,  retcode,  intypes,  outtypes,  rettype,  c,  lines,  sp