libflame
12600
|
00001 /* 00002 libflame 00003 An object-based infrastructure for developing high-performance 00004 dense linear algebra libraries. 00005 00006 copyright (C) 2009, The University of Texas 00007 00008 libflame is free software; you can redistribute it and/or modify 00009 it under the terms of the GNU Lesser General Public License as 00010 published by the Free Software Foundation; either version 2.1 of 00011 the License, or (at your option) any later version. 00012 00013 libflame is distributed in the hope that it will be useful, but 00014 WITHOut ANY WARRANTY; without even the implied warranty of 00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00016 Lesser General Public License for more details. 00017 00018 You should have received a copy of the GNU Lesser General Public 00019 License along with libflame; if you did not receive a copy, see 00020 http://www.gnu.org/licenses/. 00021 00022 For more information, please contact us at flame@cs.utexas.edu or 00023 send mail to: 00024 00025 Field G. Van Zee and/or 00026 Robert A. van de Geijn 00027 The University of Texas at Austin 00028 Department of Computer Sciences 00029 1 University Station C0500 00030 Austin TX 78712 00031 */ 00032 00033 00034 // 00035 // LAPACK-level 00036 // 00037 00038 struct fla_chol_s 00039 { 00040 FLA_Matrix_type matrix_type; 00041 int variant; 00042 fla_blocksize_t* blocksize; 00043 struct fla_chol_s* sub_chol; 00044 struct fla_herk_s* sub_herk; 00045 struct fla_trsm_s* sub_trsm; 00046 struct fla_gemm_s* sub_gemm; 00047 }; 00048 typedef struct fla_chol_s fla_chol_t; 00049 00050 00051 struct fla_ttmm_s 00052 { 00053 FLA_Matrix_type matrix_type; 00054 int variant; 00055 fla_blocksize_t* blocksize; 00056 struct fla_ttmm_s* sub_ttmm; 00057 struct fla_herk_s* sub_herk; 00058 struct fla_trmm_s* sub_trmm; 00059 struct fla_gemm_s* sub_gemm; 00060 }; 00061 typedef struct fla_ttmm_s fla_ttmm_t; 00062 00063 00064 struct fla_appiv_s 00065 { 00066 FLA_Matrix_type matrix_type; 00067 int variant; 00068 fla_blocksize_t* blocksize; 00069 struct fla_appiv_s* sub_appiv; 00070 }; 00071 typedef struct fla_appiv_s fla_appiv_t; 00072 00073 00074 struct fla_lu_s 00075 { 00076 FLA_Matrix_type matrix_type; 00077 int variant; 00078 fla_blocksize_t* blocksize; 00079 struct fla_lu_s* sub_lu; 00080 struct fla_gemm_s* sub_gemm1; 00081 struct fla_gemm_s* sub_gemm2; 00082 struct fla_gemm_s* sub_gemm3; 00083 struct fla_trsm_s* sub_trsm1; 00084 struct fla_trsm_s* sub_trsm2; 00085 struct fla_appiv_s* sub_appiv1; 00086 struct fla_appiv_s* sub_appiv2; 00087 }; 00088 typedef struct fla_lu_s fla_lu_t; 00089 00090 00091 struct fla_qr_ut_s 00092 { 00093 FLA_Matrix_type matrix_type; 00094 int variant; 00095 fla_blocksize_t* blocksize; 00096 struct fla_qr_ut_s* sub_qrut; 00097 struct fla_apqut_s* sub_apqut; 00098 }; 00099 typedef struct fla_qr_ut_s fla_qrut_t; 00100 00101 00102 struct fla_qr2_ut_s 00103 { 00104 FLA_Matrix_type matrix_type; 00105 int variant; 00106 fla_blocksize_t* blocksize; 00107 struct fla_qr2_ut_s* sub_qr2ut; 00108 struct fla_gemm_s* sub_gemm1; 00109 struct fla_gemm_s* sub_gemm2; 00110 struct fla_trsm_s* sub_trsm; 00111 struct fla_copy_s* sub_copy; 00112 struct fla_axpy_s* sub_axpy; 00113 }; 00114 typedef struct fla_qr2_ut_s fla_qr2ut_t; 00115 00116 00117 struct fla_lq_ut_s 00118 { 00119 FLA_Matrix_type matrix_type; 00120 int variant; 00121 fla_blocksize_t* blocksize; 00122 struct fla_lq_ut_s* sub_lqut; 00123 struct fla_apqut_s* sub_apqut; 00124 }; 00125 typedef struct fla_lq_ut_s fla_lqut_t; 00126 00127 struct fla_caqr2ut_s 00128 { 00129 FLA_Matrix_type matrix_type; 00130 int variant; 00131 fla_blocksize_t* blocksize; 00132 struct fla_caqr2ut_s* sub_caqr2ut; 00133 struct fla_gemm_s* sub_gemm1; 00134 struct fla_gemm_s* sub_gemm2; 00135 struct fla_trmm_s* sub_trmm1; 00136 struct fla_trmm_s* sub_trmm2; 00137 struct fla_trsm_s* sub_trsm; 00138 struct fla_axpy_s* sub_axpy1; 00139 struct fla_axpy_s* sub_axpy2; 00140 struct fla_axpy_s* sub_axpy3; 00141 struct fla_copy_s* sub_copy; 00142 }; 00143 typedef struct fla_caqr2ut_s fla_caqr2ut_t; 00144 00145 00146 struct fla_hess_ut_s 00147 { 00148 FLA_Matrix_type matrix_type; 00149 int variant; 00150 fla_blocksize_t* blocksize; 00151 }; 00152 typedef struct fla_hess_ut_s fla_hessut_t; 00153 00154 struct fla_tridiag_ut_s 00155 { 00156 FLA_Matrix_type matrix_type; 00157 int variant; 00158 fla_blocksize_t* blocksize; 00159 }; 00160 typedef struct fla_tridiag_ut_s fla_tridiagut_t; 00161 00162 struct fla_bidiag_ut_s 00163 { 00164 FLA_Matrix_type matrix_type; 00165 int variant; 00166 fla_blocksize_t* blocksize; 00167 }; 00168 typedef struct fla_bidiag_ut_s fla_bidiagut_t; 00169 00170 struct fla_trinv_s 00171 { 00172 FLA_Matrix_type matrix_type; 00173 int variant; 00174 fla_blocksize_t* blocksize; 00175 struct fla_trinv_s* sub_trinv; 00176 struct fla_gemm_s* sub_gemm; 00177 struct fla_trmm_s* sub_trmm; 00178 struct fla_trsm_s* sub_trsm1; 00179 struct fla_trsm_s* sub_trsm2; 00180 }; 00181 typedef struct fla_trinv_s fla_trinv_t; 00182 00183 00184 struct fla_sylv_s 00185 { 00186 FLA_Matrix_type matrix_type; 00187 int variant; 00188 fla_blocksize_t* blocksize; 00189 struct fla_sylv_s* sub_sylv1; 00190 struct fla_sylv_s* sub_sylv2; 00191 struct fla_sylv_s* sub_sylv3; 00192 struct fla_gemm_s* sub_gemm1; 00193 struct fla_gemm_s* sub_gemm2; 00194 struct fla_gemm_s* sub_gemm3; 00195 struct fla_gemm_s* sub_gemm4; 00196 struct fla_gemm_s* sub_gemm5; 00197 struct fla_gemm_s* sub_gemm6; 00198 struct fla_gemm_s* sub_gemm7; 00199 struct fla_gemm_s* sub_gemm8; 00200 }; 00201 typedef struct fla_sylv_s fla_sylv_t; 00202 00203 00204 struct fla_lyap_s 00205 { 00206 FLA_Matrix_type matrix_type; 00207 int variant; 00208 fla_blocksize_t* blocksize; 00209 struct fla_scal_s* sub_scal; 00210 struct fla_lyap_s* sub_lyap; 00211 struct fla_sylv_s* sub_sylv; 00212 struct fla_gemm_s* sub_gemm1; 00213 struct fla_gemm_s* sub_gemm2; 00214 struct fla_hemm_s* sub_hemm; 00215 struct fla_her2k_s* sub_her2k; 00216 }; 00217 typedef struct fla_lyap_s fla_lyap_t; 00218 00219 00220 struct fla_spdinv_s 00221 { 00222 FLA_Matrix_type matrix_type; 00223 int variant; 00224 fla_blocksize_t* blocksize; 00225 struct fla_chol_s* sub_chol; 00226 struct fla_trinv_s* sub_trinv; 00227 struct fla_ttmm_s* sub_ttmm; 00228 }; 00229 typedef struct fla_spdinv_s fla_spdinv_t; 00230 00231 00232 struct fla_apqut_s 00233 { 00234 FLA_Matrix_type matrix_type; 00235 int variant; 00236 fla_blocksize_t* blocksize; 00237 struct fla_apqut_s* sub_apqut; 00238 struct fla_trmm_s* sub_trmm1; 00239 struct fla_trmm_s* sub_trmm2; 00240 struct fla_gemm_s* sub_gemm1; 00241 struct fla_gemm_s* sub_gemm2; 00242 struct fla_trsm_s* sub_trsm; 00243 struct fla_copyt_s* sub_copyt; 00244 struct fla_axpyt_s* sub_axpyt; 00245 }; 00246 typedef struct fla_apqut_s fla_apqut_t; 00247 00248 00249 struct fla_apq2ut_s 00250 { 00251 FLA_Matrix_type matrix_type; 00252 int variant; 00253 fla_blocksize_t* blocksize; 00254 struct fla_apq2ut_s* sub_apq2ut; 00255 struct fla_gemm_s* sub_gemm1; 00256 struct fla_gemm_s* sub_gemm2; 00257 struct fla_trsm_s* sub_trsm; 00258 struct fla_copyt_s* sub_copyt; 00259 struct fla_axpyt_s* sub_axpyt; 00260 }; 00261 typedef struct fla_apq2ut_s fla_apq2ut_t; 00262 00263 00264 struct fla_caqrutinc_s 00265 { 00266 FLA_Matrix_type matrix_type; 00267 int variant; 00268 fla_blocksize_t* blocksize; 00269 struct fla_caqr2ut_s* sub_caqr2ut; 00270 struct fla_apcaq2ut_s* sub_apcaq2ut; 00271 }; 00272 typedef struct fla_caqrutinc_s fla_caqrutinc_t; 00273 00274 00275 struct fla_apcaqutinc_s 00276 { 00277 FLA_Matrix_type matrix_type; 00278 int variant; 00279 fla_blocksize_t* blocksize; 00280 struct fla_apcaq2ut_s* sub_apcaq2ut; 00281 }; 00282 typedef struct fla_apcaqutinc_s fla_apcaqutinc_t; 00283 00284 00285 struct fla_apcaq2ut_s 00286 { 00287 FLA_Matrix_type matrix_type; 00288 int variant; 00289 fla_blocksize_t* blocksize; 00290 struct fla_apcaq2ut_s* sub_apcaq2ut; 00291 struct fla_gemm_s* sub_gemm1; 00292 struct fla_gemm_s* sub_gemm2; 00293 struct fla_trmm_s* sub_trmm1; 00294 struct fla_trmm_s* sub_trmm2; 00295 struct fla_trsm_s* sub_trsm; 00296 struct fla_axpy_s* sub_axpy1; 00297 struct fla_axpy_s* sub_axpy2; 00298 struct fla_axpy_s* sub_axpy3; 00299 struct fla_copy_s* sub_copy; 00300 }; 00301 typedef struct fla_apcaq2ut_s fla_apcaq2ut_t; 00302 00303 00304 struct fla_qr_ut_inc_s 00305 { 00306 FLA_Matrix_type matrix_type; 00307 int variant; 00308 fla_blocksize_t* blocksize; 00309 struct fla_qr_ut_s* sub_qrut; 00310 struct fla_qr2_ut_s* sub_qr2ut; 00311 struct fla_apqut_s* sub_apqut; 00312 struct fla_apq2ut_s* sub_apq2ut; 00313 }; 00314 typedef struct fla_qr_ut_inc_s fla_qrutinc_t; 00315 00316 00317 struct fla_apqutinc_s 00318 { 00319 FLA_Matrix_type matrix_type; 00320 int variant; 00321 fla_blocksize_t* blocksize; 00322 struct fla_apqut_s* sub_apqut; 00323 struct fla_apq2ut_s* sub_apq2ut; 00324 }; 00325 typedef struct fla_apqutinc_s fla_apqutinc_t; 00326 00327 00328 struct fla_uddateut_s 00329 { 00330 FLA_Matrix_type matrix_type; 00331 int variant; 00332 fla_blocksize_t* blocksize; 00333 struct fla_uddateut_s* sub_uddateut; 00334 struct fla_apqudut_s* sub_apqudut; 00335 }; 00336 typedef struct fla_uddateut_s fla_uddateut_t; 00337 00338 00339 struct fla_apqudut_s 00340 { 00341 FLA_Matrix_type matrix_type; 00342 int variant; 00343 fla_blocksize_t* blocksize; 00344 struct fla_apqudut_s* sub_apqudut; 00345 struct fla_gemm_s* sub_gemm1; 00346 struct fla_gemm_s* sub_gemm2; 00347 struct fla_gemm_s* sub_gemm3; 00348 struct fla_gemm_s* sub_gemm4; 00349 struct fla_trsm_s* sub_trsm; 00350 struct fla_copyt_s* sub_copyt; 00351 struct fla_axpyt_s* sub_axpyt; 00352 }; 00353 typedef struct fla_apqudut_s fla_apqudut_t; 00354 00355 00356 struct fla_uddateutinc_s 00357 { 00358 FLA_Matrix_type matrix_type; 00359 int variant; 00360 fla_blocksize_t* blocksize; 00361 struct fla_uddateut_s* sub_uddateut; 00362 struct fla_apqudut_s* sub_apqudut; 00363 }; 00364 typedef struct fla_uddateutinc_s fla_uddateutinc_t; 00365 00366 00367 struct fla_apqudutinc_s 00368 { 00369 FLA_Matrix_type matrix_type; 00370 int variant; 00371 fla_blocksize_t* blocksize; 00372 struct fla_apqudut_s* sub_apqudut; 00373 }; 00374 typedef struct fla_apqudutinc_s fla_apqudutinc_t; 00375 00376 00377 struct fla_eig_gest_s 00378 { 00379 FLA_Matrix_type matrix_type; 00380 int variant; 00381 fla_blocksize_t* blocksize; 00382 struct fla_eig_gest_s* sub_eig_gest; 00383 struct fla_axpy_s* sub_axpy1; 00384 struct fla_axpy_s* sub_axpy2; 00385 struct fla_gemm_s* sub_gemm1; 00386 struct fla_gemm_s* sub_gemm2; 00387 struct fla_gemm_s* sub_gemm3; 00388 struct fla_hemm_s* sub_hemm; 00389 struct fla_her2k_s* sub_her2k; 00390 struct fla_trmm_s* sub_trmm1; 00391 struct fla_trmm_s* sub_trmm2; 00392 struct fla_trsm_s* sub_trsm1; 00393 struct fla_trsm_s* sub_trsm2; 00394 }; 00395 typedef struct fla_eig_gest_s fla_eig_gest_t; 00396 00397 00398 #define FLA_Cntl_sub_chol( cntl ) cntl->sub_chol 00399 #define FLA_Cntl_sub_lu( cntl ) cntl->sub_lu 00400 #define FLA_Cntl_sub_qr( cntl ) cntl->sub_qr 00401 #define FLA_Cntl_sub_qrut( cntl ) cntl->sub_qrut 00402 #define FLA_Cntl_sub_qr2ut( cntl ) cntl->sub_qr2ut 00403 #define FLA_Cntl_sub_lq( cntl ) cntl->sub_lq 00404 #define FLA_Cntl_sub_lqut( cntl ) cntl->sub_lqut 00405 #define FLA_Cntl_sub_caqr2ut( cntl ) cntl->sub_caqr2ut 00406 #define FLA_Cntl_sub_trinv( cntl ) cntl->sub_trinv 00407 #define FLA_Cntl_sub_ttmm( cntl ) cntl->sub_ttmm 00408 #define FLA_Cntl_sub_sylv( cntl ) cntl->sub_sylv 00409 #define FLA_Cntl_sub_sylv1( cntl ) cntl->sub_sylv1 00410 #define FLA_Cntl_sub_sylv2( cntl ) cntl->sub_sylv2 00411 #define FLA_Cntl_sub_sylv3( cntl ) cntl->sub_sylv3 00412 #define FLA_Cntl_sub_lyap( cntl ) cntl->sub_lyap 00413 #define FLA_Cntl_sub_appiv( cntl ) cntl->sub_appiv 00414 #define FLA_Cntl_sub_appiv1( cntl ) cntl->sub_appiv1 00415 #define FLA_Cntl_sub_appiv2( cntl ) cntl->sub_appiv2 00416 #define FLA_Cntl_sub_apqut( cntl ) cntl->sub_apqut 00417 #define FLA_Cntl_sub_apq2ut( cntl ) cntl->sub_apq2ut 00418 #define FLA_Cntl_sub_apcaq2ut( cntl ) cntl->sub_apcaq2ut 00419 #define FLA_Cntl_sub_uddateut( cntl ) cntl->sub_uddateut 00420 #define FLA_Cntl_sub_apqudut( cntl ) cntl->sub_apqudut 00421 #define FLA_Cntl_sub_hessut( cntl ) cntl->sub_hessut 00422 #define FLA_Cntl_sub_tridiagut( cntl ) cntl->sub_tridiagut 00423 #define FLA_Cntl_sub_bidiagut( cntl ) cntl->sub_bidiagut 00424 #define FLA_Cntl_sub_eig_gest( cntl ) cntl->sub_eig_gest 00425 00426 00427 fla_chol_t* FLA_Cntl_chol_obj_create( FLA_Matrix_type matrix_type, 00428 int variant, 00429 fla_blocksize_t* blocksize, 00430 fla_chol_t* sub_chol, 00431 fla_herk_t* sub_herk, 00432 fla_trsm_t* sub_trsm, 00433 fla_gemm_t* sub_gemm ); 00434 fla_lu_t* FLA_Cntl_lu_obj_create( FLA_Matrix_type matrix_type, 00435 int variant, 00436 fla_blocksize_t* blocksize, 00437 fla_lu_t* sub_lu, 00438 fla_gemm_t* sub_gemm1, 00439 fla_gemm_t* sub_gemm2, 00440 fla_gemm_t* sub_gemm3, 00441 fla_trsm_t* sub_trsm1, 00442 fla_trsm_t* sub_trsm2, 00443 fla_appiv_t* sub_appiv1, 00444 fla_appiv_t* sub_appiv2 ); 00445 fla_appiv_t* FLA_Cntl_appiv_obj_create( FLA_Matrix_type matrix_type, 00446 int variant, 00447 fla_blocksize_t* blocksize, 00448 fla_appiv_t* sub_appiv ); 00449 fla_qrut_t* FLA_Cntl_qrut_obj_create( FLA_Matrix_type matrix_type, 00450 int variant, 00451 fla_blocksize_t* blocksize, 00452 fla_qrut_t* sub_qrut, 00453 fla_apqut_t* sub_apqut ); 00454 fla_qr2ut_t* FLA_Cntl_qr2ut_obj_create( FLA_Matrix_type matrix_type, 00455 int variant, 00456 fla_blocksize_t* blocksize, 00457 fla_qr2ut_t* sub_qr2ut, 00458 fla_gemm_t* sub_gemm1, 00459 fla_gemm_t* sub_gemm2, 00460 fla_trsm_t* sub_trsm, 00461 fla_copy_t* sub_copy, 00462 fla_axpy_t* sub_axpy ); 00463 fla_lqut_t* FLA_Cntl_lqut_obj_create( FLA_Matrix_type matrix_type, 00464 int variant, 00465 fla_blocksize_t* blocksize, 00466 fla_lqut_t* sub_lqut, 00467 fla_apqut_t* sub_apqut ); 00468 fla_caqr2ut_t* FLA_Cntl_caqr2ut_obj_create( FLA_Matrix_type matrix_type, 00469 int variant, 00470 fla_blocksize_t* blocksize, 00471 fla_caqr2ut_t* sub_caqr2ut, 00472 fla_gemm_t* sub_gemm1, 00473 fla_gemm_t* sub_gemm2, 00474 fla_trmm_t* sub_trmm1, 00475 fla_trmm_t* sub_trmm2, 00476 fla_trsm_t* sub_trsm, 00477 fla_axpy_t* sub_axpy1, 00478 fla_axpy_t* sub_axpy2, 00479 fla_axpy_t* sub_axpy3, 00480 fla_copy_t* sub_copy ); 00481 fla_hessut_t* FLA_Cntl_hessut_obj_create( FLA_Matrix_type matrix_type, 00482 int variant, 00483 fla_blocksize_t* blocksize ); 00484 fla_tridiagut_t* FLA_Cntl_tridiagut_obj_create( FLA_Matrix_type matrix_type, 00485 int variant, 00486 fla_blocksize_t* blocksize ); 00487 fla_bidiagut_t* FLA_Cntl_bidiagut_obj_create( FLA_Matrix_type matrix_type, 00488 int variant, 00489 fla_blocksize_t* blocksize ); 00490 fla_trinv_t* FLA_Cntl_trinv_obj_create( FLA_Matrix_type matrix_type, 00491 int variant, 00492 fla_blocksize_t* blocksize, 00493 fla_trinv_t* sub_trinv, 00494 fla_trmm_t* sub_trmm, 00495 fla_trsm_t* sub_trsm1, 00496 fla_trsm_t* sub_trsm2, 00497 fla_gemm_t* sub_gemm ); 00498 fla_ttmm_t* FLA_Cntl_ttmm_obj_create( FLA_Matrix_type matrix_type, 00499 int variant, 00500 fla_blocksize_t* blocksize, 00501 fla_ttmm_t* sub_ttmm, 00502 fla_herk_t* sub_herk, 00503 fla_trmm_t* sub_trmm, 00504 fla_gemm_t* sub_gemm ); 00505 fla_sylv_t* FLA_Cntl_sylv_obj_create( FLA_Matrix_type matrix_type, 00506 int variant, 00507 fla_blocksize_t* blocksize, 00508 fla_sylv_t* sub_sylv1, 00509 fla_sylv_t* sub_sylv2, 00510 fla_sylv_t* sub_sylv3, 00511 fla_gemm_t* sub_gemm1, 00512 fla_gemm_t* sub_gemm2, 00513 fla_gemm_t* sub_gemm3, 00514 fla_gemm_t* sub_gemm4, 00515 fla_gemm_t* sub_gemm5, 00516 fla_gemm_t* sub_gemm6, 00517 fla_gemm_t* sub_gemm7, 00518 fla_gemm_t* sub_gemm8 ); 00519 fla_lyap_t* FLA_Cntl_lyap_obj_create( FLA_Matrix_type matrix_type, 00520 int variant, 00521 fla_blocksize_t* blocksize, 00522 fla_scal_t* sub_scal, 00523 fla_lyap_t* sub_lyap, 00524 fla_sylv_t* sub_sylv, 00525 fla_gemm_t* sub_gemm1, 00526 fla_gemm_t* sub_gemm2, 00527 fla_hemm_t* sub_hemm, 00528 fla_her2k_t* sub_her2k ); 00529 fla_spdinv_t* FLA_Cntl_spdinv_obj_create( FLA_Matrix_type matrix_type, 00530 int variant, 00531 fla_blocksize_t* blocksize, 00532 fla_chol_t* sub_chol, 00533 fla_trinv_t* sub_trinv, 00534 fla_ttmm_t* sub_ttmm ); 00535 fla_apqut_t* FLA_Cntl_apqut_obj_create( FLA_Matrix_type matrix_type, 00536 int variant, 00537 fla_blocksize_t* blocksize, 00538 fla_apqut_t* sub_apqut, 00539 fla_trmm_t* sub_trmm1, 00540 fla_trmm_t* sub_trmm2, 00541 fla_gemm_t* sub_gemm1, 00542 fla_gemm_t* sub_gemm2, 00543 fla_trsm_t* sub_trsm, 00544 fla_copyt_t* sub_copyt, 00545 fla_axpyt_t* sub_axpyt ); 00546 fla_apq2ut_t* FLA_Cntl_apq2ut_obj_create( FLA_Matrix_type matrix_type, 00547 int variant, 00548 fla_blocksize_t* blocksize, 00549 fla_apq2ut_t* sub_apq2ut, 00550 fla_gemm_t* sub_gemm1, 00551 fla_gemm_t* sub_gemm2, 00552 fla_trsm_t* sub_trsm, 00553 fla_copyt_t* sub_copyt, 00554 fla_axpyt_t* sub_axpyt ); 00555 fla_apcaq2ut_t* FLA_Cntl_apcaq2ut_obj_create( FLA_Matrix_type matrix_type, 00556 int variant, 00557 fla_blocksize_t* blocksize, 00558 fla_apcaq2ut_t* sub_apcaq2ut, 00559 fla_gemm_t* sub_gemm1, 00560 fla_gemm_t* sub_gemm2, 00561 fla_trmm_t* sub_trmm1, 00562 fla_trmm_t* sub_trmm2, 00563 fla_trsm_t* sub_trsm, 00564 fla_axpy_t* sub_axpy1, 00565 fla_axpy_t* sub_axpy2, 00566 fla_axpy_t* sub_axpy3, 00567 fla_copy_t* sub_copy ); 00568 fla_qrutinc_t* FLA_Cntl_qrutinc_obj_create( FLA_Matrix_type matrix_type, 00569 int variant, 00570 fla_blocksize_t* blocksize, 00571 fla_qrut_t* sub_qrut, 00572 fla_apqut_t* sub_apqut, 00573 fla_qr2ut_t* sub_qr2ut, 00574 fla_apq2ut_t* sub_apq2ut ); 00575 fla_apqutinc_t* FLA_Cntl_apqutinc_obj_create( FLA_Matrix_type matrix_type, 00576 int variant, 00577 fla_blocksize_t* blocksize, 00578 fla_apqut_t* sub_apqut, 00579 fla_apq2ut_t* sub_apq2ut ); 00580 fla_caqrutinc_t* FLA_Cntl_caqrutinc_obj_create( FLA_Matrix_type matrix_type, 00581 int variant, 00582 fla_blocksize_t* blocksize, 00583 fla_caqr2ut_t* sub_caqr2ut, 00584 fla_apcaq2ut_t* sub_apcaq2ut ); 00585 fla_apcaqutinc_t* FLA_Cntl_apcaqutinc_obj_create( FLA_Matrix_type matrix_type, 00586 int variant, 00587 fla_blocksize_t* blocksize, 00588 fla_apcaq2ut_t* sub_apcaq2ut ); 00589 fla_uddateut_t* FLA_Cntl_uddateut_obj_create( FLA_Matrix_type matrix_type, 00590 int variant, 00591 fla_blocksize_t* blocksize, 00592 fla_uddateut_t* sub_uddateut, 00593 fla_apqudut_t* sub_apqudut ); 00594 fla_apqudut_t* FLA_Cntl_apqudut_obj_create( FLA_Matrix_type matrix_type, 00595 int variant, 00596 fla_blocksize_t* blocksize, 00597 fla_apqudut_t* sub_apq2ut, 00598 fla_gemm_t* sub_gemm1, 00599 fla_gemm_t* sub_gemm2, 00600 fla_gemm_t* sub_gemm3, 00601 fla_gemm_t* sub_gemm4, 00602 fla_trsm_t* sub_trsm, 00603 fla_copyt_t* sub_copyt, 00604 fla_axpyt_t* sub_axpyt ); 00605 fla_uddateutinc_t* FLA_Cntl_uddateutinc_obj_create( FLA_Matrix_type matrix_type, 00606 int variant, 00607 fla_blocksize_t* blocksize, 00608 fla_uddateut_t* sub_uddateut, 00609 fla_apqudut_t* sub_apqudut ); 00610 fla_apqudutinc_t* FLA_Cntl_apqudutinc_obj_create( FLA_Matrix_type matrix_type, 00611 int variant, 00612 fla_blocksize_t* blocksize, 00613 fla_apqudut_t* sub_apqudut ); 00614 fla_eig_gest_t* FLA_Cntl_eig_gest_obj_create( FLA_Matrix_type matrix_type, 00615 int variant, 00616 fla_blocksize_t* blocksize, 00617 fla_eig_gest_t* sub_eig_gest, 00618 fla_axpy_t* sub_axpy1, 00619 fla_axpy_t* sub_axpy2, 00620 fla_gemm_t* sub_gemm1, 00621 fla_gemm_t* sub_gemm2, 00622 fla_gemm_t* sub_gemm3, 00623 fla_hemm_t* sub_hemm, 00624 fla_her2k_t* sub_her2k, 00625 fla_trmm_t* sub_trmm1, 00626 fla_trmm_t* sub_trmm2, 00627 fla_trsm_t* sub_trsm1, 00628 fla_trsm_t* sub_trsm2 ); 00629