libflame revision_anchor
FLA_Tridiag_UT_l.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_Tridiag_UT_l_unb_var1( FLA_Obj A, FLA_Obj T );
00034 FLA_Error FLA_Tridiag_UT_l_blk_var1( FLA_Obj A, FLA_Obj T );
00035 FLA_Error FLA_Tridiag_UT_l_step_unb_var1( FLA_Obj A, FLA_Obj T );
00036 
00037 FLA_Error FLA_Tridiag_UT_l_unb_var2( FLA_Obj A, FLA_Obj T );
00038 FLA_Error FLA_Tridiag_UT_l_blk_var2( FLA_Obj A, FLA_Obj T );
00039 FLA_Error FLA_Tridiag_UT_l_step_unb_var2( FLA_Obj A, FLA_Obj T );
00040 
00041 FLA_Error FLA_Tridiag_UT_l_unb_var3( FLA_Obj A, FLA_Obj T );
00042 FLA_Error FLA_Tridiag_UT_l_blk_var3( FLA_Obj A, FLA_Obj T );
00043 FLA_Error FLA_Tridiag_UT_l_step_unb_var3( FLA_Obj A, FLA_Obj Z, FLA_Obj T );
00044 
00045 FLA_Error FLA_Tridiag_UT_l_opt_var1( FLA_Obj A, FLA_Obj T );
00046 FLA_Error FLA_Tridiag_UT_l_step_opt_var1( FLA_Obj A, FLA_Obj T );
00047 FLA_Error FLA_Tridiag_UT_l_step_ops_var1( int m_A,
00048                                           int m_T,
00049                                           float* buff_A, int rs_A, int cs_A, 
00050                                           float* buff_T, int rs_T, int cs_T );
00051 FLA_Error FLA_Tridiag_UT_l_step_opd_var1( int m_A,
00052                                           int m_T,
00053                                           double* buff_A, int rs_A, int cs_A, 
00054                                           double* buff_T, int rs_T, int cs_T );
00055 FLA_Error FLA_Tridiag_UT_l_step_opc_var1( int m_A,
00056                                           int m_T,
00057                                           scomplex* buff_A, int rs_A, int cs_A, 
00058                                           scomplex* buff_T, int rs_T, int cs_T );
00059 FLA_Error FLA_Tridiag_UT_l_step_opz_var1( int m_A,
00060                                           int m_T,
00061                                           dcomplex* buff_A, int rs_A, int cs_A, 
00062                                           dcomplex* buff_T, int rs_T, int cs_T );
00063 
00064 FLA_Error FLA_Tridiag_UT_l_opt_var2( FLA_Obj A, FLA_Obj T );
00065 FLA_Error FLA_Tridiag_UT_l_step_opt_var2( FLA_Obj A, FLA_Obj T );
00066 FLA_Error FLA_Tridiag_UT_l_step_ops_var2( int m_A,
00067                                           int m_T,
00068                                           float* buff_A, int rs_A, int cs_A, 
00069                                           float* buff_T, int rs_T, int cs_T );
00070 FLA_Error FLA_Tridiag_UT_l_step_opd_var2( int m_A,
00071                                           int m_T,
00072                                           double* buff_A, int rs_A, int cs_A, 
00073                                           double* buff_T, int rs_T, int cs_T );
00074 FLA_Error FLA_Tridiag_UT_l_step_opc_var2( int m_A,
00075                                           int m_T,
00076                                           scomplex* buff_A, int rs_A, int cs_A, 
00077                                           scomplex* buff_T, int rs_T, int cs_T );
00078 FLA_Error FLA_Tridiag_UT_l_step_opz_var2( int m_A,
00079                                           int m_T,
00080                                           dcomplex* buff_A, int rs_A, int cs_A, 
00081                                           dcomplex* buff_T, int rs_T, int cs_T );
00082 
00083 FLA_Error FLA_Tridiag_UT_l_opt_var3( FLA_Obj A, FLA_Obj T );
00084 FLA_Error FLA_Tridiag_UT_l_step_opt_var3( FLA_Obj A, FLA_Obj Z, FLA_Obj T );
00085 FLA_Error FLA_Tridiag_UT_l_step_ops_var3( int m_A,
00086                                           int m_T,
00087                                           float* buff_A, int rs_A, int cs_A, 
00088                                           float* buff_Z, int rs_Z, int cs_Z, 
00089                                           float* buff_T, int rs_T, int cs_T );
00090 FLA_Error FLA_Tridiag_UT_l_step_opd_var3( int m_A,
00091                                           int m_T,
00092                                           double* buff_A, int rs_A, int cs_A, 
00093                                           double* buff_Z, int rs_Z, int cs_Z, 
00094                                           double* buff_T, int rs_T, int cs_T );
00095 FLA_Error FLA_Tridiag_UT_l_step_opc_var3( int m_A,
00096                                           int m_T,
00097                                           scomplex* buff_A, int rs_A, int cs_A, 
00098                                           scomplex* buff_Z, int rs_Z, int cs_Z, 
00099                                           scomplex* buff_T, int rs_T, int cs_T );
00100 FLA_Error FLA_Tridiag_UT_l_step_opz_var3( int m_A,
00101                                           int m_T,
00102                                           dcomplex* buff_A, int rs_A, int cs_A, 
00103                                           dcomplex* buff_Z, int rs_Z, int cs_Z, 
00104                                           dcomplex* buff_T, int rs_T, int cs_T );
00105 
00106 FLA_Error FLA_Tridiag_UT_l_ofu_var1( FLA_Obj A, FLA_Obj T );
00107 FLA_Error FLA_Tridiag_UT_l_step_ofu_var1( FLA_Obj A, FLA_Obj T );
00108 FLA_Error FLA_Tridiag_UT_l_step_ofs_var1( int m_A,
00109                                           int m_T,
00110                                           float* buff_A, int rs_A, int cs_A, 
00111                                           float* buff_T, int rs_T, int cs_T );
00112 FLA_Error FLA_Tridiag_UT_l_step_ofd_var1( int m_A,
00113                                           int m_T,
00114                                           double* buff_A, int rs_A, int cs_A, 
00115                                           double* buff_T, int rs_T, int cs_T );
00116 FLA_Error FLA_Tridiag_UT_l_step_ofc_var1( int m_A,
00117                                           int m_T,
00118                                           scomplex* buff_A, int rs_A, int cs_A, 
00119                                           scomplex* buff_T, int rs_T, int cs_T );
00120 FLA_Error FLA_Tridiag_UT_l_step_ofz_var1( int m_A,
00121                                           int m_T,
00122                                           dcomplex* buff_A, int rs_A, int cs_A, 
00123                                           dcomplex* buff_T, int rs_T, int cs_T );
00124 
00125 FLA_Error FLA_Tridiag_UT_l_ofu_var2( FLA_Obj A, FLA_Obj T );
00126 FLA_Error FLA_Tridiag_UT_l_step_ofu_var2( FLA_Obj A, FLA_Obj T );
00127 FLA_Error FLA_Tridiag_UT_l_step_ofs_var2( int m_A,
00128                                           int m_T,
00129                                           float* buff_A, int rs_A, int cs_A, 
00130                                           float* buff_T, int rs_T, int cs_T );
00131 FLA_Error FLA_Tridiag_UT_l_step_ofd_var2( int m_A,
00132                                           int m_T,
00133                                           double* buff_A, int rs_A, int cs_A, 
00134                                           double* buff_T, int rs_T, int cs_T );
00135 FLA_Error FLA_Tridiag_UT_l_step_ofc_var2( int m_A,
00136                                           int m_T,
00137                                           scomplex* buff_A, int rs_A, int cs_A, 
00138                                           scomplex* buff_T, int rs_T, int cs_T );
00139 FLA_Error FLA_Tridiag_UT_l_step_ofz_var2( int m_A,
00140                                           int m_T,
00141                                           dcomplex* buff_A, int rs_A, int cs_A, 
00142                                           dcomplex* buff_T, int rs_T, int cs_T );
00143 
00144 FLA_Error FLA_Tridiag_UT_l_ofu_var3( FLA_Obj A, FLA_Obj T );
00145 FLA_Error FLA_Tridiag_UT_l_step_ofu_var3( FLA_Obj A, FLA_Obj Z, FLA_Obj T );
00146 FLA_Error FLA_Tridiag_UT_l_step_ofs_var3( int m_A,
00147                                           int m_T,
00148                                           float* buff_A, int rs_A, int cs_A, 
00149                                           float* buff_Z, int rs_Z, int cs_Z,
00150                                           float* buff_T, int rs_T, int cs_T );
00151 FLA_Error FLA_Tridiag_UT_l_step_ofd_var3( int m_A,
00152                                           int m_T,
00153                                           double* buff_A, int rs_A, int cs_A, 
00154                                           double* buff_Z, int rs_Z, int cs_Z,
00155                                           double* buff_T, int rs_T, int cs_T );
00156 FLA_Error FLA_Tridiag_UT_l_step_ofc_var3( int m_A,
00157                                           int m_T,
00158                                           scomplex* buff_A, int rs_A, int cs_A, 
00159                                           scomplex* buff_Z, int rs_Z, int cs_Z,
00160                                           scomplex* buff_T, int rs_T, int cs_T );
00161 FLA_Error FLA_Tridiag_UT_l_step_ofz_var3( int m_A,
00162                                           int m_T,
00163                                           dcomplex* buff_A, int rs_A, int cs_A, 
00164                                           dcomplex* buff_Z, int rs_Z, int cs_Z,
00165                                           dcomplex* buff_T, int rs_T, int cs_T );
00166 
00167 // --- Fused operations ---
00168 
00169 FLA_Error FLA_Fused_Her2_Ax_opt_var1( FLA_Obj alpha, FLA_Obj u, FLA_Obj z, FLA_Obj A, FLA_Obj x, FLA_Obj w );
00170 FLA_Error FLA_Fused_Her2_Ax_ops_var1( int m_A,
00171                                       float* buff_alpha, 
00172                                       float* buff_u, int inc_u, 
00173                                       float* buff_z, int inc_z, 
00174                                       float* buff_A, int rs_A, int cs_A, 
00175                                       float* buff_x, int inc_x, 
00176                                       float* buff_w, int inc_w );
00177 FLA_Error FLA_Fused_Her2_Ax_opd_var1( int m_A,
00178                                       double* buff_alpha, 
00179                                       double* buff_u, int inc_u, 
00180                                       double* buff_z, int inc_z, 
00181                                       double* buff_A, int rs_A, int cs_A, 
00182                                       double* buff_x, int inc_x, 
00183                                       double* buff_w, int inc_w );
00184 FLA_Error FLA_Fused_Her2_Ax_opc_var1( int m_A,
00185                                       scomplex* buff_alpha, 
00186                                       scomplex* buff_u, int inc_u, 
00187                                       scomplex* buff_z, int inc_z, 
00188                                       scomplex* buff_A, int rs_A, int cs_A, 
00189                                       scomplex* buff_x, int inc_x, 
00190                                       scomplex* buff_w, int inc_w );
00191 FLA_Error FLA_Fused_Her2_Ax_opz_var1( int m_A,
00192                                       dcomplex* buff_alpha, 
00193                                       dcomplex* buff_u, int inc_u, 
00194                                       dcomplex* buff_z, int inc_z, 
00195                                       dcomplex* buff_A, int rs_A, int cs_A, 
00196                                       dcomplex* buff_x, int inc_x, 
00197                                       dcomplex* buff_w, int inc_w );
00198 
00199 FLA_Error FLA_Fused_UZhu_ZUhu_opt_var1( FLA_Obj delta, FLA_Obj U, FLA_Obj Z, FLA_Obj u, FLA_Obj w );
00200 FLA_Error FLA_Fused_UZhu_ZUhu_ops_var1( int m_U,
00201                                         int n_U,
00202                                         float* buff_delta, 
00203                                         float* buff_U, int rs_U, int cs_U, 
00204                                         float* buff_Z, int rs_Z, int cs_Z, 
00205                                         float* buff_u, int inc_u, 
00206                                         float* buff_w, int inc_w );
00207 FLA_Error FLA_Fused_UZhu_ZUhu_opd_var1( int m_U,
00208                                         int n_U,
00209                                         double* buff_delta, 
00210                                         double* buff_U, int rs_U, int cs_U, 
00211                                         double* buff_Z, int rs_Z, int cs_Z, 
00212                                         double* buff_u, int inc_u, 
00213                                         double* buff_w, int inc_w );
00214 FLA_Error FLA_Fused_UZhu_ZUhu_opc_var1( int m_U,
00215                                         int n_U,
00216                                         scomplex* buff_delta, 
00217                                         scomplex* buff_U, int rs_U, int cs_U, 
00218                                         scomplex* buff_Z, int rs_Z, int cs_Z, 
00219                                         scomplex* buff_u, int inc_u, 
00220                                         scomplex* buff_w, int inc_w );
00221 FLA_Error FLA_Fused_UZhu_ZUhu_opz_var1( int m_U,
00222                                         int n_U,
00223                                         dcomplex* buff_delta, 
00224                                         dcomplex* buff_U, int rs_U, int cs_U, 
00225                                         dcomplex* buff_Z, int rs_Z, int cs_Z, 
00226                                         dcomplex* buff_u, int inc_u, 
00227                                         dcomplex* buff_w, int inc_w );