libflame revision_anchor
Functions
FLA_Chol_u_opt_var1.c File Reference

(r)

Functions

FLA_Error FLA_Chol_u_opt_var1 (FLA_Obj A)
 
FLA_Error FLA_Chol_u_ops_var1 (int mn_A, float *buff_A, int rs_A, int cs_A)
 
FLA_Error FLA_Chol_u_opd_var1 (int mn_A, double *buff_A, int rs_A, int cs_A)
 
FLA_Error FLA_Chol_u_opc_var1 (int mn_A, scomplex *buff_A, int rs_A, int cs_A)
 
FLA_Error FLA_Chol_u_opz_var1 (int mn_A, dcomplex *buff_A, int rs_A, int cs_A)
 

Function Documentation

◆ FLA_Chol_u_opc_var1()

FLA_Error FLA_Chol_u_opc_var1 ( int  mn_A,
scomplex buff_A,
int  rs_A,
int  cs_A 
)
179{
182 int i;
184
185 for ( i = 0; i < mn_A; ++i )
186 {
187 scomplex* A00 = buff_A + (0 )*cs_A + (0 )*rs_A;
188 scomplex* a01 = buff_A + (i )*cs_A + (0 )*rs_A;
189 scomplex* alpha11 = buff_A + (i )*cs_A + (i )*rs_A;
190
191 int mn_behind = i;
192
193 /*------------------------------------------------------------*/
194
195 // FLA_Trsv_external( FLA_UPPER_TRIANGULAR, FLA_CONJ_TRANSPOSE, FLA_NONUNIT_DIAG, A00, a01 );
199 mn_behind,
200 A00, rs_A, cs_A,
201 a01, rs_A );
202
203 // FLA_Dotcs_external( FLA_CONJUGATE, FLA_MINUS_ONE, a01, a01, FLA_ONE, alpha11 );
205 mn_behind,
206 buff_m1,
207 a01, rs_A,
208 a01, rs_A,
209 buff_1,
210 alpha11 );
211
212 // r_val = FLA_Sqrt( alpha11 );
213 // if ( r_val != FLA_SUCCESS )
214 // return ( FLA_Obj_length( A00 ) + 1 );
216 if ( e_val != FLA_SUCCESS ) return mn_behind;
217
218 /*------------------------------------------------------------*/
219
220 }
221
222 return FLA_SUCCESS;
223}
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_ctrsv(uplo1_t uplo, trans1_t trans, diag1_t diag, int m, scomplex *a, int a_rs, int a_cs, scomplex *x, int incx)
Definition bl1_trsv.c:99
@ BLIS1_UPPER_TRIANGULAR
Definition blis_type_defs.h:63
@ BLIS1_NONUNIT_DIAG
Definition blis_type_defs.h:74
@ BLIS1_CONJ_TRANSPOSE
Definition blis_type_defs.h:57
@ BLIS1_CONJUGATE
Definition blis_type_defs.h:82
Definition blis_type_defs.h:133

References bl1_cdots(), bl1_ctrsv(), BLIS1_CONJ_TRANSPOSE, BLIS1_CONJUGATE, BLIS1_NONUNIT_DIAG, BLIS1_UPPER_TRIANGULAR, FLA_MINUS_ONE, FLA_ONE, and i.

Referenced by FLA_Chol_u_opt_var1().

◆ FLA_Chol_u_opd_var1()

