code: def czt(x, m=None, w=None, a=1 + 0j, *, axis=-1):
      """
      Compute the frequency response around a spiral in the Z plane.
  
      Parameters
      ----------
      x : array
          The signal to transform.
      m : int, optional
          The number of output points desired.  Default is the length of the
          input data.
      w : complex, optional
          The ratio between points in each step.  This must be precise or the
          accumulated error will degrade the tail of the output sequence.
          Defaults to equally spaced points around the entire unit circle.
      a : complex, optional
          The starting point in the complex plane.  Default is 1+0j.
      axis : int, optional
          Axis over which to compute the FFT. If not given, the last axis is
          used.
  
      Returns
      -------
      out : ndarray
          An array of the same dimensions as `x`, but with the length of the
          transformed axis set to `m`.
  
      See Also
      --------
      CZT : Class that creates a callable chirp z-transform function.
      zoom_fft : Convenience function for partial FFT calculations.
      scipy.signal.czt
  
      Notes
      -----
      The defaults are chosen such that ``signal.czt(x)`` is equivalent to
      ``fft.fft(x)`` and, if ``m > len(x)``, that ``signal.czt(x, m)`` is
      equivalent to ``fft.fft(x, m)``.
  
      If the transform needs to be repeated, use `CZT` to construct a
      specialized transform function which can be reused without
      recomputing constants.
  
      An example application is in system identification, repeatedly evaluating
      small slices of the z-transform of a system, around where a pole is
      expected to exist, to refine the estimate of the pole's true location. [1]_
  
      References
      ----------
      .. [1] Steve Alan Shilling, "A study of the chirp z-transform and its
             applications", pg 20 (1970)
             https://krex.k-state.edu/dspace/bitstream/handle/2097/7844/LD2668R41972S43.pdf
  
      """
      x = cupy.asarray(x)
      transform = CZT(x.shape[axis], m=m, w=w, a=a)
      return transform(x, axis=axis)
  
file_path: cupy/cupyx/scipy/signal/_czt.py
imports: import cmath
  import numbers
  import cupy
  from numpy import pi
  from cupyx.scipy.fft import fft, ifft, next_fast_len
label_desc: Use image node_id 3 for calling a global function with example usage: czt(x, m, w, a) and returns: transform