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

api_old.h

00001 
00004 #ifndef API_H
00005 #define API_H
00006 
00007 #include "config.h"
00008 
00009 #include "nfsft_old.h"
00010 
00011 #include <stdio.h>
00012 #include <math.h>
00013 #include <string.h>
00014 
00015 #include "nfft3.h"
00016 
00017 /* "Default exponent of maximum bandwidth" */
00018 #define BWEXP_MAX 10
00019 
00020 /* "Default maximum bandwidth" */
00021 #define BW_MAX 1024
00022 
00023 #define ROW(k) (k*(BW_MAX+1))
00024 #define ROWK(k) (k*(BW_MAX+1)+k)
00025 
00026 //#define FIRST_L (n/plength)/2
00027 //#define LAST_L (plength*(int)ceil(((double)M)/plength)-1)/plength
00028 #define FIRST_L (int)floor(ntilde/(double)plength)
00029 #define LAST_L (int)ceil((Mtilde+1)/(double)plength)-1
00030 
00031 #ifdef LOGFILE
00032   #define LOGFILENAME "nfsft.log"
00033   #define LOGFILENAME2 "nfsft_norms.log"
00034 #endif
00035 
00036 #define MYEPS (1E-14)
00037 
00045 struct U_type_old
00046 {
00051   int stable;
00053   double *m1,*m2,*m3,*m4;
00054 };
00055 
00061 struct nfsft_plan_s_old
00062 {
00064   int flags;
00066   int D;                      
00068   int M;
00070   int N;
00071   int t;
00073   double *angles;
00075   complex **f_hat;
00077   complex *f;
00079   nfft_plan plan_nfft;  
00080 };
00081 
00087 struct infsft_plan_s_old
00088 {
00089   nfsft_plan_old direct_plan;
00090   int infsft_flags_old;
00091   complex *given_f;
00092   complex *r_iter;
00093   complex *v_iter;
00094   complex **f_hat_iter;
00095   complex **f_hat_iter_2nd;
00096   complex **p_hat_iter;
00097   complex **z_hat_iter;
00098   double *w;
00099   double **w_hat;
00100   double dot_r_iter;
00101   double dot_r_iter_old;
00102   double dot_v_iter;
00103   double alpha_iter;
00104   double alpha_iter_2nd;
00105   double beta_iter;
00106   double gamma_iter;
00107   double gamma_iter_old;
00108   double dot_alpha_iter;
00109   double dot_z_hat_iter;
00110   double dot_z_hat_iter_old;
00111   double dot_p_hat_iter; 
00112 };
00113 
00114 
00120 struct nfsft_wisdom_old
00121 {
00123   int initialized;
00124   nfsft_precompute_flags_old flags;
00126   int t;
00128   int N;
00130   double *alpha;
00132   double *beta;
00134   double *gamma;
00136   double threshold;
00137   /* Structure for matrices U */
00138   struct U_type_old ****U;    
00140   complex *work,*old,*vec1,*vec2,*vec3,*vec4, *a2, *b2;
00142   fftw_plan *plans_dct3;
00144   fftw_plan *plans_dct2;  
00146   fftw_r2r_kind *kinds;
00148   fftw_r2r_kind *kindsr;
00150   int *lengths;
00151   complex *ergeb;
00152   
00153   
00154   double *flft_alpha;
00155   double *flft_beta;
00156   double *flft_gamma;
00157 
00158   complex *z;
00159 };
00160 #endif

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