libflame revision_anchor
Functions
FLA_Scalc_external.c File Reference

(r)

Functions

FLA_Error FLA_Scalc_external (FLA_Conj conj, FLA_Obj alpha, FLA_Obj A)
 

Function Documentation

◆ FLA_Scalc_external()

FLA_Error FLA_Scalc_external ( FLA_Conj  conj,
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
26 {
27 return FLA_SUCCESS;
28 }
29 else if ( FLA_Obj_equals( alpha, FLA_ZERO ) )
30 {
31 FLA_Set( FLA_ZERO, A );
32 return FLA_SUCCESS;
33 }
34
35 datatype = FLA_Obj_datatype( A );
36
37 m_A = FLA_Obj_length( A );
38 n_A = FLA_Obj_width( A );
41
43 dt_alpha = datatype;
44 else
46
48
49 switch ( datatype ){
50
51 case FLA_FLOAT:
52 {
53 float *buff_A = ( float * ) FLA_FLOAT_PTR( A );
54 float *buff_alpha = ( float * ) FLA_FLOAT_PTR( alpha );
55
57 m_A,
58 n_A,
60 buff_A, rs_A, cs_A );
61
62 break;
63 }
64
65 case FLA_DOUBLE:
66 {
67 double *buff_A = ( double * ) FLA_DOUBLE_PTR( A );
68 double *buff_alpha = ( double * ) FLA_DOUBLE_PTR( alpha );
69
71 m_A,
72 n_A,
74 buff_A, rs_A, cs_A );
75
76 break;
77 }
78
79 case FLA_COMPLEX:
80 {
81 if ( dt_alpha == FLA_COMPLEX )
82 {
85
87 m_A,
88 n_A,
90 buff_A, rs_A, cs_A );
91 }
92 else if ( dt_alpha == FLA_FLOAT )
93 {
95 float *buff_alpha = ( float * ) FLA_FLOAT_PTR( alpha );
96
98 m_A,
99 n_A,
101 buff_A, rs_A, cs_A );
102 }
103
104 break;
105 }
106
108 {
110 {
113
115 m_A,
116 n_A,
118 buff_A, rs_A, cs_A );
119 }
120 else if ( dt_alpha == FLA_DOUBLE )
121 {
123 double *buff_alpha = ( double * ) FLA_DOUBLE_PTR( alpha );
124
126 m_A,
127 n_A,
129 buff_A, rs_A, cs_A );
130 }
131
132 break;
133 }
134
135 }
136
137 return FLA_SUCCESS;
138}
FLA_Error FLA_Scalc_check(FLA_Conj conjalpha, FLA_Obj alpha, FLA_Obj A)
Definition FLA_Scalc_check.c:13
FLA_Obj FLA_ZERO
Definition FLA_Init.c:20
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
FLA_Error FLA_Set(FLA_Obj alpha, FLA_Obj A)
Definition FLA_Set.c:13
int i
Definition bl1_axmyv2.c:145
void bl1_zscalm(conj1_t conj, int m, int n, dcomplex *alpha, dcomplex *a, int a_rs, int a_cs)
Definition bl1_scalm.c:273
void bl1_csscalm(conj1_t conj, int m, int n, float *alpha, scomplex *a, int a_rs, int a_cs)
Definition bl1_scalm.c:117
void bl1_zdscalm(conj1_t conj, int m, int n, double *alpha, dcomplex *a, int a_rs, int a_cs)
Definition bl1_scalm.c:221
void bl1_cscalm(conj1_t conj, int m, int n, scomplex *alpha, scomplex *a, int a_rs, int a_cs)
Definition bl1_scalm.c:169
void bl1_sscalm(conj1_t conj, int m, int n, float *alpha, float *a, int a_rs, int a_cs)
Definition bl1_scalm.c:13
void bl1_dscalm(conj1_t conj, int m, int n, double *alpha, double *a, int a_rs, int a_cs)
Definition bl1_scalm.c:65
conj1_t
Definition blis_type_defs.h:80
Definition blis_type_defs.h:138
Definition blis_type_defs.h:133

References bl1_cscalm(), bl1_csscalm(), bl1_dscalm(), bl1_sscalm(), bl1_zdscalm(), bl1_zscalm(), FLA_Check_error_level(), 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(), FLA_Scalc_check(), FLA_Set(), FLA_ZERO, and i.

Referenced by FLA_Scalc(), FLA_Trmm_llc_unb_var1(), FLA_Trmm_llc_unb_var2(), FLA_Trmm_llh_unb_var1(), FLA_Trmm_llh_unb_var2(), FLA_Trmm_luc_unb_var1(), FLA_Trmm_luc_unb_var2(), FLA_Trmm_luh_unb_var1(), FLA_Trmm_luh_unb_var2(), FLA_Trmm_rlc_unb_var1(), FLA_Trmm_rlc_unb_var2(), FLA_Trmm_rlh_unb_var1(), FLA_Trmm_rlh_unb_var2(), FLA_Trmm_ruc_unb_var1(), FLA_Trmm_ruc_unb_var2(), FLA_Trmm_ruh_unb_var1(), and FLA_Trmm_ruh_unb_var2().