code: def fftfreq(n, d=1.0):
      """
      Return the Discrete Fourier Transform sample frequencies.
  
      The returned float array `f` contains the frequency bin centers in cycles
      per unit of the sample spacing (with zero at the start).  For instance, if
      the sample spacing is in seconds, then the frequency unit is cycles/second.
  
      Given a window length `n` and a sample spacing `d`::
  
        f = [0, 1, ...,   n/2-1,     -n/2, ..., -1] / (d*n)   if n is even
        f = [0, 1, ..., (n-1)/2, -(n-1)/2, ..., -1] / (d*n)   if n is odd
  
      Parameters
      ----------
      n : int
          Window length.
      d : scalar, optional
          Sample spacing (inverse of the sampling rate). Defaults to 1.
  
      Returns
      -------
      f : ndarray
          Array of length `n` containing the sample frequencies.
  
      Examples
      --------
      >>> signal = np.array([-2, 8, 6, 4, 1, 0, 3, 5], dtype=float)
      >>> fourier = np.fft.fft(signal)
      >>> n = signal.size
      >>> timestep = 0.1
      >>> freq = np.fft.fftfreq(n, d=timestep)
      >>> freq
      array([ 0.  ,  1.25,  2.5 , ..., -3.75, -2.5 , -1.25])
  
      """
      if not isinstance(n, integer_types):
          raise ValueError("n should be an integer")
      val = 1.0 / (n * d)
      results = empty(n, int)
      N = (n - 1) // 2 + 1
      p1 = arange(0, N, dtype=int)
      results[:N] = p1
      p2 = arange(-(n // 2), 0, dtype=int)
      results[N:] = p2
      return results * val
  
imports: from numpy.core import integer, empty, arange, asarray, roll
  from numpy.core.overrides import array_function_dispatch, set_module
label_desc: Use image node_id 4 for calling a global function with example usage: fftfreq(n, d) and returns: unknown