2525#include "get_rectangle_staples.h"
2626#include "global.h"
2727#include "su3.h"
28+ #include "ptbc.h"
2829
2930void get_rectangle_staples (su3 * const v , const int x , const int mu ) {
3031 get_rectangle_staples_general (v , x , mu , (const su3 * const * const )g_gauge_field );
@@ -51,14 +52,17 @@ void get_rectangle_staples_general(su3 *const v, const int x, const int mu,
5152 _su3_times_su3 (tmp1 , * a , * b );
5253 z = g_iup [y ][nu ];
5354 c = & gf [z ][mu ];
55+ double const ptbc_fac0 = get_ptbc_coeff (x , nu ) * get_ptbc_coeff (y , nu ) * get_ptbc_coeff (z , mu );
5456 _su3_times_su3 (tmp2 , tmp1 , * c );
5557
5658 y = g_iup [x ][mu ];
5759 d = & gf [y ][nu ];
5860 z = g_iup [y ][nu ];
5961 e = & gf [z ][nu ];
62+ double const ptbc_fac1 = get_ptbc_coeff (y , nu ) * get_ptbc_coeff (z , nu );
6063 _su3_times_su3 (tmp1 , * d , * e );
61- _su3_times_su3d_acc ((* v ), tmp2 , tmp1 );
64+ //_su3_times_su3d_acc((*v), tmp2, tmp1);
65+ _real_times_su3_times_su3d_acc ((* v ), tmp2 , tmp1 , ptbc_fac0 * ptbc_fac1 );
6266
6367 /* 1 contr. starting idn[idn[x][nu]][nu]
6468 * e^+ d^+ a b c
@@ -73,14 +77,17 @@ void get_rectangle_staples_general(su3 *const v, const int x, const int mu,
7377 a = & gf [z ][mu ];
7478 _su3d_times_su3 (tmp1 , * d , * a );
7579 e = & gf [y ][nu ];
80+ double const ptbc_fac2 = get_ptbc_coeff (z , nu ) * get_ptbc_coeff (z , mu ) * get_ptbc_coeff (y , nu );
7681 _su3d_times_su3 (tmp2 , * e , tmp1 );
7782
7883 y = g_iup [z ][mu ];
7984 b = & gf [y ][nu ];
8085 z = g_iup [y ][nu ];
8186 c = & gf [z ][nu ];
87+ double const ptbc_fac3 = get_ptbc_coeff (y , nu ) * get_ptbc_coeff (z , nu );
8288 _su3_times_su3 (tmp1 , * b , * c );
83- _su3_times_su3_acc ((* v ), tmp2 , tmp1 );
89+ //_su3_times_su3_acc((*v), tmp2, tmp1);
90+ _real_times_su3_times_su3_acc ((* v ), tmp2 , tmp1 , ptbc_fac2 * ptbc_fac3 );
8491
8592 /* second contr. starting from x
8693 * a b c e^+ d^+
@@ -96,14 +103,17 @@ void get_rectangle_staples_general(su3 *const v, const int x, const int mu,
96103 _su3_times_su3 (tmp1 , * a , * b );
97104 z = g_iup [y ][mu ];
98105 c = & gf [z ][mu ];
106+ double const ptbc_fac4 = get_ptbc_coeff (x , nu ) * get_ptbc_coeff (y , mu ) * get_ptbc_coeff (z , mu );
99107 _su3_times_su3 (tmp2 , tmp1 , * c );
100108
101109 y = g_iup [x ][mu ];
102110 d = & gf [y ][mu ];
103111 z = g_iup [y ][mu ];
104112 e = & gf [z ][nu ];
113+ double const ptbc_fac5 = get_ptbc_coeff (y , mu ) * get_ptbc_coeff (z , nu );
105114 _su3_times_su3 (tmp1 , * d , * e );
106- _su3_times_su3d_acc ((* v ), tmp2 , tmp1 );
115+ //_su3_times_su3d_acc((*v), tmp2, tmp1);
116+ _real_times_su3_times_su3d_acc ((* v ), tmp2 , tmp1 , ptbc_fac4 * ptbc_fac5 );
107117
108118 /* 1 contr. starting idn[x][nu]
109119 * d^+ a b c e^+
@@ -119,14 +129,17 @@ void get_rectangle_staples_general(su3 *const v, const int x, const int mu,
119129 _su3d_times_su3 (tmp1 , * d , * a );
120130 z = g_iup [y ][mu ];
121131 b = & gf [z ][mu ];
132+ double const ptbc_fac6 = get_ptbc_coeff (y , nu ) * get_ptbc_coeff (y , mu ) * get_ptbc_coeff (z , mu );
122133 _su3_times_su3 (tmp2 , tmp1 , * b );
123134
124135 y = g_iup [z ][mu ];
125136 c = & gf [y ][nu ];
126137 z = g_iup [x ][mu ];
127138 e = & gf [z ][mu ];
139+ double const ptbc_fac7 = get_ptbc_coeff (y , nu ) * get_ptbc_coeff (z , mu );
128140 _su3_times_su3d (tmp1 , * c , * e );
129- _su3_times_su3_acc ((* v ), tmp2 , tmp1 );
141+ //_su3_times_su3_acc((*v), tmp2, tmp1);
142+ _real_times_su3_times_su3_acc ((* v ), tmp2 , tmp1 , ptbc_fac6 * ptbc_fac7 );
130143
131144 /* 1 contr. starting idn[idn[x][mu]][nu]
132145 * e^+ d^+ a b c
@@ -142,14 +155,17 @@ void get_rectangle_staples_general(su3 *const v, const int x, const int mu,
142155 a = & gf [z ][mu ];
143156 _su3d_times_su3 (tmp1 , * d , * a );
144157 e = & gf [y ][mu ];
158+ double const ptbc_fac8 = get_ptbc_coeff (z , nu ) * get_ptbc_coeff (z , mu ) * get_ptbc_coeff (y , mu );
145159 _su3d_times_su3 (tmp2 , * e , tmp1 );
146160
147161 y = g_idn [x ][nu ];
148162 b = & gf [y ][mu ];
149163 z = g_iup [y ][mu ];
150164 c = & gf [z ][nu ];
165+ double const ptbc_fac9 = get_ptbc_coeff (y , mu ) * get_ptbc_coeff (z , nu );
151166 _su3_times_su3 (tmp1 , * b , * c );
152- _su3_times_su3_acc ((* v ), tmp2 , tmp1 );
167+ //_su3_times_su3_acc((*v), tmp2, tmp1);
168+ _real_times_su3_times_su3_acc ((* v ), tmp2 , tmp1 , ptbc_fac8 * ptbc_fac9 );
153169
154170 /* 1 contr. starting idn[x][mu]
155171 * d^+ a b c e^+
@@ -165,14 +181,17 @@ void get_rectangle_staples_general(su3 *const v, const int x, const int mu,
165181 a = & gf [y ][nu ];
166182 _su3d_times_su3 (tmp1 , * d , * a );
167183 b = & gf [z ][mu ];
184+ double const ptbc_fac10 = get_ptbc_coeff (y , mu ) * get_ptbc_coeff (y , nu ) * get_ptbc_coeff (z , mu );
168185 _su3_times_su3 (tmp2 , tmp1 , * b );
169186
170187 y = g_iup [x ][mu ];
171188 e = & gf [y ][nu ];
172189 z = g_iup [x ][nu ];
173190 c = & gf [z ][mu ];
191+ double const ptbc_fac11 = get_ptbc_coeff (y , nu ) * get_ptbc_coeff (z , mu );
174192 _su3_times_su3d (tmp1 , * c , * e );
175- _su3_times_su3_acc ((* v ), tmp2 , tmp1 );
193+ //_su3_times_su3_acc((*v), tmp2, tmp1);
194+ _real_times_su3_times_su3_acc ((* v ), tmp2 , tmp1 , ptbc_fac10 * ptbc_fac11 );
176195 }
177196 }
178197}
0 commit comments