NFFT Logo 3.0 API Reference
Main Page | Modules | Data Structures | Directories | File List | Data Fields | Globals

fastsum.h

Go to the documentation of this file.
00001 
00018 #ifndef fastsum_h_inc
00019 #define fastsum_h_inc
00020 
00022 #include <complex.h>
00024 #include "util.h"
00026 #include "nfft3.h"
00027 
00031 #define EXACT_NEARFIELD  (1U<< 0)
00032 
00034 typedef struct fastsum_plan_
00035 {
00038   int d;                                
00040   int N_total;                          
00041   int M_total;                          
00043   complex *alpha;                       
00044   complex *f;                           
00046   double *x;                            
00047   double *y;                            
00049   complex (*kernel)(double , int , const double *);  
00050   double *kernel_param;                 
00052   unsigned flags;                       
00057   complex *pre_K;                       
00060   int n;                                
00061   fftw_complex *b;                      
00063   int p;                                
00064   double eps_I;                           /* fixed to p/n so far  */
00065   double eps_B;                           /* fixed to 1/16 so far */
00066 
00067   nfft_plan mv1;                        
00068   nfft_plan mv2;                        
00071   int Ad;                               
00072   double *Add;                          
00074   /* things for computing *b - are they used only once?? */
00075   fftw_plan fft_plan;
00076 } fastsum_plan;
00077 
00094 void fastsum_init_guru(fastsum_plan *ths, int d, int N_total, int M_total, complex (*kernel)(), double *param, unsigned flags, int nn, int m, int p, double eps_I, double eps_B);
00095 
00100 void fastsum_finalize(fastsum_plan *ths);
00101 
00106 void fastsum_exact(fastsum_plan *ths);
00107 
00112 void fastsum_precompute(fastsum_plan *ths);
00113 
00118 void fastsum_trafo(fastsum_plan *ths);
00119 /* \} */
00120 
00121 #endif
00122 /* fastsum.h */

Generated on 1 Nov 2006 by Doxygen 1.4.4