//Real->Complex transforms public static fftwf_plan dft_r2c_1d(int n, fftwf_complexarray input, fftwf_complexarray output, fftw_flags flags) { fftwf_plan p = new fftwf_plan(); p.handle = fftwf.dft_r2c_1d(n, input.Handle, output.Handle, flags); return(p); }
public static fftwf_plan dft(int rank, int[] n, fftwf_complexarray input, fftwf_complexarray output, fftw_direction direction, fftw_flags flags) { fftwf_plan p = new fftwf_plan(); p.handle = fftwf.dft(rank, n, input.Handle, output.Handle, direction, flags); return(p); }
public static fftwf_plan dft_3d(int nx, int ny, int nz, fftwf_complexarray input, fftwf_complexarray output, fftw_direction direction, fftw_flags flags) { fftwf_plan p = new fftwf_plan(); p.handle = fftwf.dft_3d(nx, ny, nz, input.Handle, output.Handle, direction, flags); return(p); }
public static fftwf_plan r2r_2d(int nx, int ny, fftwf_complexarray input, fftwf_complexarray output, fftw_kind kindx, fftw_kind kindy, fftw_flags flags) { fftwf_plan p = new fftwf_plan(); p.handle = fftwf.r2r_2d(nx, ny, input.Handle, output.Handle, kindx, kindy, flags); return(p); }
public static fftwf_plan r2r(int rank, int[] n, fftwf_complexarray input, fftwf_complexarray output, fftw_kind[] kind, fftw_flags flags) { fftwf_plan p = new fftwf_plan(); p.handle = fftwf.r2r(rank, n, input.Handle, output.Handle, kind, flags); return(p); }
public static fftwf_plan r2r_2d(int nx, int ny, fftwf_complexarray input, fftwf_complexarray output, fftw_kind kindx, fftw_kind kindy, fftw_flags flags) { FFTW_Lock.WaitOne(); fftwf_plan p = new fftwf_plan(); p.handle = fftwf.r2r_2d(nx, ny, input.Handle, output.Handle, kindx, kindy, flags); FFTW_Lock.ReleaseMutex(); return(p); }
public static fftwf_plan dft_c2r(int rank, int[] n, fftwf_complexarray input, fftwf_complexarray output, fftw_direction direction, fftw_flags flags) { FFTW_Lock.WaitOne(); fftwf_plan p = new fftwf_plan(); p.handle = fftwf.dft_c2r(rank, n, input.Handle, output.Handle, flags); FFTW_Lock.ReleaseMutex(); return(p); }
public static fftwf_plan dft_r2c_3d(int nx, int ny, int nz, fftwf_complexarray input, fftwf_complexarray output, fftw_flags flags) { FFTW_Lock.WaitOne(); fftwf_plan p = new fftwf_plan(); p.handle = fftwf.dft_r2c_3d(nx, ny, nz, input.Handle, output.Handle, flags); FFTW_Lock.ReleaseMutex(); return(p); }
public FFT(int n) { this.N = n; var size = n * n; _fftIn = new ComplexArray(size); _fftOut = new ComplexArray(size); _fftPlan = fftwf_plan.dft_2d(n, n, _fftIn, _fftOut, fftw_direction.Backward, fftw_flags.Estimate); _spaceDomain = new float[2 * size]; }
public static fftwf_plan dft_r2c(int rank, int[] n, fftwf_complexarray input, fftwf_complexarray output, fftw_flags flags) { fftwf_plan p = new fftwf_plan(); p.handle = fftwf.dft_r2c(rank, n, input.Handle, output.Handle, flags); return p; }
public static fftwf_plan dft_c2r_2d(int nx, int ny, fftwf_complexarray input, fftwf_complexarray output, fftw_direction direction, fftw_flags flags) { fftwf_plan p = new fftwf_plan(); p.handle = fftwf.dft_c2r_2d(nx, ny, input.Handle, output.Handle, flags); return p; }
//Real<->Real public static fftwf_plan r2r_1d(int n, fftwf_complexarray input, fftwf_complexarray output, fftw_kind kind, fftw_flags flags) { fftwf_plan p = new fftwf_plan(); p.handle = fftwf.r2r_1d(n, input.Handle, output.Handle, kind, flags); return p; }
public static fftwf_plan dft_r2c_2d(int nx, int ny, fftwf_complexarray input, fftwf_complexarray output, fftw_flags flags) { FFTW_Lock.WaitOne(); fftwf_plan p = new fftwf_plan(); p.handle = fftwf.dft_r2c_2d(nx, ny, input.Handle, output.Handle, flags); FFTW_Lock.ReleaseMutex(); return p; }
//Complex->Real public static fftwf_plan dft_c2r_1d(int n, fftwf_complexarray input, fftwf_complexarray output, fftw_direction direction, fftw_flags flags) { FFTW_Lock.WaitOne(); fftwf_plan p = new fftwf_plan(); p.handle = fftwf.dft_c2r_1d(n, input.Handle, output.Handle, flags); FFTW_Lock.ReleaseMutex(); return p; }
public static fftwf_plan dft_r2c_3d(int nx, int ny, int nz, fftwf_complexarray input, fftwf_complexarray output, fftw_flags flags) { fftwf_plan p = new fftwf_plan(); p.handle = fftwf.dft_r2c_3d(nx, ny, nz, input.Handle, output.Handle, flags); return p; }
public static fftwf_plan r2r(int rank, int[] n, fftwf_complexarray input, fftwf_complexarray output, fftw_kind[] kind, fftw_flags flags) { fftwf_plan p = new fftwf_plan(); p.handle = fftwf.r2r(rank, n, input.Handle, output.Handle, kind, flags); return p; }
public static fftwf_plan r2r(int rank, int[] n, fftwf_complexarray input, fftwf_complexarray output, fftw_kind[] kind, fftw_flags flags) { FFTW_Lock.WaitOne(); fftwf_plan p = new fftwf_plan(); p.handle = fftwf.r2r(rank, n, input.Handle, output.Handle, kind, flags); FFTW_Lock.ReleaseMutex(); return p; }
public static fftwf_plan r2r_3d(int nx, int ny, int nz, fftwf_complexarray input, fftwf_complexarray output, fftw_kind kindx, fftw_kind kindy, fftw_kind kindz, fftw_flags flags) { fftwf_plan p = new fftwf_plan(); p.handle = fftwf.r2r_3d(nx, ny, nz, input.Handle, output.Handle, kindx, kindy, kindz, flags); return p; }
public static fftwf_plan r2r_3d(int nx, int ny, int nz, fftwf_complexarray input, fftwf_complexarray output, fftw_kind kindx, fftw_kind kindy, fftw_kind kindz, fftw_flags flags) { FFTW_Lock.WaitOne(); fftwf_plan p = new fftwf_plan(); p.handle = fftwf.r2r_3d(nx, ny, nz, input.Handle, output.Handle, kindx, kindy, kindz, flags); FFTW_Lock.ReleaseMutex(); return p; }