FLA_Error FLA_Chol_u_opd_var1 ( int  mn_A,
double buff_A,
int  rs_A,
int  cs_A 
)
129{
130 double* buff_1 = FLA_DOUBLE_PTR( FLA_ONE );
132 int i;
134
135 for ( i = 0; i < mn_A; ++i )
136 {
137 double* A00 = buff_A + (0 )*cs_A + (0 )*rs_A;
138 double* a01 = buff_A + (i )*cs_A + (0 )*rs_A;
139 double* alpha11 = buff_A + (i )*cs_A + (i )*rs_A;
140
141 int mn_behind = i;
142
143 /*------------------------------------------------------------*/
144
145 // FLA_Trsv_external( FLA_UPPER_TRIANGULAR, FLA_CONJ_TRANSPOSE, FLA_NONUNIT_DIAG, A00, a01 );
149 mn_behind,
150 A00, rs_A, cs_A,
151 a01, rs_A );
152
153 // FLA_Dotcs_external( FLA_CONJUGATE, FLA_MINUS_ONE, a01, a01, FLA_ONE, alpha11 );
155 mn_behind,
156 buff_m1,
157 a01, rs_A,
158 a01, rs_A,
159 buff_1,
160 alpha11 );
161
162 // r_val = FLA_Sqrt( alpha11 );
163 // if ( r_val != FLA_SUCCESS )
164 // return ( FLA_Obj_length( A00 ) + 1 );
166 if ( e_val != FLA_SUCCESS ) return mn_behind;
167
168 /*------------------------------------------------------------*/
169
170 }
171
172 return FLA_SUCCESS;
173}
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_dtrsv(uplo1_t uplo, trans1_t trans, diag1_t diag, int m, double *a, int a_rs, int a_cs, double *x, int incx)
Definition bl1_trsv.c:56

References bl1_ddots(), bl1_dtrsv(), BLIS1_CONJ_TRANSPOSE, BLIS1_CONJUGATE, BLIS1_NONUNIT_DIAG, BLIS1_UPPER_TRIANGULAR, FLA_MINUS_ONE, FLA_ONE, and i.

Referenced by FLA_Chol_u_opt_var1().

◆ FLA_Chol_u_ops_var1()

FLA_Error FLA_Chol_u_ops_var1 ( int  mn_A,
float buff_A,
int  rs_A,
int  cs_A 
)
79{
80 float* buff_1 = FLA_FLOAT_PTR( FLA_ONE );
82 int i;
84
85 for ( i = 0; i < mn_A; ++i )
86 {
87 float* A00 = buff_A + (0 )*cs_A + (0 )*rs_A;
88 float* a01 = buff_A + (i )*cs_A + (0 )*rs_A;
89 float* alpha11 = buff_A + (i )*cs_A + (i )*rs_A;
90
91 int mn_behind = i;
92
93 /*------------------------------------------------------------*/
94
95 // FLA_Trsv_external( FLA_UPPER_TRIANGULAR, FLA_CONJ_TRANSPOSE, FLA_NONUNIT_DIAG, A00, a01 );
100 A00, rs_A, cs_A,
101 a01, rs_A );
102
103 // FLA_Dotcs_external( FLA_CONJUGATE, FLA_MINUS_ONE, a01, a01, FLA_ONE, alpha11 );
105 mn_behind,
106 buff_m1,
107 a01, rs_A,
108 a01, rs_A,
109 buff_1,
110 alpha11 );
111
112 // r_val = FLA_Sqrt( alpha11 );
113 // if ( r_val != FLA_SUCCESS )
114 // return ( FLA_Obj_length( A00 ) + 1 );
116 if ( e_val != FLA_SUCCESS ) return mn_behind;
117
118 /*------------------------------------------------------------*/
119
120 }
121
122 return FLA_SUCCESS;
123}
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_strsv(uplo1_t uplo, trans1_t trans, diag1_t diag, int m, float *a, int a_rs, int a_cs, float *x, int incx)
Definition bl1_trsv.c:13

References bl1_sdots(), bl1_strsv(), BLIS1_CONJ_TRANSPOSE, BLIS1_CONJUGATE, BLIS1_NONUNIT_DIAG, BLIS1_UPPER_TRIANGULAR, FLA_MINUS_ONE, FLA_ONE, and i.

Referenced by FLA_Chol_u_opt_var1().

◆ FLA_Chol_u_opt_var1()

