Go to the documentation of this file.
11 #define MAC_Apply_G_mx2_ops( m_A, \
17 float ga = *gamma12; \
18 float si = *sigma12; \
19 float* restrict alpha1 = a1; \
20 float* restrict alpha2 = a2; \
25 for ( i = 0; i < m_A; ++i ) \
30 *alpha1 = ga * temp1 + si * temp2; \
31 *alpha2 = -si * temp1 + ga * temp2; \
38 #define MAC_Apply_G_mx2_opc( m_A, \
44 float ga12 = *gamma12; \
45 float si12 = *sigma12; \
46 scomplex* restrict alpha1 = a1; \
47 scomplex* restrict alpha2 = a2; \
52 for ( i = 0; i < m_A; ++i ) \
57 alpha1->real = ga12 * temp1.real + si12 * temp2.real; \
58 alpha1->imag = ga12 * temp1.imag + si12 * temp2.imag; \
60 alpha2->real = -si12 * temp1.real + ga12 * temp2.real; \
61 alpha2->imag = -si12 * temp1.imag + ga12 * temp2.imag; \
68 #define MAC_Apply_G_mx2_opd( m_A, \
74 double ga = *gamma12; \
75 double si = *sigma12; \
76 double* restrict alpha1 = a1; \
77 double* restrict alpha2 = a2; \
82 for ( i = 0; i < m_A; ++i ) \
87 *alpha1 = ga * temp1 + si * temp2; \
88 *alpha2 = -si * temp1 + ga * temp2; \
95 #define MAC_Apply_G_mx2_opz( m_A, \
101 double ga12 = *gamma12; \
102 double si12 = *sigma12; \
103 dcomplex* restrict alpha1 = a1; \
104 dcomplex* restrict alpha2 = a2; \
109 for ( i = 0; i < m_A; ++i ) \
114 alpha1->real = ga12 * temp1.real + si12 * temp2.real; \
115 alpha1->imag = ga12 * temp1.imag + si12 * temp2.imag; \
117 alpha2->real = -si12 * temp1.real + ga12 * temp2.real; \
118 alpha2->imag = -si12 * temp1.imag + ga12 * temp2.imag; \