code: def _fftconv(a, b, axes=(0, 1)):
      
  
      if cp.isrealobj(a) and cp.isrealobj(b):
          fft = cp.fft.rfftn
          ifft = cp.fft.irfftn
      else:
          fft = cp.fft.fftn
          ifft = cp.fft.ifftn
      dims = cp.maximum(cp.asarray([a.shape[i] for i in axes]),
                        cp.asarray([b.shape[i] for i in axes]))
      dims = [int(d) for d in dims]
      af = fft(a, dims, axes)
      bf = fft(b, dims, axes)
      return ifft(af * bf, dims, axes)
docs: Patched version of :func:`sporco.linalg.fftconv`.