libflame revision_anchor
Functions
FLA_Chol_l_opt_var2.c File Reference

(r)

Functions

FLA_Error FLA_Chol_l_opt_var2 (FLA_Obj A)
 
FLA_Error FLA_Chol_l_ops_var2 (int mn_A, float *buff_A, int rs_A, int cs_A)
 
FLA_Error FLA_Chol_l_opd_var2 (int mn_A, double *buff_A, int rs_A, int cs_A)
 
FLA_Error FLA_Chol_l_opc_var2 (int mn_A, scomplex *buff_A, int rs_A, int cs_A)
 
FLA_Error FLA_Chol_l_opz_var2 (int mn_A, dcomplex *buff_A, int rs_A, int cs_A)
 

Function Documentation

◆ FLA_Chol_l_opc_var2()

FLA_Error FLA_Chol_l_opc_var2 ( int  mn_A,
scomplex buff_A,
int  rs_A,
int  cs_A 
)
199{
202 int i;
204
205 for ( i = 0; i < mn_A; ++i )
206 {
207 scomplex* a10t = buff_A + (0 )*cs_A + (i )*rs_A;
208 scomplex* A20 = buff_A + (0 )*cs_A + (i+1)*rs_A;
209 scomplex* alpha11 = buff_A + (i )*cs_A + (i )*rs_A;
210 scomplex* a21 = buff_A + (i )*cs_A + (i+1)*rs_A;
211
212 int mn_ahead = mn_A - i - 1;
213 int mn_behind = i;
214
215 /*------------------------------------------------------------*/
216
217 // FLA_Dotcs_external( FLA_CONJUGATE, FLA_MINUS_ONE, a10t, a10t, FLA_ONE, alpha11 );
219 mn_behind,
220 buff_m1,
221 a10t, cs_A,
222 a10t, cs_A,
223 buff_1,
224 alpha11 );
225
226 // FLA_Gemvc_external( FLA_NO_TRANSPOSE, FLA_CONJUGATE, FLA_MINUS_ONE, A20, a10t, FLA_ONE, a21 );
229 mn_ahead,
230 mn_behind,
231 buff_m1,
232 A20, rs_A, cs_A,
233 a10t, cs_A,
234 buff_1,
235 a21, rs_A );
236
237 // r_val = FLA_Sqrt( alpha11 );
238 // if ( r_val != FLA_SUCCESS )
239 // return ( FLA_Obj_length( A00 ) + 1 );
241 if ( e_val != FLA_SUCCESS ) return mn_behind;
242
243 // FLA_Inv_scal_external( alpha11, a21 );
245 mn_ahead,
246 alpha11,
247 a21, rs_A );
248
249 /*------------------------------------------------------------*/
250
251 }
252
253 return FLA_SUCCESS;
254}
FLA_Obj FLA_MINUS_ONE
Definition FLA_Init.c:22
FLA_Obj FLA_ONE
Definition FLA_Init.c:18
int FLA_Error
Definition FLA_type_defs.h:47
int i
Definition bl1_axmyv2.c:145
void bl1_cdots(conj1_t conj, int n, scomplex *alpha, scomplex *x, int incx, scomplex *y, int incy, scomplex *beta, scomplex *rho)
Definition bl1_dots.c:39
void bl1_cgemv(trans1_t transa, conj1_t conjx, int m, int n, scomplex *alpha, scomplex *a, int a_rs, int a_cs, scomplex *x, int incx, scomplex *beta, scomplex *y, int incy)
Definition bl1_gemv.c:125
void bl1_cinvscalv(conj1_t conj, int n, scomplex *alpha, scomplex *x, int incx)
Definition bl1_invscalv.c:52
@ BLIS1_NO_TRANSPOSE
Definition blis_type_defs.h:54
@ BLIS1_CONJUGATE
Definition blis_type_defs.h:82
@ BLIS1_NO_CONJUGATE
Definition blis_type_defs.h:81
Definition blis_type_defs.h:133

References bl1_cdots(), bl1_cgemv(), bl1_cinvscalv(), BLIS1_CONJUGATE, BLIS1_NO_CONJUGATE, BLIS1_NO_TRANSPOSE, FLA_MINUS_ONE, FLA_ONE, and i.

Referenced by FLA_Chol_l_opt_var2().

◆ FLA_Chol_l_opd_var2()

