libflame  revision_anchor
Functions
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().