libflame revision_anchor
Functions
FLA_QR_UT_opt_var1.c File Reference

(r)

Functions

FLA_Error FLA_QR_UT_opt_var1 (FLA_Obj A, FLA_Obj t)
 
FLA_Error FLA_QR_UT_ops_var1 (int m_A, int n_A, float *buff_A, int rs_A, int cs_A, float *buff_t, int inc_t)
 
FLA_Error FLA_QR_UT_opd_var1 (int m_A, int n_A, double *buff_A, int rs_A, int cs_A, double *buff_t, int inc_t)
 
FLA_Error FLA_QR_UT_opc_var1 (int m_A, int n_A, scomplex *buff_A, int rs_A, int cs_A, scomplex *buff_t, int inc_t)
 
FLA_Error FLA_QR_UT_opz_var1 (int m_A, int n_A, dcomplex *buff_A, int rs_A, int cs_A, dcomplex *buff_t, int inc_t)
 

Function Documentation

◆ FLA_QR_UT_opc_var1()

FLA_Error FLA_QR_UT_opc_var1 ( int  m_A,
int  n_A,
scomplex buff_A,
int  rs_A,
int  cs_A,
scomplex buff_t,
int  inc_t 
)
190{
191 int min_m_n = min( m_A, n_A );
192 int i;
193
194 for ( i = 0; i < min_m_n; ++i )
195 {
196 scomplex* alpha11 = buff_A + (i )*cs_A + (i )*rs_A;
197 scomplex* a21 = buff_A + (i )*cs_A + (i+1)*rs_A;
198 scomplex* a12t = buff_A + (i+1)*cs_A + (i )*rs_A;
199 scomplex* A22 = buff_A + (i+1)*cs_A + (i+1)*rs_A;
200
201 scomplex* tau1 = buff_t + (i )*inc_t;
202
203 int m_ahead = m_A - i - 1;
204 int n_ahead = n_A - i - 1;
205
206 /*------------------------------------------------------------*/
207
208 // FLA_Househ2_UT( FLA_LEFT,
209 // alpha11,
210 // a21, tau1 );
212 alpha11,
213 a21, rs_A,
214 tau1 );
215
216 // FLA_Apply_H2_UT( FLA_LEFT, tau1, a21, a12t,
217 // A22 );
219 n_ahead,
220 tau1,
221 a21, rs_A,
222 a12t, cs_A,
223 A22, rs_A, cs_A );
224
225 /*------------------------------------------------------------*/
226
227 }
228
229 return FLA_SUCCESS;
230}
FLA_Error FLA_Apply_H2_UT_l_opc_var1(int m_u2_A2, int n_a1t, scomplex *tau, scomplex *u2, int inc_u2, scomplex *a1t, int inc_a1t, scomplex *A2, int rs_A2, int cs_A2)
Definition FLA_Apply_H2_UT_l_opt_var1.c:269
FLA_Error FLA_Househ2_UT_l_opc(int m_x2, scomplex *chi_1, scomplex *x2, int inc_x2, scomplex *tau)
Definition FLA_Househ2_UT.c:390
int i
Definition bl1_axmyv2.c:145
Definition blis_type_defs.h:133

References FLA_Apply_H2_UT_l_opc_var1(), FLA_Househ2_UT_l_opc(), and i.

Referenced by FLA_QR_UT_opt_var1().

◆ FLA_QR_UT_opd_var1()

