libflame revision_anchor
Functions
FLA_Inv_scal_external.c File Reference

(r)

Functions

FLA_Error FLA_Inv_scal_external (FLA_Obj alpha, FLA_Obj A)
 

Function Documentation

◆ FLA_Inv_scal_external()

FLA_Error FLA_Inv_scal_external ( FLA_Obj  alpha,
FLA_Obj  A 
)
14{
15 FLA_Datatype datatype, dt_alpha;
16 int m_A, n_A;
17 int rs_A, cs_A;
19
22
23 if ( FLA_Obj_has_zero_dim( A ) ) return FLA_SUCCESS;
24
25 if ( FLA_Obj_equals( alpha, FLA_ONE ) ) return FLA_SUCCESS;
26
27 datatype = FLA_Obj_datatype( A );
28
29 m_A = FLA_Obj_length( A );
30 n_A = FLA_Obj_width( A );
33
35 dt_alpha = datatype;
36 else
38
40
41 switch ( datatype ){
42
43 case FLA_FLOAT:
44 {
45 float *buff_A = ( float * ) FLA_FLOAT_PTR( A );
46 float *buff_alpha = ( float * ) FLA_FLOAT_PTR( alpha );
47
49 m_A,
50 n_A,
52 buff_A, rs_A, cs_A );
53
54 break;
55 }
56
57 case FLA_DOUBLE:
58 {
59 double *buff_A = ( double * ) FLA_DOUBLE_PTR( A );
60 double *buff_alpha = ( double * ) FLA_DOUBLE_PTR( alpha );
61
63 m_A,
64 n_A,
66 buff_A, rs_A, cs_A );
67
68 break;
69 }
70
71 case FLA_COMPLEX:
72 {
73 if ( dt_alpha == FLA_COMPLEX )
74 {
77
79 m_A,
80 n_A,
82 buff_A, rs_A, cs_A );
83 }
84 else if ( dt_alpha == FLA_FLOAT )
85 {
87 float *buff_alpha = ( float * ) FLA_FLOAT_PTR( alpha );
88
90 m_A,
91 n_A,
93 buff_A, rs_A, cs_A );
94 }
95
96 break;
97 }
98
100 {
102 {
105
107 m_A,
108 n_A,
110 buff_A, rs_A, cs_A );
111 }
112 else if ( dt_alpha == FLA_DOUBLE )
113 {
115 double *buff_alpha = ( double * ) FLA_DOUBLE_PTR( alpha );
116
118 m_A,
119 n_A,
121 buff_A, rs_A, cs_A );
122 }
123
124 break;
125 }
126
127 }
128
129 return FLA_SUCCESS;
130}
FLA_Error FLA_Inv_scal_check(FLA_Obj alpha, FLA_Obj A)
Definition FLA_Inv_scal_check.c:13
FLA_Obj FLA_ONE
Definition FLA_Init.c:18
dim_t FLA_Obj_width(FLA_Obj obj)
Definition FLA_Query.c:123
FLA_Bool FLA_Obj_has_zero_dim(FLA_Obj A)
Definition FLA_Query.c:400
dim_t FLA_Obj_row_stride(FLA_Obj obj)
Definition FLA_Query.c:167
dim_t FLA_Obj_length(FLA_Obj obj)
Definition FLA_Query.c:116
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
FLA_Bool FLA_Obj_is_constant(FLA_Obj A)
Definition FLA_Query.c:290
FLA_Bool FLA_Obj_equals(FLA_Obj A, FLA_Obj B)
Definition FLA_Query.c:507
void FLA_Param_map_flame_to_blis_conj(FLA_Conj conj, conj1_t *blis_conj)
Definition FLA_Param.c:269
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
void bl1_sinvscalm(conj1_t conj, int m, int n, float *alpha, float *a, int a_rs, int a_cs)
Definition bl1_invscalm.c:13
void bl1_csinvscalm(conj1_t conj, int m, int n, float *alpha, scomplex *a, int a_rs, int a_cs)
Definition bl1_invscalm.c:117
void bl1_zdinvscalm(conj1_t conj, int m, int n, double *alpha, dcomplex *a, int a_rs, int a_cs)
Definition bl1_invscalm.c:221
void bl1_dinvscalm(conj1_t conj, int m, int n, double *alpha, double *a, int a_rs, int a_cs)
Definition bl1_invscalm.c:65
void bl1_cinvscalm(conj1_t conj, int m, int n, scomplex *alpha, scomplex *a, int a_rs, int a_cs)
Definition bl1_invscalm.c:169
void bl1_zinvscalm(conj1_t conj, int m, int n, dcomplex *alpha, dcomplex *a, int a_rs, int a_cs)
Definition bl1_invscalm.c:273
conj1_t
Definition blis_type_defs.h:80
Definition blis_type_defs.h:138
Definition blis_type_defs.h:133

References bl1_cinvscalm(), bl1_csinvscalm(), bl1_dinvscalm(), bl1_sinvscalm(), bl1_zdinvscalm(), bl1_zinvscalm(), FLA_Check_error_level(), FLA_Inv_scal_check(), FLA_Obj_col_stride(), FLA_Obj_datatype(), FLA_Obj_equals(), FLA_Obj_has_zero_dim(), FLA_Obj_is_constant(), FLA_Obj_length(), FLA_Obj_row_stride(), FLA_Obj_width(), FLA_ONE, FLA_Param_map_flame_to_blis_conj(), and i.

Referenced by FLA_Apply_H2_UT_r_unb_var1(), FLA_Chol_l_unb_var2(), FLA_Chol_l_unb_var3(), FLA_Chol_u_unb_var2(), FLA_Chol_u_unb_var3(), FLA_Eig_gest_il_unb_var1(), FLA_Eig_gest_il_unb_var2(), FLA_Eig_gest_il_unb_var3(), FLA_Eig_gest_il_unb_var4(), FLA_Eig_gest_il_unb_var5(), FLA_Eig_gest_iu_unb_var1(), FLA_Eig_gest_iu_unb_var2(), FLA_Eig_gest_iu_unb_var3(), FLA_Eig_gest_iu_unb_var4(), FLA_Eig_gest_iu_unb_var5(), FLA_Inv_scal(), FLA_LU_nopiv_unb_var3(), FLA_LU_nopiv_unb_var4(), FLA_LU_nopiv_unb_var5(), FLA_LU_piv_unb_var3(), FLA_LU_piv_unb_var3b(), FLA_LU_piv_unb_var4(), FLA_LU_piv_unb_var5(), FLA_Trinv_ln_unb_var1(), FLA_Trinv_ln_unb_var2(), FLA_Trinv_ln_unb_var3(), FLA_Trinv_un_unb_var1(), FLA_Trinv_un_unb_var2(), FLA_Trinv_un_unb_var3(), FLA_Trsm_lln_unb_var1(), FLA_Trsm_lln_unb_var2(), FLA_Trsm_llt_unb_var1(), FLA_Trsm_llt_unb_var2(), FLA_Trsm_lun_unb_var1(), FLA_Trsm_lun_unb_var2(), FLA_Trsm_lut_unb_var1(), FLA_Trsm_lut_unb_var2(), FLA_Trsm_rln_unb_var1(), FLA_Trsm_rln_unb_var2(), FLA_Trsm_rlt_unb_var1(), FLA_Trsm_rlt_unb_var2(), FLA_Trsm_run_unb_var1(), FLA_Trsm_run_unb_var2(), FLA_Trsm_rut_unb_var1(), and FLA_Trsm_rut_unb_var2().