code: def common_type(*arrays):
      """
      Return a scalar type which is common to the input arrays.
  
      The return type will always be an inexact (i.e. floating point) scalar
      type, even if all the arrays are integer arrays. If one of the inputs is
      an integer array, the minimum precision type that is returned is a
      64-bit floating point dtype.
  
      All input arrays except int64 and uint64 can be safely cast to the
      returned dtype without loss of information.
  
      Parameters
      ----------
      array1, array2, ... : ndarrays
          Input arrays.
  
      Returns
      -------
      out : data type code
          Data type code.
  
      See Also
      --------
      dtype, mintypecode
  
      Examples
      --------
      >>> np.common_type(np.arange(2, dtype=np.float32))
      <class 'numpy.float32'>
      >>> np.common_type(np.arange(2, dtype=np.float32), np.arange(2))
      <class 'numpy.float64'>
      >>> np.common_type(np.arange(4), np.array([45, 6.j]), np.array([45.0]))
      <class 'numpy.complex128'>
  
      """
      is_complex = False
      precision = 0
      for a in arrays:
          t = a.dtype.type
          if iscomplexobj(a):
              is_complex = True
          if issubclass(t, _nx.integer):
              p = 2  # array_precision[_nx.double]
          else:
              p = array_precision.get(t, None)
              if p is None:
                  raise TypeError(
                      "can't get common type for non-numeric array"
                  )
          precision = max(precision, p)
      if is_complex:
          return array_type[1][precision]
      else:
          return array_type[0][precision]
  
imports: import functools
  from .._utils import set_module
  import numpy._core.numeric
  from numpy._core.numeric import asarray, asanyarray, isnan, zeros
  from numpy._core import overrides, getlimits
  from ._ufunclike_impl import isneginf, isposinf
label_desc: Use image node_id 18 for calling a global function with example usage: common_type() and returns: array_type, array_type