FLA_Error FLA_QR_UT_opd_var1 ( int  m_A,
int  n_A,
double buff_A,
int  rs_A,
int  cs_A,
double buff_t,
int  inc_t 
)
142{
143 int min_m_n = min( m_A, n_A );
144 int i;
145
146 for ( i = 0; i < min_m_n; ++i )
147 {
148 double* alpha11 = buff_A + (i )*cs_A + (i )*rs_A;
149 double* a21 = buff_A + (i )*cs_A + (i+1)*rs_A;
150 double* a12t = buff_A + (i+1)*cs_A + (i )*rs_A;
151 double* A22 = buff_A + (i+1)*cs_A + (i+1)*rs_A;
152
153 double* tau1 = buff_t + (i )*inc_t;
154
155 int m_ahead = m_A - i - 1;
156 int n_ahead = n_A - i - 1;
157
158 /*------------------------------------------------------------*/
159
160 // FLA_Househ2_UT( FLA_LEFT,
161 // alpha11,
162 // a21, tau1 );
164 alpha11,
165 a21, rs_A,
166 tau1 );
167
168 // FLA_Apply_H2_UT( FLA_LEFT, tau1, a21, a12t,
169 // A22 );
171 n_ahead,
172 tau1,
173 a21, rs_A,
174 a12t, cs_A,
175 A22, rs_A, cs_A );
176
177 /*------------------------------------------------------------*/
178
179 }
180
181 return FLA_SUCCESS;
182}
FLA_Error FLA_Apply_H2_UT_l_opd_var1(int m_u2_A2, int n_a1t, double *tau, double *u2, int inc_u2, double *a1t, int inc_a1t, double *A2, int rs_A2, int cs_A2)
Definition FLA_Apply_H2_UT_l_opt_var1.c:195
FLA_Error FLA_Househ2_UT_l_opd(int m_x2, double *chi_1, double *x2, int inc_x2, double *tau)
Definition FLA_Househ2_UT.c:274

References FLA_Apply_H2_UT_l_opd_var1(), FLA_Househ2_UT_l_opd(), and i.

Referenced by FLA_QR_UT_opt_var1().

◆ FLA_QR_UT_ops_var1()

FLA_Error FLA_QR_UT_ops_var1 ( int  m_A,
int  n_A,
float buff_A,
int  rs_A,
int  cs_A,
float buff_t,
int  inc_t 
)
94{
95 int min_m_n = min( m_A, n_A );
96 int i;
97
98 for ( i = 0; i < min_m_n; ++i )
99 {
100 float* alpha11 = buff_A + (i )*cs_A + (i )*rs_A;
101 float* a21 = buff_A + (i )*cs_A + (i+1)*rs_A;
102 float* a12t = buff_A + (i+1)*cs_A + (i )*rs_A;
103 float* A22 = buff_A + (i+1)*cs_A + (i+1)*rs_A;
104
105 float* tau1 = buff_t + (i )*inc_t;
106
107 int m_ahead = m_A - i - 1;
108 int n_ahead = n_A - i - 1;
109
110 /*------------------------------------------------------------*/
111
112 // FLA_Househ2_UT( FLA_LEFT,
113 // alpha11,
114 // a21, tau1 );
116 alpha11,
117 a21, rs_A,
118 tau1 );
119
120 // FLA_Apply_H2_UT( FLA_LEFT, tau1, a21, a12t,
121 // A22 );
123 n_ahead,
124 tau1,
125 a21, rs_A,
126 a12t, cs_A,
127 A22, rs_A, cs_A );
128
129 /*------------------------------------------------------------*/
130
131 }
132
133 return FLA_SUCCESS;
134}
FLA_Error FLA_Apply_H2_UT_l_ops_var1(int m_u2_A2, int n_a1t, float *tau, float *u2, int inc_u2, float *a1t, int inc_a1t, float *A2, int rs_A2, int cs_A2)
Definition FLA_Apply_H2_UT_l_opt_var1.c:121
FLA_Error FLA_Househ2_UT_l_ops(int m_x2, float *chi_1, float *x2, int inc_x2, float *tau)
Definition FLA_Househ2_UT.c:160

References FLA_Apply_H2_UT_l_ops_var1(), FLA_Househ2_UT_l_ops(), and i.

Referenced by FLA_QR_UT_opt_var1().

◆ FLA_QR_UT_opt_var1()

