libflame revision_anchor
Functions
FLA_Mach_params.c File Reference

(r)

Functions

FLA_Error FLA_Mach_params (FLA_Machval machval, FLA_Obj val)
 
float FLA_Mach_params_ops (FLA_Machval machval)
 
double FLA_Mach_params_opd (FLA_Machval machval)
 

Function Documentation

◆ FLA_Mach_params()

FLA_Error FLA_Mach_params ( FLA_Machval  machval,
FLA_Obj  val 
)
14{
15 FLA_Datatype datatype;
16
17 datatype = FLA_Obj_datatype( val );
18
21
22 switch ( datatype )
23 {
24 case FLA_FLOAT:
25 {
26 float* val_p = ( float* ) FLA_FLOAT_PTR( val );
27
29
30 break;
31 }
32
33 case FLA_DOUBLE:
34 {
35 double* val_p = ( double* ) FLA_DOUBLE_PTR( val );
36
38
39 break;
40 }
41 }
42
43 return FLA_SUCCESS;
44}
double FLA_Mach_params_opd(FLA_Machval machval)
Definition FLA_Mach_params.c:74
float FLA_Mach_params_ops(FLA_Machval machval)
Definition FLA_Mach_params.c:47
FLA_Error FLA_Mach_params_check(FLA_Machval machval, FLA_Obj val)
Definition FLA_Mach_params_check.c:13
unsigned int FLA_Check_error_level(void)
Definition FLA_Check.c:18
FLA_Datatype FLA_Obj_datatype(FLA_Obj obj)
Definition FLA_Query.c:13
int FLA_Datatype
Definition FLA_type_defs.h:49
int i
Definition bl1_axmyv2.c:145

References FLA_Check_error_level(), FLA_Mach_params_check(), FLA_Mach_params_opd(), FLA_Mach_params_ops(), FLA_Obj_datatype(), and i.

Referenced by FLA_Hevd_compute_scaling(), FLA_Hevdr_external(), and FLA_Svd_compute_scaling().

◆ FLA_Mach_params_opd()

double FLA_Mach_params_opd ( FLA_Machval  machval)
75{
76 static int first_time = TRUE;
77 static double vals[FLA_MACH_N_VALS];
78
79 if ( first_time )
80 {
81 char lapack_machval;
82 int i;
83
84 for( i = 0; i < FLA_MACH_N_VALS - 1; ++i )
85 {
87//printf( "querying %d %c\n", FLA_MACH_START + i, lapack_machval );
89//printf( "got back %34.29e\n", vals[i] );
90 }
91
92 // Store epsilon^2 in the last element.
93 vals[i] = vals[0] * vals[0];
94
95 first_time = FALSE;
96 }
97
98 return vals[ machval - FLA_MACH_START ];
99}
void FLA_Param_map_flame_to_netlib_machval(FLA_Machval machval, void *blas_machval)
Definition FLA_Param.c:195
doublereal fla_dlamch(char *cmach, ftnlen cmach_len)
Definition fla_dlamch.c:56

References fla_dlamch(), FLA_Param_map_flame_to_netlib_machval(), and i.

Referenced by FLA_Bsvd_compute_shift_opd(), FLA_Bsvd_compute_tol_thresh_opd(), FLA_Bsvd_ext_opd_var1(), FLA_Bsvd_ext_opz_var1(), FLA_Bsvd_v_opd_var1(), FLA_Bsvd_v_opd_var2(), FLA_Bsvd_v_opz_var1(), FLA_Bsvd_v_opz_var2(), FLA_Givens2_opd(), FLA_Mach_params(), FLA_Svv_2x2_opd(), FLA_Tevd_compute_scaling_opd(), FLA_Tevd_eigval_n_opd_var1(), FLA_Tevd_eigval_v_opd_var1(), FLA_Tevd_eigval_v_opd_var3(), FLA_Tevd_find_submatrix_opd(), FLA_Tevd_francis_n_opd_var1(), FLA_Tevd_francis_v_opd_var1(), and FLA_Tevd_n_opz_var1().

◆ FLA_Mach_params_ops()

float FLA_Mach_params_ops ( FLA_Machval  machval)
48{
49 static int first_time = TRUE;
50 static float vals[FLA_MACH_N_VALS];
51
52 if ( first_time )
53 {
54 char lapack_machval;
55 int i;
56
57 for( i = 0; i < FLA_MACH_N_VALS - 1; ++i )
58 {
60//printf( "querying %d %c\n", FLA_MACH_START + i, lapack_machval );
62//printf( "got back %34.29e\n", vals[i] );
63 }
64
65 // Store epsilon^2 in the last element.
66 vals[i] = vals[0] * vals[0];
67
68 first_time = FALSE;
69 }
70
71 return vals[ machval - FLA_MACH_START ];
72}
real fla_slamch(char *cmach, ftnlen cmach_len)
Definition fla_slamch.c:56

References FLA_Param_map_flame_to_netlib_machval(), fla_slamch(), and i.

Referenced by FLA_Bsvd_compute_shift_ops(), FLA_Bsvd_compute_tol_thresh_ops(), FLA_Bsvd_ext_opc_var1(), FLA_Bsvd_ext_ops_var1(), FLA_Bsvd_v_opc_var1(), FLA_Bsvd_v_ops_var1(), FLA_Mach_params(), FLA_Svv_2x2_ops(), and FLA_Tevd_compute_scaling_ops().