docs: def fft_plan(shape, dtype=np.complex64, axes=None, fast_math=True):
      """returns an reikna plan/FFT obj of shape dshape
      """
      # if not axes is None and any([a<0 for a in axes]):
      #     raise NotImplementedError("indices of axes have to be non negative, but are: %s"%str(axes))
  
      axes = _convert_axes_to_absolute(shape, axes)
  
      mock_buffer = MockBuffer(dtype, shape)
  
      fft_plan = FFT(mock_buffer, axes=axes).compile(cluda.ocl_api().Thread(get_device().queue),
                                                     fast_math=fast_math)
  
      return fft_plan