libflame
revision_anchor
|
00001 /* 00002 00003 Copyright (C) 2014, The University of Texas at Austin 00004 00005 This file is part of libflame and is available under the 3-Clause 00006 BSD license, which can be found in the LICENSE file at the top-level 00007 directory, or at http://opensource.org/licenses/BSD-3-Clause 00008 00009 */ 00010 00011 #include "FLA_Tevd_n.h" 00012 #include "FLA_Tevd_v.h" 00013 00014 // --- MAC_Tevd_eigval_converged() --------------------------------------------- 00015 00016 #define MAC_Tevd_eigval_converged_ops( eps, safmin, d1, e1, d2 ) \ 00017 fabsf( e1 ) <= (eps) * sqrt( fabsf( d1 ) ) * sqrt( fabsf( d2 ) ) + (safmin) 00018 00019 #define MAC_Tevd_eigval_converged_opd( eps, safmin, d1, e1, d2 ) \ 00020 fabs( e1 ) <= (eps) * sqrt( fabs( d1 ) ) * sqrt( fabs( d2 ) ) + (safmin) 00021 00022 // --- MAC_Tevd_eigval_converged2() --------------------------------------------- 00023 00024 #define MAC_Tevd_eigval_converged2_ops( eps2, safmin, d1, e1, d2 ) \ 00025 (e1) * (e1) <= (eps2) * fabsf( (d1) * (d2) ) + (safmin) 00026 00027 #define MAC_Tevd_eigval_converged2_opd( eps2, safmin, d1, e1, d2 ) \ 00028 (e1) * (e1) <= (eps2) * fabs( (d1) * (d2) ) + (safmin) 00029 00030 FLA_Error FLA_Tevd( FLA_Evd_type jobz, FLA_Obj U, FLA_Obj d, FLA_Obj e, FLA_Obj l ); 00031