libflame  revision_anchor
Functions
FLA_Ttmm_u_opt_var1.c File Reference

(r)

Functions

FLA_Error FLA_Ttmm_u_opt_var1 (FLA_Obj A)
 
FLA_Error FLA_Ttmm_u_ops_var1 (int mn_A, float *buff_A, int rs_A, int cs_A)
 
FLA_Error FLA_Ttmm_u_opd_var1 (int mn_A, double *buff_A, int rs_A, int cs_A)
 
FLA_Error FLA_Ttmm_u_opc_var1 (int mn_A, scomplex *buff_A, int rs_A, int cs_A)
 
FLA_Error FLA_Ttmm_u_opz_var1 (int mn_A, dcomplex *buff_A, int rs_A, int cs_A)
 

Function Documentation

◆ FLA_Ttmm_u_opc_var1()

FLA_Error FLA_Ttmm_u_opc_var1 ( int  mn_A,
scomplex buff_A,
int  rs_A,
int  cs_A 
)
160 {
161  float* buff_1 = FLA_FLOAT_PTR( FLA_ONE );
162  int i;
163 
164  for ( i = 0; i < mn_A; ++i )
165  {
166  scomplex* A00 = buff_A + (0 )*cs_A + (0 )*rs_A;
167  scomplex* a01 = buff_A + (i )*cs_A + (0 )*rs_A;
168  scomplex* alpha11 = buff_A + (i )*cs_A + (i )*rs_A;
169 
170  int mn_behind = i;
171 
172  /*------------------------------------------------------------*/
173 
174  // FLA_Her_external( FLA_UPPER_TRIANGULAR, FLA_ONE, a01, A00 );
177  mn_behind,
178  buff_1,
179  a01, rs_A,
180  A00, rs_A, cs_A );
181 
182  // FLA_Scal_external( alpha11, a01 );
184  mn_behind,
185  alpha11,
186  a01, rs_A );
187 
188  // FLA_Absolute_square( alpha11 );
189  bl1_cabsqr( alpha11 );
190 
191  /*------------------------------------------------------------*/
192 
193  }
194 
195  return FLA_SUCCESS;
196 }
FLA_Obj FLA_ONE
Definition: FLA_Init.c:18
int i
Definition: bl1_axmyv2.c:145
void bl1_cher(uplo1_t uplo, conj1_t conj, int m, float *alpha, scomplex *x, int incx, scomplex *a, int a_rs, int a_cs)
Definition: bl1_her.c:31
void bl1_cscalv(conj1_t conj, int n, scomplex *alpha, scomplex *x, int incx)
Definition: bl1_scalv.c:46
@ BLIS1_UPPER_TRIANGULAR
Definition: blis_type_defs.h:63
@ BLIS1_NO_CONJUGATE
Definition: blis_type_defs.h:81
Definition: blis_type_defs.h:133

References bl1_cher(), bl1_cscalv(), BLIS1_NO_CONJUGATE, BLIS1_UPPER_TRIANGULAR, FLA_ONE, and i.

Referenced by FLA_Ttmm_u_opt_var1().

◆ FLA_Ttmm_u_opd_var1()

FLA_Error FLA_Ttmm_u_opd_var1 ( int  mn_A,
double *  buff_A,
int  rs_A,
int  cs_A 
)
119 {
120  double* buff_1 = FLA_DOUBLE_PTR( FLA_ONE );
121  int i;
122 
123  for ( i = 0; i < mn_A; ++i )
124  {
125  double* A00 = buff_A + (0 )*cs_A + (0 )*rs_A;
126  double* a01 = buff_A + (i )*cs_A + (0 )*rs_A;
127  double* alpha11 = buff_A + (i )*cs_A + (i )*rs_A;
128 
129  int mn_behind = i;
130 
131  /*------------------------------------------------------------*/
132 
133  // FLA_Her_external( FLA_UPPER_TRIANGULAR, FLA_ONE, a01, A00 );
135  mn_behind,
136  buff_1,
137  a01, rs_A,
138  A00, rs_A, cs_A );
139 
140  // FLA_Scal_external( alpha11, a01 );
142  mn_behind,
143  alpha11,
144  a01, rs_A );
145 
146  // FLA_Absolute_square( alpha11 );
147  bl1_dabsqr( alpha11 );
148 
149  /*------------------------------------------------------------*/
150 
151  }
152 
153  return FLA_SUCCESS;
154 }
void bl1_dscalv(conj1_t conj, int n, double *alpha, double *x, int incx)
Definition: bl1_scalv.c:24
void bl1_dsyr(uplo1_t uplo, int m, double *alpha, double *x, int incx, double *a, int a_rs, int a_cs)
Definition: bl1_syr.c:57

