libflame  revision_anchor
FLA_Tevd.h
Go to the documentation of this file.
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