#include #ifdef PARALLEL #include #endif #if TARGET == QCDOC #include #endif #ifdef USE_QMP #include #endif CPS_START_NAMESPACE /*!\file \brief Definition of the parallel transport classes. */ #ifndef INCLUDED_PT_H #define INCLUDED_PT_H CPS_END_NAMESPACE #include #include //#include CPS_START_NAMESPACE void pt_init(Lattice &lat); //!< Initialization for parallel transporters void pt_init_g(); void pt_delete(); void pt_delete_g(); //NOTE: for G-parity, pt_mat assumes the matrice 'min' obey complex conjugate boundary conditions just like the gauge fields. void pt_mat(int n, Float **mout, Float **min, const int *dir); void pt_1vec(int n, Float **vout, Float **vin, int const *dir); void pt_2vec(int n, Float **vout, Float **vin, const int *dir); //void pt_set_hop_pointer(); int pt_offset(int dir, int hop); void pt_vvpd(Float **vect, int n_vect, const int *dir, int n_dir, int hop, Float **sum); void pt_vvpd(Float **vect2, Float ***vect, int n_vect, const int *dir, int n_dir, int hop, Float **sum, int overwrite); void pt_shift_field(Float **v, const int *dir, int n_dir, int hop, Float **u); void pt_shift_field_vec(Float **v, const int *dir, int n_dir, int hop, Float **u); void pt_shift_link(Float **u, const int *dir, int n_dir); //--------------------------------------------------------------- //Checkerboarding methods void pt_mat_cb(int n, Float **mout, Float **min, const int *dir, ChkbType cb); //!