libflame  revision_anchor
FLA_Bsvd_sinval_v.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 // --- MAC_Bsvd_sinval_is_converged() ------------------------------------------
00034 
00035 #define MAC_Bsvd_sinval_is_converged_ops( tol, d1, e1 ) \
00036     fabsf( (e1) ) <= fabsf( (tol) * (d1) )
00037 
00038 #define MAC_Bsvd_sinval_is_converged_opd( tol, d1, e1 ) \
00039     fabs(  (e1) ) <= fabs(  (tol) * (d1) )
00040 
00041 // --- FLA_Bsvd_sinval_v_opt_var1() --------------------------------------------
00042 
00043 FLA_Error FLA_Bsvd_sinval_v_opt_var1( FLA_Obj tol, FLA_Obj thresh, FLA_Obj G, FLA_Obj H, FLA_Obj d, FLA_Obj e, FLA_Obj n_iter );
00044 FLA_Error FLA_Bsvd_sinval_v_ops_var1( int       m_A,
00045                                       int       n_GH,
00046                                       int       n_iter_allowed,
00047                                       float     tol, 
00048                                       float     thresh, 
00049                                       scomplex* buff_G, int rs_G, int cs_G,
00050                                       scomplex* buff_H, int rs_H, int cs_H,
00051                                       float*    buff_d, int inc_d, 
00052                                       float*    buff_e, int inc_e,
00053                                       int*      n_iter );
00054 FLA_Error FLA_Bsvd_sinval_v_opd_var1( int       m_A,
00055                                       int       n_GH,
00056                                       int       n_iter_allowed,
00057                                       double    tol, 
00058                                       double    thresh, 
00059                                       dcomplex* buff_G, int rs_G, int cs_G,
00060                                       dcomplex* buff_H, int rs_H, int cs_H,
00061                                       double*   buff_d, int inc_d, 
00062                                       double*   buff_e, int inc_e,
00063                                       int*      n_iter );
00064