def r2cn(forward, x, shape=None, axes=None, norm=None, overwrite_x=False): """Return multi-dimensional discrete Fourier transform of real input""" tmp = _asfarray(x) if not np.isrealobj(tmp): raise TypeError("x must be a real sequence") shape, axes = _init_nd_shape_and_axes(tmp, shape, axes) tmp, _ = _fix_shape(tmp, shape, axes) norm = _normalization(norm, forward) if len(axes) == 0: raise ValueError("at least 1 axis must be transformed") # Note: overwrite_x is not utilised return pfft.r2c(tmp, axes, forward, norm, None, _default_workers)
def r2c(forward, x, n=None, axis=-1, norm=None, overwrite_x=False): """ Discrete Fourier transform of a real sequence. """ tmp = _asfarray(x) norm = _normalization(norm, forward) if not np.isrealobj(tmp): raise TypeError("x must be a real sequence") if n is not None: tmp, _ = _fix_shape_1d(tmp, n, axis) elif tmp.shape[axis] < 1: raise ValueError("invalid number of data points ({0}) specified" .format(tmp.shape[axis])) # Note: overwrite_x is not utilised return pfft.r2c(tmp, (axis,), forward, norm, None, _default_workers)