libflame  revision_anchor
FLA_Hess_UT_vars.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) 2011, 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 FLA_Error FLA_Hess_UT_blk_var1( FLA_Obj A, FLA_Obj T );
00034 FLA_Error FLA_Hess_UT_unb_var1( FLA_Obj A, FLA_Obj T );
00035 FLA_Error FLA_Hess_UT_step_unb_var1( FLA_Obj A, FLA_Obj T );
00036 
00037 FLA_Error FLA_Hess_UT_blk_var2( FLA_Obj A, FLA_Obj T );
00038 FLA_Error FLA_Hess_UT_blf_var2( FLA_Obj A, FLA_Obj T );
00039 FLA_Error FLA_Hess_UT_unb_var2( FLA_Obj A, FLA_Obj T );
00040 FLA_Error FLA_Hess_UT_step_unb_var2( FLA_Obj A, FLA_Obj T );
00041 
00042 FLA_Error FLA_Hess_UT_blk_var3( FLA_Obj A, FLA_Obj T );
00043 FLA_Error FLA_Hess_UT_blf_var3( FLA_Obj A, FLA_Obj T );
00044 FLA_Error FLA_Hess_UT_unb_var3( FLA_Obj A, FLA_Obj T );
00045 FLA_Error FLA_Hess_UT_step_unb_var3( FLA_Obj A, FLA_Obj T );
00046 
00047 FLA_Error FLA_Hess_UT_blk_var4( FLA_Obj A, FLA_Obj T );
00048 FLA_Error FLA_Hess_UT_blf_var4( FLA_Obj A, FLA_Obj T );
00049 FLA_Error FLA_Hess_UT_unb_var4( FLA_Obj A, FLA_Obj T );
00050 FLA_Error FLA_Hess_UT_step_unb_var4( FLA_Obj A, FLA_Obj Y, FLA_Obj Z, FLA_Obj T );
00051 
00052 FLA_Error FLA_Hess_UT_blk_var5( FLA_Obj A, FLA_Obj T );
00053 FLA_Error FLA_Hess_UT_unb_var5( FLA_Obj A, FLA_Obj T );
00054 FLA_Error FLA_Hess_UT_step_unb_var5( FLA_Obj A, FLA_Obj U, FLA_Obj Z, FLA_Obj T );
00055 
00056 
00057 FLA_Error FLA_Hess_UT_opt_var1( FLA_Obj A, FLA_Obj T );
00058 FLA_Error FLA_Hess_UT_step_opt_var1( FLA_Obj A, FLA_Obj T );
00059 FLA_Error FLA_Hess_UT_step_ops_var1( int m_A,
00060                                      int m_T,
00061                                      float* buff_A, int rs_A, int cs_A, 
00062                                      float* buff_T, int rs_T, int cs_T );
00063 FLA_Error FLA_Hess_UT_step_opd_var1( int m_A,
00064                                      int m_T,
00065                                      double* buff_A, int rs_A, int cs_A, 
00066                                      double* buff_T, int rs_T, int cs_T );
00067 FLA_Error FLA_Hess_UT_step_opc_var1( int m_A,
00068                                      int m_T,
00069                                      scomplex* buff_A, int rs_A, int cs_A, 
00070                                      scomplex* buff_T, int rs_T, int cs_T );
00071 FLA_Error FLA_Hess_UT_step_opz_var1( int m_A,
00072                                      int m_T,
00073                                      dcomplex* buff_A, int rs_A, int cs_A, 
00074                                      dcomplex* buff_T, int rs_T, int cs_T );
00075 
00076 
00077 FLA_Error FLA_Hess_UT_opt_var2( FLA_Obj A, FLA_Obj T );
00078 FLA_Error FLA_Hess_UT_step_opt_var2( FLA_Obj A, FLA_Obj T );
00079 FLA_Error FLA_Hess_UT_step_ops_var2( int m_A,
00080                                      int m_T,
00081                                      float* buff_A, int rs_A, int cs_A, 
00082                                      float* buff_T, int rs_T, int cs_T );
00083 FLA_Error FLA_Hess_UT_step_opd_var2( int m_A,
00084                                      int m_T,
00085                                      double* buff_A, int rs_A, int cs_A, 
00086                                      double* buff_T, int rs_T, int cs_T );
00087 FLA_Error FLA_Hess_UT_step_opc_var2( int m_A,
00088                                      int m_T,
00089                                      scomplex* buff_A, int rs_A, int cs_A, 
00090                                      scomplex* buff_T, int rs_T, int cs_T );
00091 FLA_Error FLA_Hess_UT_step_opz_var2( int m_A,
00092                                      int m_T,
00093                                      dcomplex* buff_A, int rs_A, int cs_A, 
00094                                      dcomplex* buff_T, int rs_T, int cs_T );
00095 
00096 
00097 FLA_Error FLA_Hess_UT_opt_var3( FLA_Obj A, FLA_Obj T );
00098 FLA_Error FLA_Hess_UT_step_opt_var3( FLA_Obj A, FLA_Obj T );
00099 FLA_Error FLA_Hess_UT_step_ops_var3( int m_A,
00100                                      int m_T,
00101                                      float* buff_A, int rs_A, int cs_A, 
00102                                      float* buff_T, int rs_T, int cs_T );
00103 FLA_Error FLA_Hess_UT_step_opd_var3( int m_A,
00104                                      int m_T,
00105                                      double* buff_A, int rs_A, int cs_A, 
00106                                      double* buff_T, int rs_T, int cs_T );
00107 FLA_Error FLA_Hess_UT_step_opc_var3( int m_A,
00108                                      int m_T,
00109                                      scomplex* buff_A, int rs_A, int cs_A, 
00110                                      scomplex* buff_T, int rs_T, int cs_T );
00111 FLA_Error FLA_Hess_UT_step_opz_var3( int m_A,
00112                                      int m_T,
00113                                      dcomplex* buff_A, int rs_A, int cs_A, 
00114                                      dcomplex* buff_T, int rs_T, int cs_T );
00115 
00116 
00117 FLA_Error FLA_Hess_UT_opt_var4( FLA_Obj A, FLA_Obj T );
00118 FLA_Error FLA_Hess_UT_step_opt_var4( FLA_Obj A, FLA_Obj Y, FLA_Obj Z, FLA_Obj T );
00119 FLA_Error FLA_Hess_UT_step_ops_var4( int m_A,
00120                                      int m_T,
00121                                      float* buff_A, int rs_A, int cs_A, 
00122                                      float* buff_Y, int rs_Y, int cs_Y, 
00123                                      float* buff_Z, int rs_Z, int cs_Z, 
00124                                      float* buff_T, int rs_T, int cs_T );
00125 FLA_Error FLA_Hess_UT_step_opd_var4( int m_A,
00126                                      int m_T,
00127                                      double* buff_A, int rs_A, int cs_A, 
00128                                      double* buff_Y, int rs_Y, int cs_Y, 
00129                                      double* buff_Z, int rs_Z, int cs_Z, 
00130                                      double* buff_T, int rs_T, int cs_T );
00131 FLA_Error FLA_Hess_UT_step_opc_var4( int m_A,
00132                                      int m_T,
00133                                      scomplex* buff_A, int rs_A, int cs_A, 
00134                                      scomplex* buff_Y, int rs_Y, int cs_Y, 
00135                                      scomplex* buff_Z, int rs_Z, int cs_Z, 
00136                                      scomplex* buff_T, int rs_T, int cs_T );
00137 FLA_Error FLA_Hess_UT_step_opz_var4( int m_A,
00138                                      int m_T,
00139                                      dcomplex* buff_A, int rs_A, int cs_A, 
00140                                      dcomplex* buff_Y, int rs_Y, int cs_Y, 
00141                                      dcomplex* buff_Z, int rs_Z, int cs_Z, 
00142                                      dcomplex* buff_T, int rs_T, int cs_T );
00143 
00144 
00145 FLA_Error FLA_Hess_UT_opt_var5( FLA_Obj A, FLA_Obj T );
00146 FLA_Error FLA_Hess_UT_step_opt_var5( FLA_Obj A, FLA_Obj U, FLA_Obj Z, FLA_Obj T );
00147 FLA_Error FLA_Hess_UT_step_ops_var5( int m_A,
00148                                      int m_T,
00149                                      float* buff_A, int rs_A, int cs_A, 
00150                                      float* buff_U, int rs_U, int cs_U, 
00151                                      float* buff_Z, int rs_Z, int cs_Z, 
00152                                      float* buff_T, int rs_T, int cs_T );
00153 FLA_Error FLA_Hess_UT_step_opd_var5( int m_A,
00154                                      int m_T,
00155                                      double* buff_A, int rs_A, int cs_A, 
00156                                      double* buff_U, int rs_U, int cs_U, 
00157                                      double* buff_Z, int rs_Z, int cs_Z, 
00158                                      double* buff_T, int rs_T, int cs_T );
00159 FLA_Error FLA_Hess_UT_step_opc_var5( int m_A,
00160                                      int m_T,
00161                                      scomplex* buff_A, int rs_A, int cs_A, 
00162                                      scomplex* buff_U, int rs_U, int cs_U, 
00163                                      scomplex* buff_Z, int rs_Z, int cs_Z, 
00164                                      scomplex* buff_T, int rs_T, int cs_T );
00165 FLA_Error FLA_Hess_UT_step_opz_var5( int m_A,
00166                                      int m_T,
00167                                      dcomplex* buff_A, int rs_A, int cs_A, 
00168                                      dcomplex* buff_U, int rs_U, int cs_U, 
00169                                      dcomplex* buff_Z, int rs_Z, int cs_Z, 
00170                                      dcomplex* buff_T, int rs_T, int cs_T );
00171 
00172 
00173 FLA_Error FLA_Hess_UT_ofu_var1( FLA_Obj A, FLA_Obj T );
00174 FLA_Error FLA_Hess_UT_step_ofu_var1( FLA_Obj A, FLA_Obj T );
00175 FLA_Error FLA_Hess_UT_step_ofs_var1( int m_A,
00176                                      int m_T,
00177                                      float* buff_A, int rs_A, int cs_A, 
00178                                      float* buff_T, int rs_T, int cs_T );
00179 FLA_Error FLA_Hess_UT_step_ofd_var1( int m_A,
00180                                      int m_T,
00181                                      double* buff_A, int rs_A, int cs_A, 
00182                                      double* buff_T, int rs_T, int cs_T );
00183 FLA_Error FLA_Hess_UT_step_ofc_var1( int m_A,
00184                                      int m_T,
00185                                      scomplex* buff_A, int rs_A, int cs_A, 
00186                                      scomplex* buff_T, int rs_T, int cs_T );
00187 FLA_Error FLA_Hess_UT_step_ofz_var1( int m_A,
00188                                      int m_T,
00189                                      dcomplex* buff_A, int rs_A, int cs_A, 
00190                                      dcomplex* buff_T, int rs_T, int cs_T );
00191 
00192 
00193 FLA_Error FLA_Hess_UT_ofu_var2( FLA_Obj A, FLA_Obj T );
00194 FLA_Error FLA_Hess_UT_step_ofu_var2( FLA_Obj A, FLA_Obj T );
00195 FLA_Error FLA_Hess_UT_step_ofs_var2( int m_A,
00196                                      int m_T,
00197                                      float* buff_A, int rs_A, int cs_A, 
00198                                      float* buff_T, int rs_T, int cs_T );
00199 FLA_Error FLA_Hess_UT_step_ofd_var2( int m_A,
00200                                      int m_T,
00201                                      double* buff_A, int rs_A, int cs_A, 
00202                                      double* buff_T, int rs_T, int cs_T );
00203 FLA_Error FLA_Hess_UT_step_ofc_var2( int m_A,
00204                                      int m_T,
00205                                      scomplex* buff_A, int rs_A, int cs_A, 
00206                                      scomplex* buff_T, int rs_T, int cs_T );
00207 FLA_Error FLA_Hess_UT_step_ofz_var2( int m_A,
00208                                      int m_T,
00209                                      dcomplex* buff_A, int rs_A, int cs_A, 
00210                                      dcomplex* buff_T, int rs_T, int cs_T );
00211 
00212 
00213 FLA_Error FLA_Hess_UT_ofu_var3( FLA_Obj A, FLA_Obj T );
00214 FLA_Error FLA_Hess_UT_step_ofu_var3( FLA_Obj A, FLA_Obj T );
00215 FLA_Error FLA_Hess_UT_step_ofs_var3( int m_A,
00216                                      int m_T,
00217                                      float* buff_A, int rs_A, int cs_A, 
00218                                      float* buff_T, int rs_T, int cs_T );
00219 FLA_Error FLA_Hess_UT_step_ofd_var3( int m_A,
00220                                      int m_T,
00221                                      double* buff_A, int rs_A, int cs_A, 
00222                                      double* buff_T, int rs_T, int cs_T );
00223 FLA_Error FLA_Hess_UT_step_ofc_var3( int m_A,
00224                                      int m_T,
00225                                      scomplex* buff_A, int rs_A, int cs_A, 
00226                                      scomplex* buff_T, int rs_T, int cs_T );
00227 FLA_Error FLA_Hess_UT_step_ofz_var3( int m_A,
00228                                      int m_T,
00229                                      dcomplex* buff_A, int rs_A, int cs_A, 
00230                                      dcomplex* buff_T, int rs_T, int cs_T );
00231 
00232 
00233 FLA_Error FLA_Hess_UT_ofu_var4( FLA_Obj A, FLA_Obj T );
00234 FLA_Error FLA_Hess_UT_step_ofu_var4( FLA_Obj A, FLA_Obj Y, FLA_Obj Z, FLA_Obj T );
00235 FLA_Error FLA_Hess_UT_step_ofs_var4( int m_A,
00236                                      int m_T,
00237                                      float* buff_A, int rs_A, int cs_A, 
00238                                      float* buff_Y, int rs_Y, int cs_Y,
00239                                      float* buff_Z, int rs_Z, int cs_Z,
00240                                      float* buff_T, int rs_T, int cs_T );
00241 FLA_Error FLA_Hess_UT_step_ofd_var4( int m_A,
00242                                      int m_T,
00243                                      double* buff_A, int rs_A, int cs_A, 
00244                                      double* buff_Y, int rs_Y, int cs_Y,
00245                                      double* buff_Z, int rs_Z, int cs_Z,
00246                                      double* buff_T, int rs_T, int cs_T );
00247 FLA_Error FLA_Hess_UT_step_ofc_var4( int m_A,
00248                                      int m_T,
00249                                      scomplex* buff_A, int rs_A, int cs_A, 
00250                                      scomplex* buff_Y, int rs_Y, int cs_Y,
00251                                      scomplex* buff_Z, int rs_Z, int cs_Z,
00252                                      scomplex* buff_T, int rs_T, int cs_T );
00253 FLA_Error FLA_Hess_UT_step_ofz_var4( int m_A,
00254                                      int m_T,
00255                                      dcomplex* buff_A, int rs_A, int cs_A, 
00256                                      dcomplex* buff_Y, int rs_Y, int cs_Y,
00257                                      dcomplex* buff_Z, int rs_Z, int cs_Z,
00258                                      dcomplex* buff_T, int rs_T, int cs_T );
00259 
00260 
00261 // --- Fused operations --------------------------------------------------------
00262 
00263 FLA_Error FLA_Fused_Ahx_Ax_ops_var1( int m_A,
00264                                      int n_A,
00265                                      float* buff_A, int rs_A, int cs_A, 
00266                                      float* buff_x, int inc_x, 
00267                                      float* buff_v, int inc_v, 
00268                                      float* buff_w, int inc_w );
00269 FLA_Error FLA_Fused_Ahx_Ax_opd_var1( int m_A,
00270                                      int n_A,
00271                                      double* buff_A, int rs_A, int cs_A, 
00272                                      double* buff_x, int inc_x, 
00273                                      double* buff_v, int inc_v, 
00274                                      double* buff_w, int inc_w );
00275 FLA_Error FLA_Fused_Ahx_Ax_opc_var1( int m_A,
00276                                      int n_A,
00277                                      scomplex* buff_A, int rs_A, int cs_A, 
00278                                      scomplex* buff_x, int inc_x, 
00279                                      scomplex* buff_v, int inc_v, 
00280                                      scomplex* buff_w, int inc_w );
00281 FLA_Error FLA_Fused_Ahx_Ax_opz_var1( int m_A,
00282                                      int n_A,
00283                                      dcomplex* buff_A, int rs_A, int cs_A, 
00284                                      dcomplex* buff_x, int inc_x, 
00285                                      dcomplex* buff_v, int inc_v, 
00286                                      dcomplex* buff_w, int inc_w );
00287 
00288 
00289 FLA_Error FLA_Fused_Gerc2_Ahx_Ax_ops_var1( int m_A,
00290                                            int n_A,
00291                                            float* buff_alpha, 
00292                                            float* buff_u, int inc_u, 
00293                                            float* buff_y, int inc_y, 
00294                                            float* buff_z, int inc_z, 
00295                                            float* buff_A, int rs_A, int cs_A, 
00296                                            float* buff_x, int inc_x, 
00297                                            float* buff_v, int inc_v, 
00298                                            float* buff_w, int inc_w );
00299 FLA_Error FLA_Fused_Gerc2_Ahx_Ax_opd_var1( int m_A,
00300                                            int n_A,
00301                                            double* buff_alpha, 
00302                                            double* buff_u, int inc_u, 
00303                                            double* buff_y, int inc_y, 
00304                                            double* buff_z, int inc_z, 
00305                                            double* buff_A, int rs_A, int cs_A, 
00306                                            double* buff_x, int inc_x, 
00307                                            double* buff_v, int inc_v, 
00308                                            double* buff_w, int inc_w );
00309 FLA_Error FLA_Fused_Gerc2_Ahx_Ax_opc_var1( int m_A,
00310                                            int n_A,
00311                                            scomplex* buff_alpha, 
00312                                            scomplex* buff_u, int inc_u, 
00313                                            scomplex* buff_y, int inc_y, 
00314                                            scomplex* buff_z, int inc_z, 
00315                                            scomplex* buff_A, int rs_A, int cs_A, 
00316                                            scomplex* buff_x, int inc_x, 
00317                                            scomplex* buff_v, int inc_v, 
00318                                            scomplex* buff_w, int inc_w );
00319 FLA_Error FLA_Fused_Gerc2_Ahx_Ax_opz_var1( int m_A,
00320                                            int n_A,
00321                                            dcomplex* buff_alpha, 
00322                                            dcomplex* buff_u, int inc_u, 
00323                                            dcomplex* buff_y, int inc_y, 
00324                                            dcomplex* buff_z, int inc_z, 
00325                                            dcomplex* buff_A, int rs_A, int cs_A, 
00326                                            dcomplex* buff_x, int inc_x, 
00327                                            dcomplex* buff_v, int inc_v, 
00328                                            dcomplex* buff_w, int inc_w );
00329 
00330 
00331 FLA_Error FLA_Fused_Uhu_Yhu_Zhu_ops_var1( int m_U,
00332                                           int n_U,
00333                                           float* buff_delta,
00334                                           float* buff_U, int rs_U, int cs_U,
00335                                           float* buff_Y, int rs_Y, int cs_Y,
00336                                           float* buff_Z, int rs_Z, int cs_Z,
00337                                           float* buff_t, int inc_t,
00338                                           float* buff_u, int inc_u,
00339                                           float* buff_y, int inc_y,
00340                                           float* buff_z, int inc_z );
00341 FLA_Error FLA_Fused_Uhu_Yhu_Zhu_opd_var1( int m_U,
00342                                           int n_U,
00343                                           double* buff_delta,
00344                                           double* buff_U, int rs_U, int cs_U,
00345                                           double* buff_Y, int rs_Y, int cs_Y,
00346                                           double* buff_Z, int rs_Z, int cs_Z,
00347                                           double* buff_t, int inc_t,
00348                                           double* buff_u, int inc_u,
00349                                           double* buff_y, int inc_y,
00350                                           double* buff_z, int inc_z );
00351 FLA_Error FLA_Fused_Uhu_Yhu_Zhu_opc_var1( int m_U,
00352                                           int n_U,
00353                                           scomplex* buff_delta,
00354                                           scomplex* buff_U, int rs_U, int cs_U,
00355                                           scomplex* buff_Y, int rs_Y, int cs_Y,
00356                                           scomplex* buff_Z, int rs_Z, int cs_Z,
00357                                           scomplex* buff_t, int inc_t,
00358                                           scomplex* buff_u, int inc_u,
00359                                           scomplex* buff_y, int inc_y,
00360                                           scomplex* buff_z, int inc_z );
00361 FLA_Error FLA_Fused_Uhu_Yhu_Zhu_opz_var1( int m_U,
00362                                           int n_U,
00363                                           dcomplex* buff_delta,
00364                                           dcomplex* buff_U, int rs_U, int cs_U,
00365                                           dcomplex* buff_Y, int rs_Y, int cs_Y,
00366                                           dcomplex* buff_Z, int rs_Z, int cs_Z,
00367                                           dcomplex* buff_t, int inc_t,
00368                                           dcomplex* buff_u, int inc_u,
00369                                           dcomplex* buff_y, int inc_y,
00370                                           dcomplex* buff_z, int inc_z );
00371