00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef _FPT_H_
00022 #define _FPT_H_
00023
00027 typedef struct fpt_step_
00028 {
00029 bool stable;
00032 int Ns;
00033 int ts;
00034 double **a11,**a12,**a21,**a22;
00035 double *g;
00036 } fpt_step;
00037
00041 typedef struct fpt_data_
00042 {
00043 fpt_step **steps;
00044 int k_start;
00045 double *alphaN;
00046 double *betaN;
00047 double *gammaN;
00048 double alpha_0;
00049 double beta_0;
00050 double gamma_m1;
00051
00052 double *alpha;
00053 double *beta;
00054 double *gamma;
00055 } fpt_data;
00056
00060 typedef struct fpt_set_s_
00061 {
00062 unsigned int flags;
00063 int M;
00064 int N;
00066 int t;
00067 fpt_data *dpt;
00068 double **xcvecs;
00071 double *xc;
00072 double _Complex *temp;
00073 double _Complex *work;
00074 double _Complex *result;
00075 double _Complex *vec3;
00076 double _Complex *vec4;
00077 double _Complex *z;
00078 fftw_plan *plans_dct3;
00080 fftw_plan *plans_dct2;
00082 fftw_r2r_kind *kinds;
00084 fftw_r2r_kind *kindsr;
00087 int *lengths;
00089
00090 double *xc_slow;
00091 } fpt_set_s;
00092
00093 #endif