code: def ihfft(a, n=None, axis=-1, norm=None):
      """
      Compute the inverse FFT of a signal that has Hermitian symmetry.
  
      Parameters
      ----------
      a : array_like
          Input array.
      n : int, optional
          Length of the inverse FFT, the number of points along
          transformation axis in the input to use.  If `n` is smaller than
          the length of the input, the input is cropped.  If it is larger,
          the input is padded with zeros. If `n` is not given, the length of
          the input along the axis specified by `axis` is used.
      axis : int, optional
          Axis over which to compute the inverse FFT. If not given, the last
          axis is used.
      norm : {None, "ortho"}, optional
          Normalization mode (see `numpy.fft`). Default is None.
  
          .. versionadded:: 1.10.0
  
      Returns
      -------
      out : complex ndarray
          The truncated or zero-padded input, transformed along the axis
          indicated by `axis`, or the last one if `axis` is not specified.
          The length of the transformed axis is ``n//2 + 1``.
  
      See also
      --------
      hfft, irfft
  
      Notes
      -----
      `hfft`/`ihfft` are a pair analogous to `rfft`/`irfft`, but for the
      opposite case: here the signal has Hermitian symmetry in the time
      domain and is real in the frequency domain. So here it's `hfft` for
      which you must supply the length of the result if it is to be odd:
  
      * even: ``ihfft(hfft(a, 2*len(a) - 2) == a``, within roundoff error,
      * odd: ``ihfft(hfft(a, 2*len(a) - 1) == a``, within roundoff error.
  
      Examples
      --------
      >>> spectrum = np.array([ 15, -4, 0, -1, 0, -4])
      >>> np.fft.ifft(spectrum)
      array([ 1.+0.j,  2.-0.j,  3.+0.j,  4.+0.j,  3.+0.j,  2.-0.j])
      >>> np.fft.ihfft(spectrum)
      array([ 1.-0.j,  2.-0.j,  3.-0.j,  4.-0.j])
  
      """
      # The copy may be required for multithreading.
      a = array(a, copy=True, dtype=float)
      if n is None:
          n = a.shape[axis]
      unitary = _unitary(norm)
      output = conjugate(rfft(a, n, axis))
      return output * (1 / (sqrt(n) if unitary else n))
  
imports: from __future__ import division, absolute_import, print_function
  import functools
  from numpy.core import array, asarray, zeros, swapaxes, shape, conjugate, take, sqrt
  from numpy.core.multiarray import normalize_axis_index
  from numpy.core import overrides
  from .None import fftpack_lite
  from .helper import _FFTCache
label_desc: Use image node_id 9 for calling a global function with example usage: ihfft(a, n, axis, norm) and returns: unknown