Main Page | Modules | Data Structures | Directories | File List | Data Fields | Globals | Related Pages

fastsum.h

Go to the documentation of this file.
00001 
00012 #ifndef fastsum_h_inc
00013 #define fastsum_h_inc
00014 
00016 #include <complex.h>
00018 #include "util.h"
00020 #include "nfft3.h"
00021 
00025 #define EXACT_NEARFIELD  (1U<< 0)
00026 
00028 typedef struct fastsum_plan_
00029 {
00032   int d;                                
00034   int N_total;                          
00035   int M_total;                          
00037   complex *alpha;                       
00038   complex *f;                           
00040   double *x;                            
00041   double *y;                            
00043   complex (*kernel)(double , int , const double *);  
00044   double *kernel_param;                 
00046   unsigned flags;                       
00051   complex *pre_K;                       
00054   int n;                                
00055   fftw_complex *b;                      
00057   int p;                                
00058   double eps_I;                           /* fixed to p/n so far  */
00059   double eps_B;                           /* fixed to 1/16 so far */
00060 
00061   nfft_plan mv1;                        
00062   nfft_plan mv2;                        
00065   int Ad;                               
00066   double *Add;                          
00068   /* things for computing *b - are they used only once?? */
00069   fftw_plan fft_plan;
00070 } fastsum_plan;
00071 
00088 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);
00089 
00094 void fastsum_finalize(fastsum_plan *ths);
00095 
00100 void fastsum_exact(fastsum_plan *ths);
00101 
00106 void fastsum_precompute(fastsum_plan *ths);
00107 
00112 void fastsum_trafo(fastsum_plan *ths);
00113 
00114 #endif
00115 /* fastsum.h */

Generated on Wed May 10 20:39:39 2006 for NFFT by  doxygen 1.4.4