libflame revision_anchor
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_qr_ut_inc_s
00118 {
00119     FLA_Matrix_type        matrix_type;
00120     int                    variant;
00121     fla_blocksize_t*       blocksize;
00122     struct fla_qr_ut_s*    sub_qrut;
00123     struct fla_qr2_ut_s*   sub_qr2ut;
00124     struct fla_apqut_s*    sub_apqut;
00125     struct fla_apq2ut_s*   sub_apq2ut;
00126 };
00127 typedef struct fla_qr_ut_inc_s fla_qrutinc_t;
00128 
00129 
00130 struct fla_lq_ut_s
00131 {
00132     FLA_Matrix_type     matrix_type;
00133     int                 variant;
00134     fla_blocksize_t*    blocksize;
00135     struct fla_lq_ut_s* sub_lqut;
00136     struct fla_apqut_s* sub_apqut;
00137 };
00138 typedef struct fla_lq_ut_s fla_lqut_t;
00139 
00140 struct fla_hess_ut_s
00141 {
00142     FLA_Matrix_type       matrix_type;
00143     int                   variant;
00144     fla_blocksize_t*      blocksize;
00145 };
00146 typedef struct fla_hess_ut_s fla_hessut_t;
00147 
00148 struct fla_tridiag_ut_s
00149 {
00150     FLA_Matrix_type       matrix_type;
00151     int                   variant;
00152     fla_blocksize_t*      blocksize;
00153 };
00154 typedef struct fla_tridiag_ut_s fla_tridiagut_t;
00155 
00156 struct fla_bidiag_ut_s
00157 {
00158     FLA_Matrix_type       matrix_type;
00159     int                   variant;
00160     fla_blocksize_t*      blocksize;
00161 };
00162 typedef struct fla_bidiag_ut_s fla_bidiagut_t;
00163 
00164 struct fla_trinv_s
00165 {
00166     FLA_Matrix_type     matrix_type;
00167     int                 variant;
00168     fla_blocksize_t*    blocksize;
00169     struct fla_trinv_s* sub_trinv;
00170     struct fla_gemm_s*  sub_gemm;
00171     struct fla_trmm_s*  sub_trmm;
00172     struct fla_trsm_s*  sub_trsm1;
00173     struct fla_trsm_s*  sub_trsm2;
00174 };
00175 typedef struct fla_trinv_s fla_trinv_t;
00176 
00177 
00178 struct fla_sylv_s
00179 {
00180     FLA_Matrix_type     matrix_type;
00181     int                 variant;
00182     fla_blocksize_t*    blocksize;
00183     struct fla_sylv_s*  sub_sylv1;
00184     struct fla_sylv_s*  sub_sylv2;
00185     struct fla_sylv_s*  sub_sylv3;
00186     struct fla_gemm_s*  sub_gemm1;
00187     struct fla_gemm_s*  sub_gemm2;
00188     struct fla_gemm_s*  sub_gemm3;
00189     struct fla_gemm_s*  sub_gemm4;
00190     struct fla_gemm_s*  sub_gemm5;
00191     struct fla_gemm_s*  sub_gemm6;
00192     struct fla_gemm_s*  sub_gemm7;
00193     struct fla_gemm_s*  sub_gemm8;
00194 };
00195 typedef struct fla_sylv_s fla_sylv_t;
00196 
00197 
00198 struct fla_lyap_s
00199 {
00200     FLA_Matrix_type     matrix_type;
00201     int                 variant;
00202     fla_blocksize_t*    blocksize;
00203     struct fla_scal_s*  sub_scal;
00204     struct fla_lyap_s*  sub_lyap;
00205     struct fla_sylv_s*  sub_sylv;
00206     struct fla_gemm_s*  sub_gemm1;
00207     struct fla_gemm_s*  sub_gemm2;
00208     struct fla_hemm_s*  sub_hemm;
00209     struct fla_her2k_s* sub_her2k;
00210 };
00211 typedef struct fla_lyap_s fla_lyap_t;
00212 
00213 
00214 struct fla_spdinv_s
00215 {
00216     FLA_Matrix_type     matrix_type;
00217     int                 variant;
00218     fla_blocksize_t*    blocksize;
00219     struct fla_chol_s*  sub_chol;
00220     struct fla_trinv_s* sub_trinv;
00221     struct fla_ttmm_s*  sub_ttmm;
00222 };
00223 typedef struct fla_spdinv_s fla_spdinv_t;
00224 
00225 
00226 struct fla_apqut_s
00227 {
00228     FLA_Matrix_type      matrix_type;
00229     int                  variant;
00230     fla_blocksize_t*     blocksize;
00231     struct fla_apqut_s*  sub_apqut;
00232     struct fla_trmm_s*   sub_trmm1;
00233     struct fla_trmm_s*   sub_trmm2;
00234     struct fla_gemm_s*   sub_gemm1;
00235     struct fla_gemm_s*   sub_gemm2;
00236     struct fla_trsm_s*   sub_trsm;
00237     struct fla_copyt_s*  sub_copyt;
00238     struct fla_axpyt_s*  sub_axpyt;
00239 };
00240 typedef struct fla_apqut_s fla_apqut_t;
00241 
00242 
00243 struct fla_apq2ut_s
00244 {
00245     FLA_Matrix_type       matrix_type;
00246     int                   variant;
00247     fla_blocksize_t*      blocksize;
00248     struct fla_apq2ut_s*  sub_apq2ut;
00249     struct fla_gemm_s*    sub_gemm1;
00250     struct fla_gemm_s*    sub_gemm2;
00251     struct fla_trsm_s*    sub_trsm;
00252     struct fla_copyt_s*   sub_copyt;
00253     struct fla_axpyt_s*   sub_axpyt;
00254 };
00255 typedef struct fla_apq2ut_s fla_apq2ut_t;
00256 
00257 
00258 struct fla_apqutinc_s
00259 {
00260     FLA_Matrix_type        matrix_type;
00261     int                    variant;
00262     fla_blocksize_t*       blocksize;
00263     struct fla_apqut_s*    sub_apqut;
00264     struct fla_apq2ut_s*   sub_apq2ut;
00265 };
00266 typedef struct fla_apqutinc_s fla_apqutinc_t;
00267 
00268 
00269 struct fla_uddateut_s
00270 {
00271     FLA_Matrix_type        matrix_type;
00272     int                    variant;
00273     fla_blocksize_t*       blocksize;
00274     struct fla_uddateut_s* sub_uddateut;
00275     struct fla_apqudut_s*  sub_apqudut;
00276 };
00277 typedef struct fla_uddateut_s fla_uddateut_t;
00278 
00279 
00280 struct fla_apqudut_s
00281 {
00282     FLA_Matrix_type       matrix_type;
00283     int                   variant;
00284     fla_blocksize_t*      blocksize;
00285     struct fla_apqudut_s* sub_apqudut;
00286     struct fla_gemm_s*    sub_gemm1;
00287     struct fla_gemm_s*    sub_gemm2;
00288     struct fla_gemm_s*    sub_gemm3;
00289     struct fla_gemm_s*    sub_gemm4;
00290     struct fla_trsm_s*    sub_trsm;
00291     struct fla_copyt_s*   sub_copyt;
00292     struct fla_axpyt_s*   sub_axpyt;
00293 };
00294 typedef struct fla_apqudut_s fla_apqudut_t;
00295 
00296 
00297 struct fla_uddateutinc_s
00298 {
00299     FLA_Matrix_type        matrix_type;
00300     int                    variant;
00301     fla_blocksize_t*       blocksize;
00302     struct fla_uddateut_s* sub_uddateut;
00303     struct fla_apqudut_s*  sub_apqudut;
00304 };
00305 typedef struct fla_uddateutinc_s fla_uddateutinc_t;
00306 
00307 
00308 struct fla_apqudutinc_s
00309 {
00310     FLA_Matrix_type        matrix_type;
00311     int                    variant;
00312     fla_blocksize_t*       blocksize;
00313     struct fla_apqudut_s*  sub_apqudut;
00314 };
00315 typedef struct fla_apqudutinc_s fla_apqudutinc_t;
00316 
00317 
00318 struct fla_eig_gest_s
00319 {
00320     FLA_Matrix_type        matrix_type;
00321     int                    variant;
00322     fla_blocksize_t*       blocksize;
00323     struct fla_eig_gest_s* sub_eig_gest;
00324     struct fla_axpy_s*     sub_axpy1;
00325     struct fla_axpy_s*     sub_axpy2;
00326     struct fla_gemm_s*     sub_gemm1;
00327     struct fla_gemm_s*     sub_gemm2;
00328     struct fla_gemm_s*     sub_gemm3;
00329     struct fla_hemm_s*     sub_hemm;
00330     struct fla_her2k_s*    sub_her2k;
00331     struct fla_trmm_s*     sub_trmm1;
00332     struct fla_trmm_s*     sub_trmm2;
00333     struct fla_trsm_s*     sub_trsm1;
00334     struct fla_trsm_s*     sub_trsm2;
00335 };
00336 typedef struct fla_eig_gest_s fla_eig_gest_t;
00337 
00338 
00339 #define FLA_Cntl_sub_chol( cntl )      cntl->sub_chol
00340 #define FLA_Cntl_sub_lu( cntl )        cntl->sub_lu
00341 #define FLA_Cntl_sub_qr( cntl )        cntl->sub_qr
00342 #define FLA_Cntl_sub_qrut( cntl )      cntl->sub_qrut
00343 #define FLA_Cntl_sub_qr2ut( cntl )     cntl->sub_qr2ut
00344 #define FLA_Cntl_sub_lq( cntl )        cntl->sub_lq
00345 #define FLA_Cntl_sub_lqut( cntl )      cntl->sub_lqut
00346 #define FLA_Cntl_sub_trinv( cntl )     cntl->sub_trinv
00347 #define FLA_Cntl_sub_ttmm( cntl )      cntl->sub_ttmm
00348 #define FLA_Cntl_sub_sylv( cntl )      cntl->sub_sylv
00349 #define FLA_Cntl_sub_sylv1( cntl )     cntl->sub_sylv1
00350 #define FLA_Cntl_sub_sylv2( cntl )     cntl->sub_sylv2
00351 #define FLA_Cntl_sub_sylv3( cntl )     cntl->sub_sylv3
00352 #define FLA_Cntl_sub_lyap( cntl )      cntl->sub_lyap
00353 #define FLA_Cntl_sub_appiv( cntl )     cntl->sub_appiv
00354 #define FLA_Cntl_sub_appiv1( cntl )    cntl->sub_appiv1
00355 #define FLA_Cntl_sub_appiv2( cntl )    cntl->sub_appiv2
00356 #define FLA_Cntl_sub_apqut( cntl )     cntl->sub_apqut
00357 #define FLA_Cntl_sub_apq2ut( cntl )    cntl->sub_apq2ut
00358 #define FLA_Cntl_sub_uddateut( cntl )  cntl->sub_uddateut
00359 #define FLA_Cntl_sub_apqudut( cntl )   cntl->sub_apqudut
00360 #define FLA_Cntl_sub_hessut( cntl )    cntl->sub_hessut
00361 #define FLA_Cntl_sub_tridiagut( cntl ) cntl->sub_tridiagut
00362 #define FLA_Cntl_sub_bidiagut( cntl )  cntl->sub_bidiagut
00363 #define FLA_Cntl_sub_eig_gest( cntl )  cntl->sub_eig_gest
00364 
00365 
00366 fla_chol_t* FLA_Cntl_chol_obj_create( FLA_Matrix_type  matrix_type,
00367                                       int              variant,
00368                                       fla_blocksize_t* blocksize,
00369                                       fla_chol_t*      sub_chol,
00370                                       fla_herk_t*      sub_herk,
00371                                       fla_trsm_t*      sub_trsm,
00372                                       fla_gemm_t*      sub_gemm );
00373 fla_lu_t* FLA_Cntl_lu_obj_create( FLA_Matrix_type  matrix_type,
00374                                   int              variant,
00375                                   fla_blocksize_t* blocksize,
00376                                   fla_lu_t*        sub_lu,
00377                                   fla_gemm_t*      sub_gemm1,
00378                                   fla_gemm_t*      sub_gemm2,
00379                                   fla_gemm_t*      sub_gemm3,
00380                                   fla_trsm_t*      sub_trsm1,
00381                                   fla_trsm_t*      sub_trsm2,
00382                                   fla_appiv_t*     sub_appiv1,
00383                                   fla_appiv_t*     sub_appiv2 );
00384 fla_appiv_t* FLA_Cntl_appiv_obj_create( FLA_Matrix_type  matrix_type,
00385                                         int              variant,
00386                                         fla_blocksize_t* blocksize,
00387                                         fla_appiv_t*     sub_appiv );
00388 fla_qrut_t* FLA_Cntl_qrut_obj_create( FLA_Matrix_type  matrix_type,
00389                                       int              variant,
00390                                       fla_blocksize_t* blocksize,
00391                                       fla_qrut_t*      sub_qrut,
00392                                       fla_apqut_t*     sub_apqut );
00393 fla_qr2ut_t* FLA_Cntl_qr2ut_obj_create( FLA_Matrix_type  matrix_type,
00394                                           int              variant,
00395                                           fla_blocksize_t* blocksize,
00396                                           fla_qr2ut_t*     sub_qr2ut,
00397                                           fla_gemm_t*      sub_gemm1,
00398                                           fla_gemm_t*      sub_gemm2,
00399                                           fla_trsm_t*      sub_trsm,
00400                                           fla_copy_t*      sub_copy,
00401                                           fla_axpy_t*      sub_axpy );
00402 fla_lqut_t* FLA_Cntl_lqut_obj_create( FLA_Matrix_type  matrix_type,
00403                                       int              variant,
00404                                       fla_blocksize_t* blocksize,
00405                                       fla_lqut_t*      sub_lqut,
00406                                       fla_apqut_t*     sub_apqut );
00407 fla_hessut_t* FLA_Cntl_hessut_obj_create( FLA_Matrix_type  matrix_type,
00408                                           int              variant,
00409                                           fla_blocksize_t* blocksize );
00410 fla_tridiagut_t* FLA_Cntl_tridiagut_obj_create( FLA_Matrix_type  matrix_type,
00411                                                 int              variant,
00412                                                 fla_blocksize_t* blocksize );
00413 fla_bidiagut_t* FLA_Cntl_bidiagut_obj_create( FLA_Matrix_type  matrix_type,
00414                                               int              variant,
00415                                               fla_blocksize_t* blocksize );
00416 fla_trinv_t* FLA_Cntl_trinv_obj_create( FLA_Matrix_type  matrix_type,
00417                                         int              variant,
00418                                         fla_blocksize_t* blocksize,
00419                                         fla_trinv_t*     sub_trinv,
00420                                         fla_trmm_t*      sub_trmm,
00421                                         fla_trsm_t*      sub_trsm1,
00422                                         fla_trsm_t*      sub_trsm2,
00423                                         fla_gemm_t*      sub_gemm );
00424 fla_ttmm_t* FLA_Cntl_ttmm_obj_create( FLA_Matrix_type  matrix_type,
00425                                       int              variant,
00426                                       fla_blocksize_t* blocksize,
00427                                       fla_ttmm_t*      sub_ttmm,
00428                                       fla_herk_t*      sub_herk,
00429                                       fla_trmm_t*      sub_trmm,
00430                                       fla_gemm_t*      sub_gemm );
00431 fla_sylv_t* FLA_Cntl_sylv_obj_create( FLA_Matrix_type  matrix_type,
00432                                       int              variant,
00433                                       fla_blocksize_t* blocksize,
00434                                       fla_sylv_t*      sub_sylv1,
00435                                       fla_sylv_t*      sub_sylv2,
00436                                       fla_sylv_t*      sub_sylv3,
00437                                       fla_gemm_t*      sub_gemm1,
00438                                       fla_gemm_t*      sub_gemm2,
00439                                       fla_gemm_t*      sub_gemm3,
00440                                       fla_gemm_t*      sub_gemm4,
00441                                       fla_gemm_t*      sub_gemm5,
00442                                       fla_gemm_t*      sub_gemm6,
00443                                       fla_gemm_t*      sub_gemm7,
00444                                       fla_gemm_t*      sub_gemm8 );
00445 fla_lyap_t* FLA_Cntl_lyap_obj_create( FLA_Matrix_type  matrix_type,
00446                                       int              variant,
00447                                       fla_blocksize_t* blocksize,
00448                                       fla_scal_t*      sub_scal,
00449                                       fla_lyap_t*      sub_lyap,
00450                                       fla_sylv_t*      sub_sylv,
00451                                       fla_gemm_t*      sub_gemm1,
00452                                       fla_gemm_t*      sub_gemm2,
00453                                       fla_hemm_t*      sub_hemm,
00454                                       fla_her2k_t*     sub_her2k );
00455 fla_spdinv_t* FLA_Cntl_spdinv_obj_create( FLA_Matrix_type  matrix_type,
00456                                           int              variant,
00457                                           fla_blocksize_t* blocksize,
00458                                           fla_chol_t*      sub_chol,
00459                                           fla_trinv_t*     sub_trinv,
00460                                           fla_ttmm_t*      sub_ttmm );
00461 fla_apqut_t* FLA_Cntl_apqut_obj_create( FLA_Matrix_type  matrix_type,
00462                                         int              variant,
00463                                         fla_blocksize_t* blocksize,
00464                                         fla_apqut_t*     sub_apqut,
00465                                         fla_trmm_t*      sub_trmm1,
00466                                         fla_trmm_t*      sub_trmm2,
00467                                         fla_gemm_t*      sub_gemm1,
00468                                         fla_gemm_t*      sub_gemm2,
00469                                         fla_trsm_t*      sub_trsm,
00470                                         fla_copyt_t*     sub_copyt,
00471                                         fla_axpyt_t*     sub_axpyt );
00472 fla_apq2ut_t* FLA_Cntl_apq2ut_obj_create( FLA_Matrix_type  matrix_type,
00473                                           int              variant,
00474                                           fla_blocksize_t* blocksize,
00475                                           fla_apq2ut_t*    sub_apq2ut,
00476                                           fla_gemm_t*      sub_gemm1,
00477                                           fla_gemm_t*      sub_gemm2,
00478                                           fla_trsm_t*      sub_trsm,
00479                                           fla_copyt_t*     sub_copyt,
00480                                           fla_axpyt_t*     sub_axpyt );
00481 fla_qrutinc_t* FLA_Cntl_qrutinc_obj_create( FLA_Matrix_type  matrix_type,
00482                                             int              variant,
00483                                             fla_blocksize_t* blocksize,
00484                                             fla_qrut_t*      sub_qrut,
00485                                             fla_apqut_t*     sub_apqut,
00486                                             fla_qr2ut_t*     sub_qr2ut,
00487                                             fla_apq2ut_t*    sub_apq2ut );
00488 fla_apqutinc_t* FLA_Cntl_apqutinc_obj_create( FLA_Matrix_type  matrix_type,
00489                                               int              variant,
00490                                               fla_blocksize_t* blocksize,
00491                                               fla_apqut_t*     sub_apqut,
00492                                               fla_apq2ut_t*    sub_apq2ut );
00493 fla_uddateut_t* FLA_Cntl_uddateut_obj_create( FLA_Matrix_type  matrix_type,
00494                                               int              variant,
00495                                               fla_blocksize_t* blocksize,
00496                                               fla_uddateut_t*  sub_uddateut,
00497                                               fla_apqudut_t*   sub_apqudut );
00498 fla_apqudut_t* FLA_Cntl_apqudut_obj_create( FLA_Matrix_type  matrix_type,
00499                                             int              variant,
00500                                             fla_blocksize_t* blocksize,
00501                                             fla_apqudut_t*   sub_apq2ut,
00502                                             fla_gemm_t*      sub_gemm1,
00503                                             fla_gemm_t*      sub_gemm2,
00504                                             fla_gemm_t*      sub_gemm3,
00505                                             fla_gemm_t*      sub_gemm4,
00506                                             fla_trsm_t*      sub_trsm,
00507                                             fla_copyt_t*     sub_copyt,
00508                                             fla_axpyt_t*     sub_axpyt );
00509 fla_uddateutinc_t* FLA_Cntl_uddateutinc_obj_create( FLA_Matrix_type  matrix_type,
00510                                                     int              variant,
00511                                                     fla_blocksize_t* blocksize,
00512                                                     fla_uddateut_t*  sub_uddateut,
00513                                                     fla_apqudut_t*   sub_apqudut );
00514 fla_apqudutinc_t* FLA_Cntl_apqudutinc_obj_create( FLA_Matrix_type  matrix_type,
00515                                                   int              variant,
00516                                                   fla_blocksize_t* blocksize,
00517                                                   fla_apqudut_t*   sub_apqudut );
00518 fla_eig_gest_t* FLA_Cntl_eig_gest_obj_create( FLA_Matrix_type  matrix_type,
00519                                               int              variant,
00520                                               fla_blocksize_t* blocksize,
00521                                               fla_eig_gest_t*  sub_eig_gest,
00522                                               fla_axpy_t*      sub_axpy1,
00523                                               fla_axpy_t*      sub_axpy2,
00524                                               fla_gemm_t*      sub_gemm1,
00525                                               fla_gemm_t*      sub_gemm2,
00526                                               fla_gemm_t*      sub_gemm3,
00527                                               fla_hemm_t*      sub_hemm,
00528                                               fla_her2k_t*     sub_her2k,
00529                                               fla_trmm_t*      sub_trmm1,
00530                                               fla_trmm_t*      sub_trmm2,
00531                                               fla_trsm_t*      sub_trsm1,
00532                                               fla_trsm_t*      sub_trsm2 );
00533