FLA_Error FLA_Chol_l_opd_var2 ( int  mn_A,
double buff_A,
int  rs_A,
int  cs_A 
)
138{
139 double* buff_1 = FLA_DOUBLE_PTR( FLA_ONE );
141 int i;
143
144 for ( i = 0; i < mn_A; ++i )
145 {
146 double* a10t = buff_A + (0 )*cs_A + (i )*rs_A;
147 double* A20 = buff_A + (0 )*cs_A + (i+1)*rs_A;
148 double* alpha11 = buff_A + (i )*cs_A + (i )*rs_A;
149 double* a21 = buff_A + (i )*cs_A + (i+1)*rs_A;
150
151 int mn_ahead = mn_A - i - 1;
152 int mn_behind = i;
153
154 /*------------------------------------------------------------*/
155
156 // FLA_Dotcs_external( FLA_CONJUGATE, FLA_MINUS_ONE, a10t, a10t, FLA_ONE, alpha11 );
158 mn_behind,
159 buff_m1,
160 a10t, cs_A,
161 a10t, cs_A,
162 buff_1,
163 alpha11 );
164
165 // FLA_Gemvc_external( FLA_NO_TRANSPOSE, FLA_CONJUGATE, FLA_MINUS_ONE, A20, a10t, FLA_ONE, a21 );
168 mn_ahead,
169 mn_behind,
170 buff_m1,
171 A20, rs_A, cs_A,
172 a10t, cs_A,
173 buff_1,
174 a21, rs_A );
175
176 // r_val = FLA_Sqrt( alpha11 );
177 // if ( r_val != FLA_SUCCESS )
178 // return ( FLA_Obj_length( A00 ) + 1 );
180 if ( e_val != FLA_SUCCESS ) return mn_behind;
181
182 // FLA_Inv_scal_external( alpha11, a21 );
184 mn_ahead,
185 alpha11,
186 a21, rs_A );
187
188 /*------------------------------------------------------------*/
189
190 }
191
192 return FLA_SUCCESS;
193}
void bl1_ddots(conj1_t conj, int n, double *alpha, double *x, int incx, double *y, int incy, double *beta, double *rho)
Definition bl1_dots.c:26
void bl1_dgemv(trans1_t transa, conj1_t conjx, int m, int n, double *alpha, double *a, int a_rs, int a_cs, double *x, int incx, double *beta, double *y, int incy)
Definition bl1_gemv.c:69
void bl1_dinvscalv(conj1_t conj, int n, double *alpha, double *x, int incx)
Definition bl1_invscalv.c:26

References bl1_ddots(), bl1_dgemv(), bl1_dinvscalv(), BLIS1_CONJUGATE, BLIS1_NO_CONJUGATE, BLIS1_NO_TRANSPOSE, FLA_MINUS_ONE, FLA_ONE, and i.

Referenced by FLA_Chol_l_opt_var2().

◆ FLA_Chol_l_ops_var2()

FLA_Error FLA_Chol_l_ops_var2 ( int  mn_A,
float buff_A,
int  rs_A,
int  cs_A 
)
77{
78 float* buff_1 = FLA_FLOAT_PTR( FLA_ONE );
80 int i;
82
83 for ( i = 0; i < mn_A; ++i )
84 {
85 float* a10t = buff_A + (0 )*cs_A + (i )*rs_A;
86 float* A20 = buff_A + (0 )*cs_A + (i+1)*rs_A;
87 float* alpha11 = buff_A + (i )*cs_A + (i )*rs_A;
88 float* a21 = buff_A + (i )*cs_A + (i+1)*rs_A;
89
90 int mn_ahead = mn_A - i - 1;
91 int mn_behind = i;
92
93 /*------------------------------------------------------------*/
94
95 // FLA_Dotcs_external( FLA_CONJUGATE, FLA_MINUS_ONE, a10t, a10t, FLA_ONE, alpha11 );
98 buff_m1,
99 a10t, cs_A,
100 a10t, cs_A,
101 buff_1,
102 alpha11 );
103
104 // FLA_Gemvc_external( FLA_NO_TRANSPOSE, FLA_CONJUGATE, FLA_MINUS_ONE, A20, a10t, FLA_ONE, a21 );
107 mn_ahead,
108 mn_behind,
109 buff_m1,
110 A20, rs_A, cs_A,
111 a10t, cs_A,
112 buff_1,
113 a21, rs_A );
114
115 // r_val = FLA_Sqrt( alpha11 );
116 // if ( r_val != FLA_SUCCESS )
117 // return ( FLA_Obj_length( A00 ) + 1 );
119 if ( e_val != FLA_SUCCESS ) return mn_behind;
120
121 // FLA_Inv_scal_external( alpha11, a21 );
123 mn_ahead,
124 alpha11,
125 a21, rs_A );
126
127 /*------------------------------------------------------------*/
128
129 }
130
131 return FLA_SUCCESS;
132}
void bl1_sdots(conj1_t conj, int n, float *alpha, float *x, int incx, float *y, int incy, float *beta, float *rho)
Definition bl1_dots.c:13
void bl1_sgemv(trans1_t transa, conj1_t conjx, int m, int n, float *alpha, float *a, int a_rs, int a_cs, float *x, int incx, float *beta, float *y, int incy)
Definition bl1_gemv.c:13
void bl1_sinvscalv(conj1_t conj, int n, float *alpha, float *x, int incx)
Definition bl1_invscalv.c:13

References bl1_sdots(), bl1_sgemv(), bl1_sinvscalv(), BLIS1_CONJUGATE, BLIS1_NO_CONJUGATE, BLIS1_NO_TRANSPOSE, FLA_MINUS_ONE, FLA_ONE, and i.

Referenced by FLA_Chol_l_opt_var2().

◆ FLA_Chol_l_opt_var2()

