1050 int is_ident23_k1, is_ident34_k1;
1051 int is_ident12_k2, is_ident23_k2;
1054 k_minus_1 = k_G - 1;
1060 if ( nG < 2*k_minus_1 || k_G == 1 )
1066 buff_A, rs_A, cs_A );
1073 for ( j = -1; j < k_minus_1; j += n_fuse )
1076 n_iter = nG_app / k_fuse;
1080 for (
i = 0, k = 0, g = j;
i < n_iter; ++
i, k += k_fuse, g -= n_fuse )
1082 g23_k1 = buff_G + (g )*rs_G + (k )*cs_G;
1083 g34_k1 = buff_G + (g + 1)*rs_G + (k )*cs_G;
1084 g12_k2 = buff_G + (g - 1)*rs_G + (k + 1)*cs_G;
1085 g23_k2 = buff_G + (g )*rs_G + (k + 1)*cs_G;
1086 a1 = buff_A + (g - 1)*cs_A;
1087 a2 = buff_A + (g )*cs_A;
1088 a3 = buff_A + (g + 1)*cs_A;
1089 a4 = buff_A + (g + 2)*cs_A;
1091 gamma23_k1 = g23_k1->
real;
1092 sigma23_k1 = g23_k1->
imag;
1093 gamma34_k1 = g34_k1->
real;
1094 sigma34_k1 = g34_k1->
imag;
1095 gamma12_k2 = g12_k2->
real;
1096 sigma12_k2 = g12_k2->
imag;
1097 gamma23_k2 = g23_k2->
real;
1098 sigma23_k2 = g23_k2->
imag;
1100 is_ident23_k1 = ( gamma23_k1 == one && sigma23_k1 == zero );
1101 is_ident34_k1 = ( gamma34_k1 == one && sigma34_k1 == zero );
1102 is_ident12_k2 = ( gamma12_k2 == one && sigma12_k2 == zero );
1103 is_ident23_k2 = ( gamma23_k2 == one && sigma23_k2 == zero );
1104 has_ident = ( is_ident23_k1 || is_ident34_k1 ||
1105 is_ident12_k2 || is_ident23_k2 );
1111 if ( !is_ident23_k1 )
1112 MAC_Apply_G_mx2_asc( m_A,
1118 if ( !is_ident34_k1 )
1119 MAC_Apply_G_mx2_asc( m_A,
1125 if ( !is_ident12_k2 )
1126 MAC_Apply_G_mx2_asc( m_A,
1132 if ( !is_ident23_k2 )
1133 MAC_Apply_G_mx2_asc( m_A,
1143 MAC_Apply_G_mx4s_asc( m_A,
1161 g34_k1 = buff_G + (g + 1)*rs_G + (k )*cs_G;
1162 a3 = buff_A + (g + 1)*cs_A;
1163 a4 = buff_A + (g + 2)*cs_A;
1165 gamma34_k1 = g34_k1->
real;
1166 sigma34_k1 = g34_k1->
imag;
1168 is_ident34_k1 = ( gamma34_k1 == one && sigma34_k1 == zero );
1170 if ( !is_ident34_k1 )
1171 MAC_Apply_G_mx2_asc( m_A,
1181 for ( ; j < nG - 1; j += n_fuse )
1184 n_iter = nG_app / k_fuse;
1185 n_left = nG_app % k_fuse;
1187 for (
i = 0, k = 0, g = j;
i < n_iter; ++
i, k += k_fuse, g -= n_fuse )
1189 g23_k1 = buff_G + (g )*rs_G + (k )*cs_G;
1190 g34_k1 = buff_G + (g + 1)*rs_G + (k )*cs_G;
1191 g12_k2 = buff_G + (g - 1)*rs_G + (k + 1)*cs_G;
1192 g23_k2 = buff_G + (g )*rs_G + (k + 1)*cs_G;
1193 a1 = buff_A + (g - 1)*cs_A;
1194 a2 = buff_A + (g )*cs_A;
1195 a3 = buff_A + (g + 1)*cs_A;
1196 a4 = buff_A + (g + 2)*cs_A;
1198 gamma23_k1 = g23_k1->
real;
1199 sigma23_k1 = g23_k1->
imag;
1200 gamma34_k1 = g34_k1->
real;
1201 sigma34_k1 = g34_k1->
imag;
1202 gamma12_k2 = g12_k2->
real;
1203 sigma12_k2 = g12_k2->
imag;
1204 gamma23_k2 = g23_k2->
real;
1205 sigma23_k2 = g23_k2->
imag;
1207 is_ident23_k1 = ( gamma23_k1 == one && sigma23_k1 == zero );
1208 is_ident34_k1 = ( gamma34_k1 == one && sigma34_k1 == zero );
1209 is_ident12_k2 = ( gamma12_k2 == one && sigma12_k2 == zero );
1210 is_ident23_k2 = ( gamma23_k2 == one && sigma23_k2 == zero );
1211 has_ident = ( is_ident23_k1 || is_ident34_k1 ||
1212 is_ident12_k2 || is_ident23_k2 );
1218 if ( !is_ident23_k1 )
1219 MAC_Apply_G_mx2_asc( m_A,
1225 if ( !is_ident34_k1 )
1226 MAC_Apply_G_mx2_asc( m_A,
1232 if ( !is_ident12_k2 )
1233 MAC_Apply_G_mx2_asc( m_A,
1239 if ( !is_ident23_k2 )
1240 MAC_Apply_G_mx2_asc( m_A,
1250 MAC_Apply_G_mx4s_asc( m_A,
1268 g23_k1 = buff_G + (g )*rs_G + (k )*cs_G;
1269 g34_k1 = buff_G + (g + 1)*rs_G + (k )*cs_G;
1270 a2 = buff_A + (g )*cs_A;
1271 a3 = buff_A + (g + 1)*cs_A;
1272 a4 = buff_A + (g + 2)*cs_A;
1274 gamma23_k1 = g23_k1->
real;
1275 sigma23_k1 = g23_k1->
imag;
1276 gamma34_k1 = g34_k1->
real;
1277 sigma34_k1 = g34_k1->
imag;
1279 is_ident23_k1 = ( gamma23_k1 == one && sigma23_k1 == zero );
1280 is_ident34_k1 = ( gamma34_k1 == one && sigma34_k1 == zero );
1282 if ( !is_ident23_k1 && is_ident34_k1 )
1284 MAC_Apply_G_mx2_asc( m_A,
1290 else if ( is_ident23_k1 && !is_ident34_k1 )
1292 MAC_Apply_G_mx2_asc( m_A,
1300 MAC_Apply_G_mx3_asc( m_A,
1314 for ( j = nG % n_fuse; j < k_G; j += n_fuse )
1322 g23_k1 = buff_G + (g )*rs_G + (k )*cs_G;
1323 a2 = buff_A + (g )*cs_A;
1324 a3 = buff_A + (g + 1)*cs_A;
1326 gamma23_k1 = g23_k1->
real;
1327 sigma23_k1 = g23_k1->
imag;
1329 is_ident23_k1 = ( gamma23_k1 == one && sigma23_k1 == zero );
1331 if ( !is_ident23_k1 )
1332 MAC_Apply_G_mx2_asc( m_A,
1341 nG_app = k_minus_1 - j;
1342 n_iter = nG_app / k_fuse;
1343 n_left = nG_app % k_fuse;
1345 for (
i = 0;
i < n_iter; ++
i, k += k_fuse, g -= n_fuse )
1347 g23_k1 = buff_G + (g )*rs_G + (k )*cs_G;
1348 g34_k1 = buff_G + (g + 1)*rs_G + (k )*cs_G;
1349 g12_k2 = buff_G + (g - 1)*rs_G + (k + 1)*cs_G;
1350 g23_k2 = buff_G + (g )*rs_G + (k + 1)*cs_G;
1351 a1 = buff_A + (g - 1)*cs_A;
1352 a2 = buff_A + (g )*cs_A;
1353 a3 = buff_A + (g + 1)*cs_A;
1354 a4 = buff_A + (g + 2)*cs_A;
1356 gamma23_k1 = g23_k1->
real;
1357 sigma23_k1 = g23_k1->
imag;
1358 gamma34_k1 = g34_k1->
real;
1359 sigma34_k1 = g34_k1->
imag;
1360 gamma12_k2 = g12_k2->
real;
1361 sigma12_k2 = g12_k2->
imag;
1362 gamma23_k2 = g23_k2->
real;
1363 sigma23_k2 = g23_k2->
imag;
1365 is_ident23_k1 = ( gamma23_k1 == one && sigma23_k1 == zero );
1366 is_ident34_k1 = ( gamma34_k1 == one && sigma34_k1 == zero );
1367 is_ident12_k2 = ( gamma12_k2 == one && sigma12_k2 == zero );
1368 is_ident23_k2 = ( gamma23_k2 == one && sigma23_k2 == zero );
1369 has_ident = ( is_ident23_k1 || is_ident34_k1 ||
1370 is_ident12_k2 || is_ident23_k2 );
1376 if ( !is_ident23_k1 )
1377 MAC_Apply_G_mx2_asc( m_A,
1383 if ( !is_ident34_k1 )
1384 MAC_Apply_G_mx2_asc( m_A,
1390 if ( !is_ident12_k2 )
1391 MAC_Apply_G_mx2_asc( m_A,
1397 if ( !is_ident23_k2 )
1398 MAC_Apply_G_mx2_asc( m_A,
1408 MAC_Apply_G_mx4s_asc( m_A,
1426 g23_k1 = buff_G + (g )*rs_G + (k )*cs_G;
1427 g34_k1 = buff_G + (g + 1)*rs_G + (k )*cs_G;
1428 a2 = buff_A + (g )*cs_A;
1429 a3 = buff_A + (g + 1)*cs_A;
1430 a4 = buff_A + (g + 2)*cs_A;
1432 gamma23_k1 = g23_k1->
real;
1433 sigma23_k1 = g23_k1->
imag;
1434 gamma34_k1 = g34_k1->
real;
1435 sigma34_k1 = g34_k1->
imag;
1437 is_ident23_k1 = ( gamma23_k1 == one && sigma23_k1 == zero );
1438 is_ident34_k1 = ( gamma34_k1 == one && sigma34_k1 == zero );
1440 if ( !is_ident23_k1 && is_ident34_k1 )
1442 MAC_Apply_G_mx2_asc( m_A,
1448 else if ( is_ident23_k1 && !is_ident34_k1 )
1450 MAC_Apply_G_mx2_asc( m_A,
1458 MAC_Apply_G_mx3_asc( m_A,
FLA_Error FLA_Apply_G_rf_asc_var1(int k_G, int m_A, int n_A, scomplex *buff_G, int rs_G, int cs_G, scomplex *buff_A, int rs_A, int cs_A)
Definition: FLA_Apply_G_rf_asm_var1.c:215
int n_left
Definition: bl1_axmyv2.c:149
int i
Definition: bl1_axmyv2.c:145
float bl1_s0(void)
Definition: bl1_constants.c:111
float bl1_s1(void)
Definition: bl1_constants.c:47
Definition: blis_type_defs.h:133
float imag
Definition: blis_type_defs.h:134
float real
Definition: blis_type_defs.h:134