code: def iscomplex(x):
      """
      Returns a bool array, where True if input element is complex.
  
      What is tested is whether the input has a non-zero imaginary part, not if
      the input type is complex.
  
      Parameters
      ----------
      x : array_like
          Input array.
  
      Returns
      -------
      out : ndarray of bools
          Output array.
  
      See Also
      --------
      isreal
      iscomplexobj : Return True if x is a complex type or an array of complex
                     numbers.
  
      Examples
      --------
      >>> np.iscomplex([1+1j, 1+0j, 4.5, 3, 2, 2j])
      array([ True, False, False, False, False,  True])
  
      """
      ax = asanyarray(x)
      if issubclass(ax.dtype.type, _nx.complexfloating):
          return ax.imag != 0
      res = zeros(ax.shape, bool)
      return res[()]
  
imports: from __future__ import division, absolute_import, print_function
  import functools
  import warnings
  import numpy.core.numeric
  from numpy.core.numeric import asarray, asanyarray, isnan, zeros
  from numpy.core.overrides import set_module
  from numpy.core import overrides
  from .ufunclike import isneginf, isposinf
label_desc: Use image node_id 9 for calling a global function with example usage: iscomplex(x) and returns: res, unknown