示例#1
0
 /// <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;
 }
示例#2
0
 public static extern IntPtr r2r_1d(int n, IntPtr input, IntPtr output, fftw_kind kind, fftw_flags flags);
示例#3
0
 public static extern IntPtr dft_r2c_3d(int nx, int ny, int nz, IntPtr input, IntPtr output, fftw_flags flags);
示例#4
0
 public static extern IntPtr dft_r2c(int rank, int[] n, IntPtr input, IntPtr output, fftw_flags flags);
示例#5
0
        public static extern IntPtr dft_3d(int nx, int ny, int nz, IntPtr input, IntPtr output, 
			fftw_direction direction, fftw_flags flags);
示例#6
0
        public static extern IntPtr dft(int rank, int[] n, IntPtr input, IntPtr output, 
			fftw_direction direction, fftw_flags flags);
示例#7
0
 //Real<->Real
 public static fftw_plan r2r_1d(int n, fftw_complexarray input, fftw_complexarray output, fftw_kind kind, fftw_flags flags)
 {
     fftw_plan p = new fftw_plan();
     p.handle = fftw.r2r_1d(n, input.Handle, output.Handle, kind, flags);
     return p;
 }
示例#8
0
 public static fftw_plan dft_r2c_3d(int nx, int ny, int nz, fftw_complexarray input, fftw_complexarray output, fftw_flags flags)
 {
     fftw_plan p = new fftw_plan();
     p.handle = fftw.dft_r2c_3d(nx, ny, nz, input.Handle, output.Handle, flags);
     return p;
 }
示例#9
0
        public static fftwf_plan dft_r2c(int rank, int[] n, fftwf_complexarray input, fftwf_complexarray output, fftw_flags flags)
        {
            FFTW_Lock.WaitOne();
            fftwf_plan p = new fftwf_plan();
            p.handle = fftwf.dft_r2c(rank, n, input.Handle, output.Handle, flags);
            FFTW_Lock.ReleaseMutex();

            return p;
        }
示例#10
0
        public static fftwf_plan dft_3d(int nx, int ny, int nz, 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_3d(nx, ny, nz, input.Handle, output.Handle, direction, flags);
            FFTW_Lock.ReleaseMutex();

            return p;
        }
示例#11
0
文件: Interop.cs 项目: JustasB/cudafy
 public static extern IntPtr many_dft_c2r(int rank, int[] n, int howmany,
                           IntPtr input, int[] inembed,
                           int istride, int idist,
                           IntPtr output, int[] onembed,
                           int ostride, int odist, fftw_flags flags);
		public static fftw_plan dft_2d(int nx, int ny, fftw_complexarray input, fftw_complexarray output, fftw_direction direction, fftw_flags flags)
		{
            FFTW_Semaphore.WaitOne();
            fftw_plan p = new fftw_plan();
			p.handle = fftw.dft_2d(nx, ny, input.Handle, output.Handle, direction,flags);
            FFTW_Semaphore.Release();
            return p;
		}
示例#13
0
 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;
 }
示例#14
0
 public static fftwf_plan dft_c2r_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_c2r_3d(nx, ny, nz, input.Handle, output.Handle, (uint)flags);
     return p;
 }
示例#15
0
文件: Interop.cs 项目: g3gg0/rx-fft
 public static extern IntPtr dft_3d(int nx, int ny, int nz, IntPtr input, IntPtr output,
                                    fftw_direction direction, fftw_flags flags);
示例#16
0
        //Real<->Real
        public static fftwf_plan r2r_1d(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_1d(n, input.Handle, output.Handle, kind, flags);
            FFTW_Lock.ReleaseMutex();

            return p;
        }
示例#17
0
 public static fftw_plan dft_r2c(int rank, int[] n, fftw_complexarray input, fftw_complexarray output, fftw_flags flags)
 {
     fftw_plan p = new fftw_plan();
     p.handle = fftw.dft_r2c(rank, n, input.Handle, output.Handle, flags);
     return p;
 }