References bl1_dscalv(), bl1_dsyr(), BLIS1_NO_CONJUGATE, BLIS1_UPPER_TRIANGULAR, FLA_ONE, and i.

Referenced by FLA_Ttmm_u_opt_var1().

◆ FLA_Ttmm_u_ops_var1()

FLA_Error FLA_Ttmm_u_ops_var1 ( int  mn_A,
float *  buff_A,
int  rs_A,
int  cs_A 
)
78 {
79  float* buff_1 = FLA_FLOAT_PTR( FLA_ONE );
80  int i;
81 
82  for ( i = 0; i < mn_A; ++i )
83  {
84  float* A00 = buff_A + (0 )*cs_A + (0 )*rs_A;
85  float* a01 = buff_A + (i )*cs_A + (0 )*rs_A;
86  float* alpha11 = buff_A + (i )*cs_A + (i )*rs_A;
87 
88  int mn_behind = i;
89 
90  /*------------------------------------------------------------*/
91 
92  // FLA_Her_external( FLA_UPPER_TRIANGULAR, FLA_ONE, a01, A00 );
94  mn_behind,
95  buff_1,
96  a01, rs_A,
97  A00, rs_A, cs_A );
98 
99  // FLA_Scal_external( alpha11, a01 );
101  mn_behind,
102  alpha11,
103  a01, rs_A );
104 
105  // FLA_Absolute_square( alpha11 );
106  bl1_sabsqr( alpha11 );
107 
108  /*------------------------------------------------------------*/
109 
110  }
111 
112  return FLA_SUCCESS;
113 }
void bl1_sscalv(conj1_t conj, int n, float *alpha, float *x, int incx)
Definition: bl1_scalv.c:13
void bl1_ssyr(uplo1_t uplo, int m, float *alpha, float *x, int incx, float *a, int a_rs, int a_cs)
Definition: bl1_syr.c:13

References bl1_sscalv(), bl1_ssyr(), BLIS1_NO_CONJUGATE, BLIS1_UPPER_TRIANGULAR, FLA_ONE, and i.

Referenced by FLA_Ttmm_u_opt_var1().

◆ FLA_Ttmm_u_opt_var1()