FLA_Error FLA_Chol_u_opt_var1 ( FLA_Obj  A)
16{
18 FLA_Datatype datatype;
19 int mn_A;
20 int rs_A, cs_A;
21
22 datatype = FLA_Obj_datatype( A );
23
27
28
29 switch ( datatype )
30 {
31 case FLA_FLOAT:
32 {
33 float* buff_A = FLA_FLOAT_PTR( A );
34
36 buff_A, rs_A, cs_A );
37
38 break;
39 }
40
41 case FLA_DOUBLE:
42 {
43 double* buff_A = FLA_DOUBLE_PTR( A );
44
46 buff_A, rs_A, cs_A );
47
48 break;
49 }
50
51 case FLA_COMPLEX:
52 {
54
56 buff_A, rs_A, cs_A );
57
58 break;
59 }
60
62 {
64
66 buff_A, rs_A, cs_A );
67
68 break;
69 }
70 }
71
72 return r_val;
73}
FLA_Error FLA_Chol_u_opc_var1(int mn_A, scomplex *buff_A, int rs_A, int cs_A)
Definition FLA_Chol_u_opt_var1.c:177
FLA_Error FLA_Chol_u_opz_var1(int mn_A, dcomplex *buff_A, int rs_A, int cs_A)
Definition FLA_Chol_u_opt_var1.c:227
FLA_Error FLA_Chol_u_ops_var1(int mn_A, float *buff_A, int rs_A, int cs_A)
Definition FLA_Chol_u_opt_var1.c:77
FLA_Error FLA_Chol_u_opd_var1(int mn_A, double *buff_A, int rs_A, int cs_A)
Definition FLA_Chol_u_opt_var1.c:127
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_u_opc_var1(), FLA_Chol_u_opd_var1(), FLA_Chol_u_ops_var1(), FLA_Chol_u_opz_var1(), FLA_Obj_col_stride(), FLA_Obj_datatype(), FLA_Obj_length(), FLA_Obj_row_stride(), and i.

Referenced by FLA_Chol_u().

◆ FLA_Chol_u_opz_var1()

FLA_Error FLA_Chol_u_opz_var1 ( int  mn_A,
dcomplex buff_A,
int  rs_A,
int  cs_A 
)
229{
232 int i;
234
235 for ( i = 0; i < mn_A; ++i )
236 {
237 dcomplex* A00 = buff_A + (0 )*cs_A + (0 )*rs_A;
238 dcomplex* a01 = buff_A + (i )*cs_A + (0 )*rs_A;
239 dcomplex* alpha11 = buff_A + (i )*cs_A + (i )*rs_A;
240
241 int mn_behind = i;
242
243 /*------------------------------------------------------------*/
244
245 // FLA_Trsv_external( FLA_UPPER_TRIANGULAR, FLA_CONJ_TRANSPOSE, FLA_NONUNIT_DIAG, A00, a01 );
249 mn_behind,
250 A00, rs_A, cs_A,
251 a01, rs_A );
252
253 // FLA_Dotcs_external( FLA_CONJUGATE, FLA_MINUS_ONE, a01, a01, FLA_ONE, alpha11 );
255 mn_behind,
256 buff_m1,
257 a01, rs_A,
258 a01, rs_A,
259 buff_1,
260 alpha11 );
261
262 // r_val = FLA_Sqrt( alpha11 );
263 // if ( r_val != FLA_SUCCESS )
264 // return ( FLA_Obj_length( A00 ) + 1 );
266 if ( e_val != FLA_SUCCESS ) return mn_behind;
267
268 /*------------------------------------------------------------*/
269
270 }
271
272 return FLA_SUCCESS;
273}
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_ztrsv(uplo1_t uplo, trans1_t trans, diag1_t diag, int m, dcomplex *a, int a_rs, int a_cs, dcomplex *x, int incx)
Definition bl1_trsv.c:177

References bl1_zdots(), bl1_ztrsv(), BLIS1_CONJ_TRANSPOSE, BLIS1_CONJUGATE, BLIS1_NONUNIT_DIAG, BLIS1_UPPER_TRIANGULAR, FLA_MINUS_ONE, FLA_ONE, and i.

Referenced by FLA_Chol_u_opt_var1().