示例#18
0
        //Complex->Real
        public static fftw_plan dft_c2r_1d(int n, fftw_complexarray input, fftw_complexarray output, fftw_direction direction, fftw_flags flags)
        {
            FFTW_Lock.WaitOne();
            fftw_plan p = new fftw_plan();
            p.handle = fftw.dft_c2r_1d(n, input.Handle, output.Handle, flags);
            FFTW_Lock.ReleaseMutex();

            return p;
        }
示例#19
0
 public static fftw_plan r2r(int rank, int[] n, fftw_complexarray input, fftw_complexarray output,
     fftw_kind[] kind, fftw_flags flags)
 {
     fftw_plan p = new fftw_plan();
     p.handle = fftw.r2r(rank, n, input.Handle, output.Handle,
         kind, flags);
     return p;
 }
示例#20
0
        public static fftw_plan dft_r2c_2d(int nx, int ny, fftw_complexarray input, fftw_complexarray output, fftw_flags flags)
        {
            FFTW_Lock.WaitOne();
            fftw_plan p = new fftw_plan();
            p.handle = fftw.dft_r2c_2d(nx, ny, input.Handle, output.Handle, flags);
            FFTW_Lock.ReleaseMutex();

            return p;
        }
示例#21
0
        public static fftw_plan r2r_3d(int nx, int ny, int nz, fftw_complexarray input, fftw_complexarray output, 
			fftw_kind kindx, fftw_kind kindy, fftw_kind kindz, fftw_flags flags)
        {
            fftw_plan p = new fftw_plan();
            p.handle = fftw.r2r_3d(nx, ny, nz, input.Handle, output.Handle,
                kindx, kindy, kindz, flags);
            return p;
        }
示例#22
0
        public static fftw_plan r2r(int rank, int[] n, fftw_complexarray input, fftw_complexarray output,
            fftw_kind[] kind, fftw_flags flags)
        {
            FFTW_Lock.WaitOne();
            fftw_plan p = new fftw_plan();
            p.handle = fftw.r2r(rank, n, input.Handle, output.Handle,
                kind, flags);
            FFTW_Lock.ReleaseMutex();

            return p;
        }
示例#23
0
        public static extern IntPtr dft_1d(int n, IntPtr input, IntPtr output, 
			fftw_direction direction, fftw_flags flags);
示例#24
0
        public static fftw_plan r2r_3d(int nx, int ny, int nz, fftw_complexarray input, fftw_complexarray output,
            fftw_kind kindx, fftw_kind kindy, fftw_kind kindz, fftw_flags flags)
        {
            FFTW_Lock.WaitOne();
            fftw_plan p = new fftw_plan();
            p.handle = fftw.r2r_3d(nx, ny, nz, input.Handle, output.Handle,
                kindx, kindy, kindz, flags);
            FFTW_Lock.ReleaseMutex();

            return p;
        }
示例#25
0
 public static extern IntPtr dft_c2r_2d(int nx, int ny, IntPtr input, IntPtr output, fftw_flags flags);
示例#26
0
 public static fftwf_plan dft_c2r(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_c2r(rank, n, input.Handle, output.Handle, flags);
     return p;
 }
示例#27
0
 public static extern IntPtr dft_r2c_1d(int n, IntPtr input, IntPtr output, fftw_flags flags);
示例#28
0
 //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;
 }
示例#29
0
        public static extern IntPtr r2r(int rank, int[] n, IntPtr input, IntPtr output, 
			fftw_kind[] kind, fftw_flags flags);
示例#30
0
 public static fftw_plan dft_c2r_2d(int nx, int ny, fftw_complexarray input, fftw_complexarray output, fftw_direction direction, fftw_flags flags)
 {
     fftw_plan p = new fftw_plan();
     p.handle = fftw.dft_c2r_2d(nx, ny, input.Handle, output.Handle, flags);
     return p;
 }
示例#31
0
        public static extern IntPtr r2r_3d(int nx, int ny, int nz, IntPtr input, IntPtr output, 
			fftw_kind kindx, fftw_kind kindy, fftw_kind kindz, fftw_flags flags);
示例#32
0
文件: Interop.cs 项目: g3gg0/rx-fft
 public static extern IntPtr dft_1d(int n, IntPtr input, IntPtr output,
                                    fftw_direction direction, fftw_flags flags);