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