public static fftwf_plan dft_many(eFFTType fftType, int rank, int[] n, int batch, IntPtr input, int[] inembed, int istride, int idist, IntPtr output, int[] onembed, int ostride, int odist, fftw_direction sign, fftw_flags flags) { fftwf_plan p = new fftwf_plan(); if (fftType == eFFTType.Complex2Complex) { p._handle = fftwf.many_dft(rank, n, batch, input, inembed, istride, idist, output, onembed, ostride, odist, sign, flags); } else if (fftType == eFFTType.Real2Complex) { p._handle = fftwf.many_dft_r2c(rank, n, batch, input, inembed, istride, idist, output, onembed, ostride, odist, flags); } else if (fftType == eFFTType.Complex2Real) { p._handle = fftwf.many_dft_c2r(rank, n, batch, input, inembed, istride, idist, output, onembed, ostride, odist, flags); } p.Input = input; p.Output = output; return(p); }
/// <summary> /// Creates plan.. /// </summary> /// <param name="fftType">Type of fft.</param> /// <param name="n">The n.</param> /// <param name="input">The input.</param> /// <param name="output">The output.</param> /// <param name="direction">The direction.</param> /// <param name="flags">The flags.</param> /// <returns></returns> public static fftwf_plan dft_1d(eFFTType fftType, int n, IntPtr input, IntPtr output, fftw_direction direction, fftw_flags flags) { fftwf_plan p = new fftwf_plan(); if (fftType == eFFTType.Complex2Complex) p._handle = fftwf.dft_1d(n, input, output, direction, flags); else if (fftType == eFFTType.Real2Complex) p._handle = fftwf.dft_r2c_1d(n, input, output, flags); else if (fftType == eFFTType.Complex2Real) p._handle = fftwf.dft_c2r_1d(n, input, output, flags); p.Input = input; p.Output = output; return p; }
/// <summary> /// Creates plan.. /// </summary> /// <param name="fftType">Type of fft.</param> /// <param name="n">The n.</param> /// <param name="input">The input.</param> /// <param name="output">The output.</param> /// <param name="direction">The direction.</param> /// <param name="flags">The flags.</param> /// <returns></returns> public static fftwf_plan dft_1d(eFFTType fftType, int n, IntPtr input, IntPtr output, fftw_direction direction, fftw_flags flags) { fftwf_plan p = new fftwf_plan(); if (fftType == eFFTType.Complex2Complex) { p._handle = fftwf.dft_1d(n, input, output, direction, flags); } else if (fftType == eFFTType.Real2Complex) { p._handle = fftwf.dft_r2c_1d(n, input, output, flags); } else if (fftType == eFFTType.Complex2Real) { p._handle = fftwf.dft_c2r_1d(n, input, output, flags); } p.Input = input; p.Output = output; return(p); }
public static fftwf_plan dft_many(eFFTType fftType, int rank, int[] n, int batch, IntPtr input, int[] inembed, int istride, int idist, IntPtr output, int[] onembed, int ostride, int odist, fftw_direction sign, fftw_flags flags) { fftwf_plan p = new fftwf_plan(); if (fftType == eFFTType.Complex2Complex) p._handle = fftwf.many_dft(rank, n, batch, input, inembed, istride, idist, output, onembed, ostride, odist, sign, flags); else if (fftType == eFFTType.Real2Complex) p._handle = fftwf.many_dft_r2c(rank, n, batch, input, inembed, istride, idist, output, onembed, ostride, odist, flags); else if (fftType == eFFTType.Complex2Real) p._handle = fftwf.many_dft_c2r(rank, n, batch, input, inembed, istride, idist, output, onembed, ostride, odist, flags); p.Input = input; p.Output = output; return p; }