FLA_Error FLA_QR_UT_opt_var1 ( FLA_Obj  A,
FLA_Obj  t 
)
14{
15 FLA_Datatype datatype;
16 int m_A, n_A;
17 int rs_A, cs_A;
18 int inc_t;
19
20 datatype = FLA_Obj_datatype( A );
21
22 m_A = FLA_Obj_length( A );
23 n_A = FLA_Obj_width( A );
26
28
29
30 switch ( datatype )
31 {
32 case FLA_FLOAT:
33 {
34 float* buff_A = FLA_FLOAT_PTR( A );
35 float* buff_t = FLA_FLOAT_PTR( t );
36
38 n_A,
40 buff_t, inc_t );
41
42 break;
43 }
44
45 case FLA_DOUBLE:
46 {
47 double* buff_A = FLA_DOUBLE_PTR( A );
48 double* buff_t = FLA_DOUBLE_PTR( t );
49
51 n_A,
53 buff_t, inc_t );
54
55 break;
56 }
57
58 case FLA_COMPLEX:
59 {
62
64 n_A,
66 buff_t, inc_t );
67
68 break;
69 }
70
72 {
75
77 n_A,
79 buff_t, inc_t );
80
81 break;
82 }
83 }
84
85 return FLA_SUCCESS;
86}
FLA_Error FLA_QR_UT_opz_var1(int m_A, int n_A, dcomplex *buff_A, int rs_A, int cs_A, dcomplex *buff_t, int inc_t)
Definition FLA_QR_UT_opt_var1.c:234
FLA_Error FLA_QR_UT_opd_var1(int m_A, int n_A, double *buff_A, int rs_A, int cs_A, double *buff_t, int inc_t)
Definition FLA_QR_UT_opt_var1.c:138
FLA_Error FLA_QR_UT_opc_var1(int m_A, int n_A, scomplex *buff_A, int rs_A, int cs_A, scomplex *buff_t, int inc_t)
Definition FLA_QR_UT_opt_var1.c:186
FLA_Error FLA_QR_UT_ops_var1(int m_A, int n_A, float *buff_A, int rs_A, int cs_A, float *buff_t, int inc_t)
Definition FLA_QR_UT_opt_var1.c:90
dim_t FLA_Obj_width(FLA_Obj obj)
Definition FLA_Query.c:123
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
dim_t FLA_Obj_vector_inc(FLA_Obj obj)
Definition FLA_Query.c:145
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_Obj_vector_inc(), FLA_Obj_width(), FLA_QR_UT_opc_var1(), FLA_QR_UT_opd_var1(), FLA_QR_UT_ops_var1(), FLA_QR_UT_opz_var1(), and i.

Referenced by FLA_QR_UT_internal().

◆ FLA_QR_UT_opz_var1()

FLA_Error FLA_QR_UT_opz_var1 ( int  m_A,
int  n_A,
dcomplex buff_A,
int  rs_A,
int  cs_A,
dcomplex buff_t,
int  inc_t 
)
238{
239 int min_m_n = min( m_A, n_A );
240 int i;
241
242 for ( i = 0; i < min_m_n; ++i )
243 {
244 dcomplex* alpha11 = buff_A + (i )*cs_A + (i )*rs_A;
245 dcomplex* a21 = buff_A + (i )*cs_A + (i+1)*rs_A;
246 dcomplex* a12t = buff_A + (i+1)*cs_A + (i )*rs_A;
247 dcomplex* A22 = buff_A + (i+1)*cs_A + (i+1)*rs_A;
248
249 dcomplex* tau1 = buff_t + (i )*inc_t;
250
251 int m_ahead = m_A - i - 1;
252 int n_ahead = n_A - i - 1;
253
254 /*------------------------------------------------------------*/
255
256 // FLA_Househ2_UT( FLA_LEFT,
257 // alpha11,
258 // a21, tau1 );
260 alpha11,
261 a21, rs_A,
262 tau1 );
263
264 // FLA_Apply_H2_UT( FLA_LEFT, tau1, a21, a12t,
265 // A22 );
267 n_ahead,
268 tau1,
269 a21, rs_A,
270 a12t, cs_A,
271 A22, rs_A, cs_A );
272
273 /*------------------------------------------------------------*/
274
275 }
276
277 return FLA_SUCCESS;
278}
FLA_Error FLA_Apply_H2_UT_l_opz_var1(int m_u2_A2, int n_a1t, dcomplex *tau, dcomplex *u2, int inc_u2, dcomplex *a1t, int inc_a1t, dcomplex *A2, int rs_A2, int cs_A2)
Definition FLA_Apply_H2_UT_l_opt_var1.c:343
FLA_Error FLA_Househ2_UT_l_opz(int m_x2, dcomplex *chi_1, dcomplex *x2, int inc_x2, dcomplex *tau)
Definition FLA_Househ2_UT.c:521

References FLA_Apply_H2_UT_l_opz_var1(), FLA_Househ2_UT_l_opz(), and i.

Referenced by FLA_QR_UT_opt_var1().