libflame revision_anchor
FLA_Max_abs_value_herm.c File Reference

(r)

Functions

FLA_Error FLA_Max_abs_value_herm (FLA_Uplo uplo, FLA_Obj A, FLA_Obj maxabs)
 

Function Documentation

◆ FLA_Max_abs_value_herm()

FLA_Error FLA_Max_abs_value_herm ( FLA_Uplo uplo,
FLA_Obj A,
FLA_Obj maxabs )
14{
15 FLA_Datatype datatype;
16 dim_t n_A;
17 dim_t rs_A, cs_A;
18 uplo1_t blis_uplo;
19
20 if ( FLA_Check_error_level() >= FLA_MIN_ERROR_CHECKING )
21 FLA_Max_abs_value_herm_check( uplo, A, maxabs );
22
23 datatype = FLA_Obj_datatype( A );
24
25 n_A = FLA_Obj_width( A );
26 rs_A = FLA_Obj_row_stride( A );
27 cs_A = FLA_Obj_col_stride( A );
28
29 FLA_Param_map_flame_to_blis_uplo( uplo, &blis_uplo );
30
31 switch ( datatype ){
32
33 case FLA_FLOAT:
34 {
35 float* buff_A = ( float * ) FLA_FLOAT_PTR( A );
36 float* buff_maxabs = ( float * ) FLA_FLOAT_PTR( maxabs );
37
38 bl1_smaxabsmr( blis_uplo,
39 n_A,
40 n_A,
41 buff_A, rs_A, cs_A,
42 buff_maxabs );
43
44 break;
45 }
46
47 case FLA_DOUBLE:
48 {
49 double* buff_A = ( double * ) FLA_DOUBLE_PTR( A );
50 double* buff_maxabs = ( double * ) FLA_DOUBLE_PTR( maxabs );
51
52 bl1_dmaxabsmr( blis_uplo,
53 n_A,
54 n_A,
55 buff_A, rs_A, cs_A,
56 buff_maxabs );
57
58 break;
59 }
60
61 case FLA_COMPLEX:
62 {
63 scomplex *buff_A = ( scomplex * ) FLA_COMPLEX_PTR( A );
64 float *buff_maxabs = ( float * ) FLA_FLOAT_PTR( maxabs );
65
66 bl1_cmaxabsmr( blis_uplo,
67 n_A,
68 n_A,
69 buff_A, rs_A, cs_A,
70 buff_maxabs );
71
72 break;
73 }
74
75 case FLA_DOUBLE_COMPLEX:
76 {
77 dcomplex *buff_A = ( dcomplex * ) FLA_DOUBLE_COMPLEX_PTR( A );
78 double *buff_maxabs = ( double * ) FLA_DOUBLE_PTR( maxabs );
79
80 bl1_zmaxabsmr( blis_uplo,
81 n_A,
82 n_A,
83 buff_A, rs_A, cs_A,
84 buff_maxabs );
85
86 break;
87 }
88
89 }
90
91 return FLA_SUCCESS;
92}
FLA_Error FLA_Max_abs_value_herm_check(FLA_Uplo uplo, FLA_Obj A, FLA_Obj maxabs)
Definition FLA_Max_abs_value_herm_check.c:13
dim_t FLA_Obj_width(FLA_Obj obj)
Definition FLA_Query.c:123
dim_t FLA_Obj_row_stride(FLA_Obj obj)
Definition FLA_Query.c:167
dim_t FLA_Obj_col_stride(FLA_Obj obj)
Definition FLA_Query.c:174
unsigned int FLA_Check_error_level(void)
Definition FLA_Check.c:18
void FLA_Param_map_flame_to_blis_uplo(FLA_Uplo uplo, uplo1_t *blis_uplo)
Definition FLA_Param.c:285
FLA_Datatype FLA_Obj_datatype(FLA_Obj obj)
Definition FLA_Query.c:13
int FLA_Datatype
Definition FLA_type_defs.h:49
unsigned long dim_t
Definition FLA_type_defs.h:71
void bl1_cmaxabsmr(uplo1_t uplo, int m, int n, scomplex *a, int a_rs, int a_cs, float *maxabs)
Definition bl1_maxabsmr.c:143
void bl1_zmaxabsmr(uplo1_t uplo, int m, int n, dcomplex *a, int a_rs, int a_cs, double *maxabs)
Definition bl1_maxabsmr.c:208
void bl1_smaxabsmr(uplo1_t uplo, int m, int n, float *a, int a_rs, int a_cs, float *maxabs)
Definition bl1_maxabsmr.c:13
void bl1_dmaxabsmr(uplo1_t uplo, int m, int n, double *a, int a_rs, int a_cs, double *maxabs)
Definition bl1_maxabsmr.c:78
uplo1_t
Definition blis_type_defs.h:61
Definition blis_type_defs.h:138
Definition blis_type_defs.h:133

References bl1_cmaxabsmr(), bl1_dmaxabsmr(), bl1_smaxabsmr(), bl1_zmaxabsmr(), FLA_Check_error_level(), FLA_Max_abs_value_herm_check(), FLA_Obj_col_stride(), FLA_Obj_datatype(), FLA_Obj_row_stride(), FLA_Obj_width(), and FLA_Param_map_flame_to_blis_uplo().

Referenced by FLA_Hevd_compute_scaling().