FLA_Error FLA_Ttmm_u_opt_var1 ( FLA_Obj  A)
16 {
17  FLA_Datatype datatype;
18  int mn_A;
19  int rs_A, cs_A;
20 
21  datatype = FLA_Obj_datatype( A );
22 
23  mn_A = FLA_Obj_length( A );
24  rs_A = FLA_Obj_row_stride( A );
25  cs_A = FLA_Obj_col_stride( A );
26 
27 
28  switch ( datatype )
29  {
30  case FLA_FLOAT:
31  {
32  float* buff_A = FLA_FLOAT_PTR( A );
33 
34  FLA_Ttmm_u_ops_var1( mn_A,
35  buff_A, rs_A, cs_A );
36 
37  break;
38  }
39 
40  case FLA_DOUBLE:
41  {
42  double* buff_A = FLA_DOUBLE_PTR( A );
43 
44  FLA_Ttmm_u_opd_var1( mn_A,
45  buff_A, rs_A, cs_A );
46 
47  break;
48  }
49 
50  case FLA_COMPLEX:
51  {
52  scomplex* buff_A = FLA_COMPLEX_PTR( A );
53 
54  FLA_Ttmm_u_opc_var1( mn_A,
55  buff_A, rs_A, cs_A );
56 
57  break;
58  }
59 
60  case FLA_DOUBLE_COMPLEX:
61  {
62  dcomplex* buff_A = FLA_DOUBLE_COMPLEX_PTR( A );
63 
64  FLA_Ttmm_u_opz_var1( mn_A,
65  buff_A, rs_A, cs_A );
66 
67  break;
68  }
69  }
70 
71  return FLA_SUCCESS;
72 }
FLA_Error FLA_Ttmm_u_ops_var1(int mn_A, float *buff_A, int rs_A, int cs_A)
Definition: FLA_Ttmm_u_opt_var1.c:76
FLA_Error FLA_Ttmm_u_opd_var1(int mn_A, double *buff_A, int rs_A, int cs_A)
Definition: FLA_Ttmm_u_opt_var1.c:117
FLA_Error FLA_Ttmm_u_opz_var1(int mn_A, dcomplex *buff_A, int rs_A, int cs_A)
Definition: FLA_Ttmm_u_opt_var1.c:200
FLA_Error FLA_Ttmm_u_opc_var1(int mn_A, scomplex *buff_A, int rs_A, int cs_A)
Definition: FLA_Ttmm_u_opt_var1.c:158
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
FLA_Datatype FLA_Obj_datatype(FLA_Obj obj)
Definition: FLA_Query.c:13
int FLA_Datatype
Definition: FLA_type_defs.h:49
Definition: blis_type_defs.h:138

References FLA_Obj_col_stride(), FLA_Obj_datatype(), FLA_Obj_length(), FLA_Obj_row_stride(), FLA_Ttmm_u_opc_var1(), FLA_Ttmm_u_opd_var1(), FLA_Ttmm_u_ops_var1(), and FLA_Ttmm_u_opz_var1().

Referenced by FLA_Ttmm_u().

◆ FLA_Ttmm_u_opz_var1()

FLA_Error FLA_Ttmm_u_opz_var1 ( int  mn_A,
dcomplex buff_A,
int  rs_A,
int  cs_A 
)
202 {
203  double* buff_1 = FLA_DOUBLE_PTR( FLA_ONE );
204  int i;
205 
206  for ( i = 0; i < mn_A; ++i )
207  {
208  dcomplex* A00 = buff_A + (0 )*cs_A + (0 )*rs_A;
209  dcomplex* a01 = buff_A + (i )*cs_A + (0 )*rs_A;
210  dcomplex* alpha11 = buff_A + (i )*cs_A + (i )*rs_A;
211 
212  int mn_behind = i;
213 
214  /*------------------------------------------------------------*/
215 
216  // FLA_Her_external( FLA_UPPER_TRIANGULAR, FLA_ONE, a01, A00 );
219  mn_behind,
220  buff_1,
221  a01, rs_A,
222  A00, rs_A, cs_A );
223 
224  // FLA_Scal_external( alpha11, a01 );
226  mn_behind,
227  alpha11,
228  a01, rs_A );
229 
230  // FLA_Absolute_square( alpha11 );
231  bl1_zabsqr( alpha11 );
232 
233  /*------------------------------------------------------------*/
234 
235  }
236 
237  return FLA_SUCCESS;
238 }
void bl1_zher(uplo1_t uplo, conj1_t conj, int m, double *alpha, dcomplex *x, int incx, dcomplex *a, int a_rs, int a_cs)
Definition: bl1_her.c:101
void bl1_zscalv(conj1_t conj, int n, dcomplex *alpha, dcomplex *x, int incx)
Definition: bl1_scalv.c:72

References bl1_zher(), bl1_zscalv(), BLIS1_NO_CONJUGATE, BLIS1_UPPER_TRIANGULAR, FLA_ONE, and i.

Referenced by FLA_Ttmm_u_opt_var1().