#ifndef __GBTBT_H__ #define __GBTBT_H__ #ifndef __UTILITIES_H__ #include "utilities.h" #endif #ifndef __ATMOSPHERE_H__ #include "atmosphere.h" #endif //#define GBTBT_DEBUG struct GBTBT { int M, N, NT, NT2, NDFT, HALF_NDFT, NU_TOTAL, NF, NF2, ind_size, cov_size, MT2_TOTAL, MT_size, MAX_MT; int *MT, *MT2, *NU, *NU2, *CS_MT2, *d__MT, *d__MT2, *d__NU, *d__NU2, *d__CS_MT2; char *mask; float2 *d__cov, *d__b, *d__c; float *d__alpha, *d__beta, n_full, n_comp, b_full, b_comp, cov_eval_et; unsigned int *d__mu, *d__xi; cufftHandle raster_plan, MVM_input_plan, MVM_output_plan; #ifdef GBTBT_DEBUG float2 *cov; unsigned int *mu, *xi; #endif void setup(int n_x); void setup(int M_, int N_, int NT_, const float *d__cov_); void setup(int M_, int N_, int MT_, int NT_, const float *d__cov_); void setup(int M_, int N_, int *MT_, int NT_, const float *d__cov_); void cleanup(void); void info(void); void MVM(float *y, float *x); }; #endif // __GBTBT_H__