1 /* 2 3 Copyright (C) 2014, The University of Texas at Austin 4 5 This file is part of libflame and is available under the 3-Clause 6 BSD license, which can be found in the LICENSE file at the top-level 7 directory, or at http://opensource.org/licenses/BSD-3-Clause 8 9 */ 10 11 12 // 13 // LAPACK-level 14 // 15 16 struct fla_chol_s 17 { 18 FLA_Matrix_type matrix_type; 19 int variant; 20 fla_blocksize_t* blocksize; 21 struct fla_chol_s* sub_chol; 22 struct fla_herk_s* sub_herk; 23 struct fla_trsm_s* sub_trsm; 24 struct fla_gemm_s* sub_gemm; 25 }; 26 typedef struct fla_chol_s fla_chol_t; 27 28 29 struct fla_ttmm_s 30 { 31 FLA_Matrix_type matrix_type; 32 int variant; 33 fla_blocksize_t* blocksize; 34 struct fla_ttmm_s* sub_ttmm; 35 struct fla_herk_s* sub_herk; 36 struct fla_trmm_s* sub_trmm; 37 struct fla_gemm_s* sub_gemm; 38 }; 39 typedef struct fla_ttmm_s fla_ttmm_t; 40 41 42 struct fla_appiv_s 43 { 44 FLA_Matrix_type matrix_type; 45 int variant; 46 fla_blocksize_t* blocksize; 47 struct fla_appiv_s* sub_appiv; 48 }; 49 typedef struct fla_appiv_s fla_appiv_t; 50 51 52 struct fla_lu_s 53 { 54 FLA_Matrix_type matrix_type; 55 int variant; 56 fla_blocksize_t* blocksize; 57 struct fla_lu_s* sub_lu; 58 struct fla_gemm_s* sub_gemm1; 59 struct fla_gemm_s* sub_gemm2; 60 struct fla_gemm_s* sub_gemm3; 61 struct fla_trsm_s* sub_trsm1; 62 struct fla_trsm_s* sub_trsm2; 63 struct fla_appiv_s* sub_appiv1; 64 struct fla_appiv_s* sub_appiv2; 65 }; 66 typedef struct fla_lu_s fla_lu_t; 67 68 69 struct fla_qr_ut_s 70 { 71 FLA_Matrix_type matrix_type; 72 int variant; 73 fla_blocksize_t* blocksize; 74 struct fla_qr_ut_s* sub_qrut; 75 struct fla_apqut_s* sub_apqut; 76 }; 77 typedef struct fla_qr_ut_s fla_qrut_t; 78 79 80 struct fla_qr2_ut_s 81 { 82 FLA_Matrix_type matrix_type; 83 int variant; 84 fla_blocksize_t* blocksize; 85 struct fla_qr2_ut_s* sub_qr2ut; 86 struct fla_gemm_s* sub_gemm1; 87 struct fla_gemm_s* sub_gemm2; 88 struct fla_trsm_s* sub_trsm; 89 struct fla_copy_s* sub_copy; 90 struct fla_axpy_s* sub_axpy; 91 }; 92 typedef struct fla_qr2_ut_s fla_qr2ut_t; 93 94 95 struct fla_lq_ut_s 96 { 97 FLA_Matrix_type matrix_type; 98 int variant; 99 fla_blocksize_t* blocksize; 100 struct fla_lq_ut_s* sub_lqut; 101 struct fla_apqut_s* sub_apqut; 102 }; 103 typedef struct fla_lq_ut_s fla_lqut_t; 104 105 struct fla_caqr2ut_s 106 { 107 FLA_Matrix_type matrix_type; 108 int variant; 109 fla_blocksize_t* blocksize; 110 struct fla_caqr2ut_s* sub_caqr2ut; 111 struct fla_gemm_s* sub_gemm1; 112 struct fla_gemm_s* sub_gemm2; 113 struct fla_trmm_s* sub_trmm1; 114 struct fla_trmm_s* sub_trmm2; 115 struct fla_trsm_s* sub_trsm; 116 struct fla_axpy_s* sub_axpy1; 117 struct fla_axpy_s* sub_axpy2; 118 struct fla_axpy_s* sub_axpy3; 119 struct fla_copy_s* sub_copy; 120 }; 121 typedef struct fla_caqr2ut_s fla_caqr2ut_t; 122 123 124 struct fla_hess_ut_s 125 { 126 FLA_Matrix_type matrix_type; 127 int variant; 128 fla_blocksize_t* blocksize; 129 }; 130 typedef struct fla_hess_ut_s fla_hessut_t; 131 132 struct fla_tridiag_ut_s 133 { 134 FLA_Matrix_type matrix_type; 135 int variant; 136 fla_blocksize_t* blocksize; 137 }; 138 typedef struct fla_tridiag_ut_s fla_tridiagut_t; 139 140 struct fla_bidiag_ut_s 141 { 142 FLA_Matrix_type matrix_type; 143 int variant; 144 fla_blocksize_t* blocksize; 145 }; 146 typedef struct fla_bidiag_ut_s fla_bidiagut_t; 147 148 struct fla_trinv_s 149 { 150 FLA_Matrix_type matrix_type; 151 int variant; 152 fla_blocksize_t* blocksize; 153 struct fla_trinv_s* sub_trinv; 154 struct fla_gemm_s* sub_gemm; 155 struct fla_trmm_s* sub_trmm; 156 struct fla_trsm_s* sub_trsm1; 157 struct fla_trsm_s* sub_trsm2; 158 }; 159 typedef struct fla_trinv_s fla_trinv_t; 160 161 162 struct fla_sylv_s 163 { 164 FLA_Matrix_type matrix_type; 165 int variant; 166 fla_blocksize_t* blocksize; 167 struct fla_sylv_s* sub_sylv1; 168 struct fla_sylv_s* sub_sylv2; 169 struct fla_sylv_s* sub_sylv3; 170 struct fla_gemm_s* sub_gemm1; 171 struct fla_gemm_s* sub_gemm2; 172 struct fla_gemm_s* sub_gemm3; 173 struct fla_gemm_s* sub_gemm4; 174 struct fla_gemm_s* sub_gemm5; 175 struct fla_gemm_s* sub_gemm6; 176 struct fla_gemm_s* sub_gemm7; 177 struct fla_gemm_s* sub_gemm8; 178 }; 179 typedef struct fla_sylv_s fla_sylv_t; 180 181 182 struct fla_lyap_s 183 { 184 FLA_Matrix_type matrix_type; 185 int variant; 186 fla_blocksize_t* blocksize; 187 struct fla_scal_s* sub_scal; 188 struct fla_lyap_s* sub_lyap; 189 struct fla_sylv_s* sub_sylv; 190 struct fla_gemm_s* sub_gemm1; 191 struct fla_gemm_s* sub_gemm2; 192 struct fla_hemm_s* sub_hemm; 193 struct fla_her2k_s* sub_her2k; 194 }; 195 typedef struct fla_lyap_s fla_lyap_t; 196 197 198 struct fla_spdinv_s 199 { 200 FLA_Matrix_type matrix_type; 201 int variant; 202 fla_blocksize_t* blocksize; 203 struct fla_chol_s* sub_chol; 204 struct fla_trinv_s* sub_trinv; 205 struct fla_ttmm_s* sub_ttmm; 206 }; 207 typedef struct fla_spdinv_s fla_spdinv_t; 208 209 210 struct fla_apqut_s 211 { 212 FLA_Matrix_type matrix_type; 213 int variant; 214 fla_blocksize_t* blocksize; 215 struct fla_apqut_s* sub_apqut; 216 struct fla_trmm_s* sub_trmm1; 217 struct fla_trmm_s* sub_trmm2; 218 struct fla_gemm_s* sub_gemm1; 219 struct fla_gemm_s* sub_gemm2; 220 struct fla_trsm_s* sub_trsm; 221 struct fla_copyt_s* sub_copyt; 222 struct fla_axpyt_s* sub_axpyt; 223 }; 224 typedef struct fla_apqut_s fla_apqut_t; 225 226 227 struct fla_apq2ut_s 228 { 229 FLA_Matrix_type matrix_type; 230 int variant; 231 fla_blocksize_t* blocksize; 232 struct fla_apq2ut_s* sub_apq2ut; 233 struct fla_gemm_s* sub_gemm1; 234 struct fla_gemm_s* sub_gemm2; 235 struct fla_trsm_s* sub_trsm; 236 struct fla_copyt_s* sub_copyt; 237 struct fla_axpyt_s* sub_axpyt; 238 }; 239 typedef struct fla_apq2ut_s fla_apq2ut_t; 240 241 242 struct fla_caqrutinc_s 243 { 244 FLA_Matrix_type matrix_type; 245 int variant; 246 fla_blocksize_t* blocksize; 247 struct fla_caqr2ut_s* sub_caqr2ut; 248 struct fla_apcaq2ut_s* sub_apcaq2ut; 249 }; 250 typedef struct fla_caqrutinc_s fla_caqrutinc_t; 251 252 253 struct fla_apcaqutinc_s 254 { 255 FLA_Matrix_type matrix_type; 256 int variant; 257 fla_blocksize_t* blocksize; 258 struct fla_apcaq2ut_s* sub_apcaq2ut; 259 }; 260 typedef struct fla_apcaqutinc_s fla_apcaqutinc_t; 261 262 263 struct fla_apcaq2ut_s 264 { 265 FLA_Matrix_type matrix_type; 266 int variant; 267 fla_blocksize_t* blocksize; 268 struct fla_apcaq2ut_s* sub_apcaq2ut; 269 struct fla_gemm_s* sub_gemm1; 270 struct fla_gemm_s* sub_gemm2; 271 struct fla_trmm_s* sub_trmm1; 272 struct fla_trmm_s* sub_trmm2; 273 struct fla_trsm_s* sub_trsm; 274 struct fla_axpy_s* sub_axpy1; 275 struct fla_axpy_s* sub_axpy2; 276 struct fla_axpy_s* sub_axpy3; 277 struct fla_copy_s* sub_copy; 278 }; 279 typedef struct fla_apcaq2ut_s fla_apcaq2ut_t; 280 281 282 struct fla_qr_ut_inc_s 283 { 284 FLA_Matrix_type matrix_type; 285 int variant; 286 fla_blocksize_t* blocksize; 287 struct fla_qr_ut_s* sub_qrut; 288 struct fla_qr2_ut_s* sub_qr2ut; 289 struct fla_apqut_s* sub_apqut; 290 struct fla_apq2ut_s* sub_apq2ut; 291 }; 292 typedef struct fla_qr_ut_inc_s fla_qrutinc_t; 293 294 295 struct fla_apqutinc_s 296 { 297 FLA_Matrix_type matrix_type; 298 int variant; 299 fla_blocksize_t* blocksize; 300 struct fla_apqut_s* sub_apqut; 301 struct fla_apq2ut_s* sub_apq2ut; 302 }; 303 typedef struct fla_apqutinc_s fla_apqutinc_t; 304 305 306 struct fla_uddateut_s 307 { 308 FLA_Matrix_type matrix_type; 309 int variant; 310 fla_blocksize_t* blocksize; 311 struct fla_uddateut_s* sub_uddateut; 312 struct fla_apqudut_s* sub_apqudut; 313 }; 314 typedef struct fla_uddateut_s fla_uddateut_t; 315 316 317 struct fla_apqudut_s 318 { 319 FLA_Matrix_type matrix_type; 320 int variant; 321 fla_blocksize_t* blocksize; 322 struct fla_apqudut_s* sub_apqudut; 323 struct fla_gemm_s* sub_gemm1; 324 struct fla_gemm_s* sub_gemm2; 325 struct fla_gemm_s* sub_gemm3; 326 struct fla_gemm_s* sub_gemm4; 327 struct fla_trsm_s* sub_trsm; 328 struct fla_copyt_s* sub_copyt; 329 struct fla_axpyt_s* sub_axpyt; 330 }; 331 typedef struct fla_apqudut_s fla_apqudut_t; 332 333 334 struct fla_uddateutinc_s 335 { 336 FLA_Matrix_type matrix_type; 337 int variant; 338 fla_blocksize_t* blocksize; 339 struct fla_uddateut_s* sub_uddateut; 340 struct fla_apqudut_s* sub_apqudut; 341 }; 342 typedef struct fla_uddateutinc_s fla_uddateutinc_t; 343 344 345 struct fla_apqudutinc_s 346 { 347 FLA_Matrix_type matrix_type; 348 int variant; 349 fla_blocksize_t* blocksize; 350 struct fla_apqudut_s* sub_apqudut; 351 }; 352 typedef struct fla_apqudutinc_s fla_apqudutinc_t; 353 354 355 struct fla_eig_gest_s 356 { 357 FLA_Matrix_type matrix_type; 358 int variant; 359 fla_blocksize_t* blocksize; 360 struct fla_eig_gest_s* sub_eig_gest; 361 struct fla_axpy_s* sub_axpy1; 362 struct fla_axpy_s* sub_axpy2; 363 struct fla_gemm_s* sub_gemm1; 364 struct fla_gemm_s* sub_gemm2; 365 struct fla_gemm_s* sub_gemm3; 366 struct fla_hemm_s* sub_hemm; 367 struct fla_her2k_s* sub_her2k; 368 struct fla_trmm_s* sub_trmm1; 369 struct fla_trmm_s* sub_trmm2; 370 struct fla_trsm_s* sub_trsm1; 371 struct fla_trsm_s* sub_trsm2; 372 }; 373 typedef struct fla_eig_gest_s fla_eig_gest_t; 374 375 376 #define FLA_Cntl_sub_chol( cntl ) cntl->sub_chol 377 #define FLA_Cntl_sub_lu( cntl ) cntl->sub_lu 378 #define FLA_Cntl_sub_qr( cntl ) cntl->sub_qr 379 #define FLA_Cntl_sub_qrut( cntl ) cntl->sub_qrut 380 #define FLA_Cntl_sub_qr2ut( cntl ) cntl->sub_qr2ut 381 #define FLA_Cntl_sub_lq( cntl ) cntl->sub_lq 382 #define FLA_Cntl_sub_lqut( cntl ) cntl->sub_lqut 383 #define FLA_Cntl_sub_caqr2ut( cntl ) cntl->sub_caqr2ut 384 #define FLA_Cntl_sub_trinv( cntl ) cntl->sub_trinv 385 #define FLA_Cntl_sub_ttmm( cntl ) cntl->sub_ttmm 386 #define FLA_Cntl_sub_sylv( cntl ) cntl->sub_sylv 387 #define FLA_Cntl_sub_sylv1( cntl ) cntl->sub_sylv1 388 #define FLA_Cntl_sub_sylv2( cntl ) cntl->sub_sylv2 389 #define FLA_Cntl_sub_sylv3( cntl ) cntl->sub_sylv3 390 #define FLA_Cntl_sub_lyap( cntl ) cntl->sub_lyap 391 #define FLA_Cntl_sub_appiv( cntl ) cntl->sub_appiv 392 #define FLA_Cntl_sub_appiv1( cntl ) cntl->sub_appiv1 393 #define FLA_Cntl_sub_appiv2( cntl ) cntl->sub_appiv2 394 #define FLA_Cntl_sub_apqut( cntl ) cntl->sub_apqut 395 #define FLA_Cntl_sub_apq2ut( cntl ) cntl->sub_apq2ut 396 #define FLA_Cntl_sub_apcaq2ut( cntl ) cntl->sub_apcaq2ut 397 #define FLA_Cntl_sub_uddateut( cntl ) cntl->sub_uddateut 398 #define FLA_Cntl_sub_apqudut( cntl ) cntl->sub_apqudut 399 #define FLA_Cntl_sub_hessut( cntl ) cntl->sub_hessut 400 #define FLA_Cntl_sub_tridiagut( cntl ) cntl->sub_tridiagut 401 #define FLA_Cntl_sub_bidiagut( cntl ) cntl->sub_bidiagut 402 #define FLA_Cntl_sub_eig_gest( cntl ) cntl->sub_eig_gest 403 404 405 fla_chol_t* FLA_Cntl_chol_obj_create( FLA_Matrix_type matrix_type, 406 int variant, 407 fla_blocksize_t* blocksize, 408 fla_chol_t* sub_chol, 409 fla_herk_t* sub_herk, 410 fla_trsm_t* sub_trsm, 411 fla_gemm_t* sub_gemm ); 412 fla_lu_t* FLA_Cntl_lu_obj_create( FLA_Matrix_type matrix_type, 413 int variant, 414 fla_blocksize_t* blocksize, 415 fla_lu_t* sub_lu, 416 fla_gemm_t* sub_gemm1, 417 fla_gemm_t* sub_gemm2, 418 fla_gemm_t* sub_gemm3, 419 fla_trsm_t* sub_trsm1, 420 fla_trsm_t* sub_trsm2, 421 fla_appiv_t* sub_appiv1, 422 fla_appiv_t* sub_appiv2 ); 423 fla_appiv_t* FLA_Cntl_appiv_obj_create( FLA_Matrix_type matrix_type, 424 int variant, 425 fla_blocksize_t* blocksize, 426 fla_appiv_t* sub_appiv ); 427 fla_qrut_t* FLA_Cntl_qrut_obj_create( FLA_Matrix_type matrix_type, 428 int variant, 429 fla_blocksize_t* blocksize, 430 fla_qrut_t* sub_qrut, 431 fla_apqut_t* sub_apqut ); 432 fla_qr2ut_t* FLA_Cntl_qr2ut_obj_create( FLA_Matrix_type matrix_type, 433 int variant, 434 fla_blocksize_t* blocksize, 435 fla_qr2ut_t* sub_qr2ut, 436 fla_gemm_t* sub_gemm1, 437 fla_gemm_t* sub_gemm2, 438 fla_trsm_t* sub_trsm, 439 fla_copy_t* sub_copy, 440 fla_axpy_t* sub_axpy ); 441 fla_lqut_t* FLA_Cntl_lqut_obj_create( FLA_Matrix_type matrix_type, 442 int variant, 443 fla_blocksize_t* blocksize, 444 fla_lqut_t* sub_lqut, 445 fla_apqut_t* sub_apqut ); 446 fla_caqr2ut_t* FLA_Cntl_caqr2ut_obj_create( FLA_Matrix_type matrix_type, 447 int variant, 448 fla_blocksize_t* blocksize, 449 fla_caqr2ut_t* sub_caqr2ut, 450 fla_gemm_t* sub_gemm1, 451 fla_gemm_t* sub_gemm2, 452 fla_trmm_t* sub_trmm1, 453 fla_trmm_t* sub_trmm2, 454 fla_trsm_t* sub_trsm, 455 fla_axpy_t* sub_axpy1, 456 fla_axpy_t* sub_axpy2, 457 fla_axpy_t* sub_axpy3, 458 fla_copy_t* sub_copy ); 459 fla_hessut_t* FLA_Cntl_hessut_obj_create( FLA_Matrix_type matrix_type, 460 int variant, 461 fla_blocksize_t* blocksize ); 462 fla_tridiagut_t* FLA_Cntl_tridiagut_obj_create( FLA_Matrix_type matrix_type, 463 int variant, 464 fla_blocksize_t* blocksize ); 465 fla_bidiagut_t* FLA_Cntl_bidiagut_obj_create( FLA_Matrix_type matrix_type, 466 int variant, 467 fla_blocksize_t* blocksize ); 468 fla_trinv_t* FLA_Cntl_trinv_obj_create( FLA_Matrix_type matrix_type, 469 int variant, 470 fla_blocksize_t* blocksize, 471 fla_trinv_t* sub_trinv, 472 fla_trmm_t* sub_trmm, 473 fla_trsm_t* sub_trsm1, 474 fla_trsm_t* sub_trsm2, 475 fla_gemm_t* sub_gemm ); 476 fla_ttmm_t* FLA_Cntl_ttmm_obj_create( FLA_Matrix_type matrix_type, 477 int variant, 478 fla_blocksize_t* blocksize, 479 fla_ttmm_t* sub_ttmm, 480 fla_herk_t* sub_herk, 481 fla_trmm_t* sub_trmm, 482 fla_gemm_t* sub_gemm ); 483 fla_sylv_t* FLA_Cntl_sylv_obj_create( FLA_Matrix_type matrix_type, 484 int variant, 485 fla_blocksize_t* blocksize, 486 fla_sylv_t* sub_sylv1, 487 fla_sylv_t* sub_sylv2, 488 fla_sylv_t* sub_sylv3, 489 fla_gemm_t* sub_gemm1, 490 fla_gemm_t* sub_gemm2, 491 fla_gemm_t* sub_gemm3, 492 fla_gemm_t* sub_gemm4, 493 fla_gemm_t* sub_gemm5, 494 fla_gemm_t* sub_gemm6, 495 fla_gemm_t* sub_gemm7, 496 fla_gemm_t* sub_gemm8 ); 497 fla_lyap_t* FLA_Cntl_lyap_obj_create( FLA_Matrix_type matrix_type, 498 int variant, 499 fla_blocksize_t* blocksize, 500 fla_scal_t* sub_scal, 501 fla_lyap_t* sub_lyap, 502 fla_sylv_t* sub_sylv, 503 fla_gemm_t* sub_gemm1, 504 fla_gemm_t* sub_gemm2, 505 fla_hemm_t* sub_hemm, 506 fla_her2k_t* sub_her2k ); 507 fla_spdinv_t* FLA_Cntl_spdinv_obj_create( FLA_Matrix_type matrix_type, 508 int variant, 509 fla_blocksize_t* blocksize, 510 fla_chol_t* sub_chol, 511 fla_trinv_t* sub_trinv, 512 fla_ttmm_t* sub_ttmm ); 513 fla_apqut_t* FLA_Cntl_apqut_obj_create( FLA_Matrix_type matrix_type, 514 int variant, 515 fla_blocksize_t* blocksize, 516 fla_apqut_t* sub_apqut, 517 fla_trmm_t* sub_trmm1, 518 fla_trmm_t* sub_trmm2, 519 fla_gemm_t* sub_gemm1, 520 fla_gemm_t* sub_gemm2, 521 fla_trsm_t* sub_trsm, 522 fla_copyt_t* sub_copyt, 523 fla_axpyt_t* sub_axpyt ); 524 fla_apq2ut_t* FLA_Cntl_apq2ut_obj_create( FLA_Matrix_type matrix_type, 525 int variant, 526 fla_blocksize_t* blocksize, 527 fla_apq2ut_t* sub_apq2ut, 528 fla_gemm_t* sub_gemm1, 529 fla_gemm_t* sub_gemm2, 530 fla_trsm_t* sub_trsm, 531 fla_copyt_t* sub_copyt, 532 fla_axpyt_t* sub_axpyt ); 533 fla_apcaq2ut_t* FLA_Cntl_apcaq2ut_obj_create( FLA_Matrix_type matrix_type, 534 int variant, 535 fla_blocksize_t* blocksize, 536 fla_apcaq2ut_t* sub_apcaq2ut, 537 fla_gemm_t* sub_gemm1, 538 fla_gemm_t* sub_gemm2, 539 fla_trmm_t* sub_trmm1, 540 fla_trmm_t* sub_trmm2, 541 fla_trsm_t* sub_trsm, 542 fla_axpy_t* sub_axpy1, 543 fla_axpy_t* sub_axpy2, 544 fla_axpy_t* sub_axpy3, 545 fla_copy_t* sub_copy ); 546 fla_qrutinc_t* FLA_Cntl_qrutinc_obj_create( FLA_Matrix_type matrix_type, 547 int variant, 548 fla_blocksize_t* blocksize, 549 fla_qrut_t* sub_qrut, 550 fla_apqut_t* sub_apqut, 551 fla_qr2ut_t* sub_qr2ut, 552 fla_apq2ut_t* sub_apq2ut ); 553 fla_apqutinc_t* FLA_Cntl_apqutinc_obj_create( FLA_Matrix_type matrix_type, 554 int variant, 555 fla_blocksize_t* blocksize, 556 fla_apqut_t* sub_apqut, 557 fla_apq2ut_t* sub_apq2ut ); 558 fla_caqrutinc_t* FLA_Cntl_caqrutinc_obj_create( FLA_Matrix_type matrix_type, 559 int variant, 560 fla_blocksize_t* blocksize, 561 fla_caqr2ut_t* sub_caqr2ut, 562 fla_apcaq2ut_t* sub_apcaq2ut ); 563 fla_apcaqutinc_t* FLA_Cntl_apcaqutinc_obj_create( FLA_Matrix_type matrix_type, 564 int variant, 565 fla_blocksize_t* blocksize, 566 fla_apcaq2ut_t* sub_apcaq2ut ); 567 fla_uddateut_t* FLA_Cntl_uddateut_obj_create( FLA_Matrix_type matrix_type, 568 int variant, 569 fla_blocksize_t* blocksize, 570 fla_uddateut_t* sub_uddateut, 571 fla_apqudut_t* sub_apqudut ); 572 fla_apqudut_t* FLA_Cntl_apqudut_obj_create( FLA_Matrix_type matrix_type, 573 int variant, 574 fla_blocksize_t* blocksize, 575 fla_apqudut_t* sub_apq2ut, 576 fla_gemm_t* sub_gemm1, 577 fla_gemm_t* sub_gemm2, 578 fla_gemm_t* sub_gemm3, 579 fla_gemm_t* sub_gemm4, 580 fla_trsm_t* sub_trsm, 581 fla_copyt_t* sub_copyt, 582 fla_axpyt_t* sub_axpyt ); 583 fla_uddateutinc_t* FLA_Cntl_uddateutinc_obj_create( FLA_Matrix_type matrix_type, 584 int variant, 585 fla_blocksize_t* blocksize, 586 fla_uddateut_t* sub_uddateut, 587 fla_apqudut_t* sub_apqudut ); 588 fla_apqudutinc_t* FLA_Cntl_apqudutinc_obj_create( FLA_Matrix_type matrix_type, 589 int variant, 590 fla_blocksize_t* blocksize, 591 fla_apqudut_t* sub_apqudut ); 592 fla_eig_gest_t* FLA_Cntl_eig_gest_obj_create( FLA_Matrix_type matrix_type, 593 int variant, 594 fla_blocksize_t* blocksize, 595 fla_eig_gest_t* sub_eig_gest, 596 fla_axpy_t* sub_axpy1, 597 fla_axpy_t* sub_axpy2, 598 fla_gemm_t* sub_gemm1, 599 fla_gemm_t* sub_gemm2, 600 fla_gemm_t* sub_gemm3, 601 fla_hemm_t* sub_hemm, 602 fla_her2k_t* sub_her2k, 603 fla_trmm_t* sub_trmm1, 604 fla_trmm_t* sub_trmm2, 605 fla_trsm_t* sub_trsm1, 606 fla_trsm_t* sub_trsm2 ); 607 608