code: def c2cn(
      forward,
      x,
      s=None,
      axes=None,
      norm=None,
      overwrite_x=False,
      workers=None,
      *,
      plan=None,
  ):
      """
      Return multidimensional discrete Fourier transform.
      """
      if plan is not None:
          raise NotImplementedError(
              "Passing a precomputed plan is not yet "
              "supported by scipy.fft functions"
          )
      tmp = _asfarray(x)
  
      shape, axes = _init_nd_shape_and_axes(tmp, s, axes)
      overwrite_x = overwrite_x or _datacopied(tmp, x)
      workers = _workers(workers)
  
      if len(axes) == 0:
          return x
  
      tmp, copied = _fix_shape(tmp, shape, axes)
      overwrite_x = overwrite_x or copied
  
      norm = _normalization(norm, forward)
      out = tmp if overwrite_x and tmp.dtype.kind == "c" else None
  
      return pfft.c2c(tmp, axes, forward, norm, out, workers)
  
file_path: catboost/contrib/python/scipy/py3/scipy/fft/_pocketfft/basic.py
imports: import numpy
  import functools
  from .None import pypocketfft
  from .helper import _asfarray, _init_nd_shape_and_axes, _datacopied, _fix_shape, _fix_shape_1d, _normalization, _workers
label_desc: Use image node_id 10 for calling a global function with example usage: c2cn(forward, x, s, axes, norm, overwrite_x, workers) and returns: pfft, x