Go to the documentation of this file. 11 #define MAC_Apply_G_mx4s_ops( m_A, \ 25 float ga23_k1 = *gamma23_k1; \ 26 float si23_k1 = *sigma23_k1; \ 27 float ga34_k1 = *gamma34_k1; \ 28 float si34_k1 = *sigma34_k1; \ 29 float ga12_k2 = *gamma12_k2; \ 30 float si12_k2 = *sigma12_k2; \ 31 float ga23_k2 = *gamma23_k2; \ 32 float si23_k2 = *sigma23_k2; \ 33 float* restrict alpha1 = a1; \ 34 float* restrict alpha2 = a2; \ 35 float* restrict alpha3 = a3; \ 36 float* restrict alpha4 = a4; \ 43 for ( i = 0; i < m_A; ++i ) \ 48 *alpha2 = temp2 * ga23_k1 + temp3 * si23_k1; \ 49 *alpha3 = temp3 * ga23_k1 - temp2 * si23_k1; \ 54 *alpha3 = temp3 * ga34_k1 + temp4 * si34_k1; \ 55 *alpha4 = temp4 * ga34_k1 - temp3 * si34_k1; \ 60 *alpha1 = temp1 * ga12_k2 + temp2 * si12_k2; \ 61 *alpha2 = temp2 * ga12_k2 - temp1 * si12_k2; \ 66 *alpha2 = temp2 * ga23_k2 + temp3 * si23_k2; \ 67 *alpha3 = temp3 * ga23_k2 - temp2 * si23_k2; \ 76 #define MAC_Apply_G_mx4s_opc( m_A, \ 90 float ga23_k1 = *gamma23_k1; \ 91 float si23_k1 = *sigma23_k1; \ 92 float ga34_k1 = *gamma34_k1; \ 93 float si34_k1 = *sigma34_k1; \ 94 float ga12_k2 = *gamma12_k2; \ 95 float si12_k2 = *sigma12_k2; \ 96 float ga23_k2 = *gamma23_k2; \ 97 float si23_k2 = *sigma23_k2; \ 98 scomplex* restrict alpha1 = a1; \ 99 scomplex* restrict alpha2 = a2; \ 100 scomplex* restrict alpha3 = a3; \ 101 scomplex* restrict alpha4 = a4; \ 108 for ( i = 0; i < m_A; ++i ) \ 114 alpha2->real = temp2.real * ga23_k1 + temp3.real * si23_k1; \ 115 alpha2->imag = temp2.imag * ga23_k1 + temp3.imag * si23_k1; \ 117 alpha3->real = temp3.real * ga23_k1 - temp2.real * si23_k1; \ 118 alpha3->imag = temp3.imag * ga23_k1 - temp2.imag * si23_k1; \ 123 alpha3->real = temp3.real * ga34_k1 + temp4.real * si34_k1; \ 124 alpha3->imag = temp3.imag * ga34_k1 + temp4.imag * si34_k1; \ 126 alpha4->real = temp4.real * ga34_k1 - temp3.real * si34_k1; \ 127 alpha4->imag = temp4.imag * ga34_k1 - temp3.imag * si34_k1; \ 132 alpha1->real = temp1.real * ga12_k2 + temp2.real * si12_k2; \ 133 alpha1->imag = temp1.imag * ga12_k2 + temp2.imag * si12_k2; \ 135 alpha2->real = temp2.real * ga12_k2 - temp1.real * si12_k2; \ 136 alpha2->imag = temp2.imag * ga12_k2 - temp1.imag * si12_k2; \ 141 alpha2->real = temp2.real * ga23_k2 + temp3.real * si23_k2; \ 142 alpha2->imag = temp2.imag * ga23_k2 + temp3.imag * si23_k2; \ 144 alpha3->real = temp3.real * ga23_k2 - temp2.real * si23_k2; \ 145 alpha3->imag = temp3.imag * ga23_k2 - temp2.imag * si23_k2; \ 154 #define MAC_Apply_G_mx4s_opd( m_A, \ 168 double ga23_k1 = *gamma23_k1; \ 169 double si23_k1 = *sigma23_k1; \ 170 double ga34_k1 = *gamma34_k1; \ 171 double si34_k1 = *sigma34_k1; \ 172 double ga12_k2 = *gamma12_k2; \ 173 double si12_k2 = *sigma12_k2; \ 174 double ga23_k2 = *gamma23_k2; \ 175 double si23_k2 = *sigma23_k2; \ 176 double* restrict alpha1 = a1; \ 177 double* restrict alpha2 = a2; \ 178 double* restrict alpha3 = a3; \ 179 double* restrict alpha4 = a4; \ 186 for ( i = 0; i < m_A; ++i ) \ 191 *alpha2 = temp2 * ga23_k1 + temp3 * si23_k1; \ 192 *alpha3 = temp3 * ga23_k1 - temp2 * si23_k1; \ 197 *alpha3 = temp3 * ga34_k1 + temp4 * si34_k1; \ 198 *alpha4 = temp4 * ga34_k1 - temp3 * si34_k1; \ 203 *alpha1 = temp1 * ga12_k2 + temp2 * si12_k2; \ 204 *alpha2 = temp2 * ga12_k2 - temp1 * si12_k2; \ 209 *alpha2 = temp2 * ga23_k2 + temp3 * si23_k2; \ 210 *alpha3 = temp3 * ga23_k2 - temp2 * si23_k2; \ 219 #define MAC_Apply_G_mx4s_opz( m_A, \ 233 double ga23_k1 = *gamma23_k1; \ 234 double si23_k1 = *sigma23_k1; \ 235 double ga34_k1 = *gamma34_k1; \ 236 double si34_k1 = *sigma34_k1; \ 237 double ga12_k2 = *gamma12_k2; \ 238 double si12_k2 = *sigma12_k2; \ 239 double ga23_k2 = *gamma23_k2; \ 240 double si23_k2 = *sigma23_k2; \ 241 dcomplex* restrict alpha1 = a1; \ 242 dcomplex* restrict alpha2 = a2; \ 243 dcomplex* restrict alpha3 = a3; \ 244 dcomplex* restrict alpha4 = a4; \ 251 for ( i = 0; i < m_A; ++i ) \ 257 alpha2->real = temp2.real * ga23_k1 + temp3.real * si23_k1; \ 258 alpha2->imag = temp2.imag * ga23_k1 + temp3.imag * si23_k1; \ 260 alpha3->real = temp3.real * ga23_k1 - temp2.real * si23_k1; \ 261 alpha3->imag = temp3.imag * ga23_k1 - temp2.imag * si23_k1; \ 266 alpha3->real = temp3.real * ga34_k1 + temp4.real * si34_k1; \ 267 alpha3->imag = temp3.imag * ga34_k1 + temp4.imag * si34_k1; \ 269 alpha4->real = temp4.real * ga34_k1 - temp3.real * si34_k1; \ 270 alpha4->imag = temp4.imag * ga34_k1 - temp3.imag * si34_k1; \ 275 alpha1->real = temp1.real * ga12_k2 + temp2.real * si12_k2; \ 276 alpha1->imag = temp1.imag * ga12_k2 + temp2.imag * si12_k2; \ 278 alpha2->real = temp2.real * ga12_k2 - temp1.real * si12_k2; \ 279 alpha2->imag = temp2.imag * ga12_k2 - temp1.imag * si12_k2; \ 284 alpha2->real = temp2.real * ga23_k2 + temp3.real * si23_k2; \ 285 alpha2->imag = temp2.imag * ga23_k2 + temp3.imag * si23_k2; \ 287 alpha3->real = temp3.real * ga23_k2 - temp2.real * si23_k2; \ 288 alpha3->imag = temp3.imag * ga23_k2 - temp2.imag * si23_k2; \