libflame  12600
FLA_Cntl_lapack.h
Go to the documentation of this file.
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