FLA_Error FLA_Chol_l_opt_var2 ( FLA_Obj  A)
14{
16 FLA_Datatype datatype;
17 int mn_A;
18 int rs_A, cs_A;
19
20 datatype = FLA_Obj_datatype( A );
21
25
26
27 switch ( datatype )
28 {
29 case FLA_FLOAT:
30 {
31 float* buff_A = FLA_FLOAT_PTR( A );
32
34 buff_A, rs_A, cs_A );
35
36 break;
37 }
38
39 case FLA_DOUBLE:
40 {
41 double* buff_A = FLA_DOUBLE_PTR( A );
42
44 buff_A, rs_A, cs_A );
45
46 break;
47 }
48
49 case FLA_COMPLEX:
50 {
52
54 buff_A, rs_A, cs_A );
55
56 break;
57 }
58
60 {
62
64 buff_A, rs_A, cs_A );
65
66 break;
67 }
68 }
69
70 return r_val;
71}
FLA_Error FLA_Chol_l_opz_var2(int mn_A, dcomplex *buff_A, int rs_A, int cs_A)
Definition FLA_Chol_l_opt_var2.c:258
FLA_Error FLA_Chol_l_opc_var2(int mn_A, scomplex *buff_A, int rs_A, int cs_A)
Definition FLA_Chol_l_opt_var2.c:197
FLA_Error FLA_Chol_l_ops_var2(int mn_A, float *buff_A, int rs_A, int cs_A)
Definition FLA_Chol_l_opt_var2.c:75
FLA_Error FLA_Chol_l_opd_var2(int mn_A, double *buff_A, int rs_A, int cs_A)
Definition FLA_Chol_l_opt_var2.c:136
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_Chol_l_opc_var2(), FLA_Chol_l_opd_var2(), FLA_Chol_l_ops_var2(), FLA_Chol_l_opz_var2(), FLA_Obj_col_stride(), FLA_Obj_datatype(), FLA_Obj_length(), FLA_Obj_row_stride(), and i.

Referenced by FLA_Chol_l().

◆ FLA_Chol_l_opz_var2()

FLA_Error FLA_Chol_l_opz_var2 ( int  mn_A,
dcomplex buff_A,
int  rs_A,
int  cs_A 
)
260{
263 int i;
265
266 for ( i = 0; i < mn_A; ++i )
267 {
268 dcomplex* a10t = buff_A + (0 )*cs_A + (i )*rs_A;
269 dcomplex* A20 = buff_A + (0 )*cs_A + (i+1)*rs_A;
270 dcomplex* alpha11 = buff_A + (i )*cs_A + (i )*rs_A;
271 dcomplex* a21 = buff_A + (i )*cs_A + (i+1)*rs_A;
272
273 int mn_ahead = mn_A - i - 1;
274 int mn_behind = i;
275
276 /*------------------------------------------------------------*/
277
278 // FLA_Dotcs_external( FLA_CONJUGATE, FLA_MINUS_ONE, a10t, a10t, FLA_ONE, alpha11 );
280 mn_behind,
281 buff_m1,
282 a10t, cs_A,
283 a10t, cs_A,
284 buff_1,
285 alpha11 );
286
287 // FLA_Gemvc_external( FLA_NO_TRANSPOSE, FLA_CONJUGATE, FLA_MINUS_ONE, A20, a10t, FLA_ONE, a21 );
290 mn_ahead,
291 mn_behind,
292 buff_m1,
293 A20, rs_A, cs_A,
294 a10t, cs_A,
295 buff_1,
296 a21, rs_A );
297
298 // r_val = FLA_Sqrt( alpha11 );
299 // if ( r_val != FLA_SUCCESS )
300 // return ( FLA_Obj_length( A00 ) + 1 );
302 if ( e_val != FLA_SUCCESS ) return mn_behind;
303
304 // FLA_Inv_scal_external( alpha11, a21 );
306 mn_ahead,
307 alpha11,
308 a21, rs_A );
309
310 /*------------------------------------------------------------*/
311
312 }
313
314 return FLA_SUCCESS;
315}
void bl1_zdots(conj1_t conj, int n, dcomplex *alpha, dcomplex *x, int incx, dcomplex *y, int incy, dcomplex *beta, dcomplex *rho)
Definition bl1_dots.c:56
void bl1_zgemv(trans1_t transa, conj1_t conjx, int m, int n, dcomplex *alpha, dcomplex *a, int a_rs, int a_cs, dcomplex *x, int incx, dcomplex *beta, dcomplex *y, int incy)
Definition bl1_gemv.c:255
void bl1_zinvscalv(conj1_t conj, int n, dcomplex *alpha, dcomplex *x, int incx)
Definition bl1_invscalv.c:78

References bl1_zdots(), bl1_zgemv(), bl1_zinvscalv(), BLIS1_CONJUGATE, BLIS1_NO_CONJUGATE, BLIS1_NO_TRANSPOSE, FLA_MINUS_ONE, FLA_ONE, and i.

Referenced by FLA_Chol_l_opt_var2().