libflame revision_anchor
Functions
FLA_Accum_T_UT_fr.h File Reference

(r)

Go to the source code of this file.

Functions

FLA_Error FLA_Accum_T_UT_fr_unb_var1 (FLA_Obj A, FLA_Obj t, FLA_Obj T)
 
FLA_Error FLA_Accum_T_UT_fr_blk_var2 (FLA_Obj A, FLA_Obj t, FLA_Obj T)
 
FLA_Error FLA_Accum_T_UT_fr_opt_var1 (FLA_Obj A, FLA_Obj t, FLA_Obj T)
 
FLA_Error FLA_Accum_T_UT_fr_ops_var1 (int m_A, int n_A, float *A, int rs_A, int cs_A, int m_t, float *t, int inc_t, float *T, int rs_T, int cs_T)
 
FLA_Error FLA_Accum_T_UT_fr_opd_var1 (int m_A, int n_A, double *A, int rs_A, int cs_A, int m_t, double *t, int inc_t, double *T, int rs_T, int cs_T)
 
FLA_Error FLA_Accum_T_UT_fr_opc_var1 (int m_A, int n_A, scomplex *A, int rs_A, int cs_A, int m_t, scomplex *t, int inc_t, scomplex *T, int rs_T, int cs_T)
 
FLA_Error FLA_Accum_T_UT_fr_opz_var1 (int m_A, int n_A, dcomplex *A, int rs_A, int cs_A, int m_t, dcomplex *t, int inc_t, dcomplex *T, int rs_T, int cs_T)
 

Function Documentation

◆ FLA_Accum_T_UT_fr_blk_var2()

FLA_Error FLA_Accum_T_UT_fr_blk_var2 ( FLA_Obj  A,
FLA_Obj  t,
FLA_Obj  T 
)
14{
15 FLA_Obj ATL, ATR, A00, A01, A02,
16 ABL, ABR, A10, A11, A12,
17 A20, A21, A22;
18
19 FLA_Obj tT, t0,
20 tB, t1,
21 t2;
22
23 FLA_Obj TL, TR, T0, T1, T2;
24
26
27 dim_t b_alg, b;
28
30
31 FLA_Part_2x2( A, &ATL, &ATR,
32 &ABL, &ABR, 0, 0, FLA_TL );
33
34 FLA_Part_2x1( t, &tT,
35 &tB, 0, FLA_TOP );
36
37 FLA_Part_1x2( T, &TL, &TR, 0, FLA_LEFT );
38
39 while ( FLA_Obj_length( tB ) > 0 ) {
40
41 b = min( FLA_Obj_length( tB ), b_alg );
42
43 FLA_Repart_2x2_to_3x3( ATL, /**/ ATR, &A00, /**/ &A01, &A02,
44 /* ************* */ /* ******************** */
45 &A10, /**/ &A11, &A12,
46 ABL, /**/ ABR, &A20, /**/ &A21, &A22,
47 b, b, FLA_BR );
48
50 /* ** */ /* ** */
51 &t1,
52 tB, &t2, b, FLA_BOTTOM );
53
54 FLA_Repart_1x2_to_1x3( TL, /**/ TR, &T0, /**/ &T1, &T2,
55 b, FLA_RIGHT );
56
57 /*------------------------------------------------------------*/
58
60
61 //FLA_Accum_T_UT_fr_unb_var1( AR1, t1, T1 );
63
64 /*------------------------------------------------------------*/
65
66 FLA_Cont_with_3x3_to_2x2( &ATL, /**/ &ATR, A00, A01, /**/ A02,
67 A10, A11, /**/ A12,
68 /* ************** */ /* ****************** */
69 &ABL, /**/ &ABR, A20, A21, /**/ A22,
70 FLA_TL );
71
73 t1,
74 /* ** */ /* ** */
75 &tB, t2, FLA_TOP );
76
77 FLA_Cont_with_1x3_to_1x2( &TL, /**/ &TR, T0, T1, /**/ T2,
78 FLA_LEFT );
79
80 }
81
82 return FLA_SUCCESS;
83}
FLA_Error FLA_Accum_T_UT_fr_opt_var1(FLA_Obj A, FLA_Obj t, FLA_Obj T)
Definition FLA_Accum_T_UT_fr_opt_var1.c:13
FLA_Error FLA_Cont_with_3x3_to_2x2(FLA_Obj *ATL, FLA_Obj *ATR, FLA_Obj A00, FLA_Obj A01, FLA_Obj A02, FLA_Obj A10, FLA_Obj A11, FLA_Obj A12, FLA_Obj *ABL, FLA_Obj *ABR, FLA_Obj A20, FLA_Obj A21, FLA_Obj A22, FLA_Quadrant quadrant)
Definition FLA_View.c:304
FLA_Error FLA_Part_2x2(FLA_Obj A, FLA_Obj *A11, FLA_Obj *A12, FLA_Obj *A21, FLA_Obj *A22, dim_t mb, dim_t nb, FLA_Quadrant quadrant)
Definition FLA_View.c:17
FLA_Error FLA_Cont_with_3x1_to_2x1(FLA_Obj *AT, FLA_Obj A0, FLA_Obj A1, FLA_Obj *AB, FLA_Obj A2, FLA_Side side)
Definition FLA_View.c:428
FLA_Error FLA_Repart_2x1_to_3x1(FLA_Obj AT, FLA_Obj *A0, FLA_Obj *A1, FLA_Obj AB, FLA_Obj *A2, dim_t mb, FLA_Side side)
Definition FLA_View.c:226
FLA_Error FLA_Cont_with_1x3_to_1x2(FLA_Obj *AL, FLA_Obj *AR, FLA_Obj A0, FLA_Obj A1, FLA_Obj A2, FLA_Side side)
Definition FLA_View.c:475
FLA_Error FLA_Part_1x2(FLA_Obj A, FLA_Obj *A1, FLA_Obj *A2, dim_t nb, FLA_Side side)
Definition FLA_View.c:110
FLA_Error FLA_Part_2x1(FLA_Obj A, FLA_Obj *A1, FLA_Obj *A2, dim_t mb, FLA_Side side)
Definition FLA_View.c:76
dim_t FLA_Obj_length(FLA_Obj obj)
Definition FLA_Query.c:116
FLA_Error FLA_Repart_2x2_to_3x3(FLA_Obj ATL, FLA_Obj ATR, FLA_Obj *A00, FLA_Obj *A01, FLA_Obj *A02, FLA_Obj *A10, FLA_Obj *A11, FLA_Obj *A12, FLA_Obj ABL, FLA_Obj ABR, FLA_Obj *A20, FLA_Obj *A21, FLA_Obj *A22, dim_t mb, dim_t nb, FLA_Quadrant quadrant)
Definition FLA_View.c:142
FLA_Error FLA_Merge_1x2(FLA_Obj AL, FLA_Obj AR, FLA_Obj *A)
Definition FLA_View.c:562
FLA_Error FLA_Repart_1x2_to_1x3(FLA_Obj AL, FLA_Obj AR, FLA_Obj *A0, FLA_Obj *A1, FLA_Obj *A2, dim_t nb, FLA_Side side)
Definition FLA_View.c:267
unsigned long dim_t
Definition FLA_type_defs.h:71
int i
Definition bl1_axmyv2.c:145
Definition FLA_type_defs.h:159

References FLA_Accum_T_UT_fr_opt_var1(), FLA_Cont_with_1x3_to_1x2(), FLA_Cont_with_3x1_to_2x1(), FLA_Cont_with_3x3_to_2x2(), FLA_Merge_1x2(), FLA_Obj_length(), FLA_Part_1x2(), FLA_Part_2x1(), FLA_Part_2x2(), FLA_Repart_1x2_to_1x3(), FLA_Repart_2x1_to_3x1(), FLA_Repart_2x2_to_3x3(), and i.

Referenced by FLA_Accum_T_UT_internal().

◆ FLA_Accum_T_UT_fr_opc_var1()

FLA_Error FLA_Accum_T_UT_fr_opc_var1 ( int  m_A,
int  n_A,
scomplex A,
int  rs_A,
int  cs_A,
int  m_t,
scomplex t,
int  inc_t,
scomplex T,
int  rs_T,
int  cs_T 
)
224{
226 int i;
227
228 for ( i = 0; i < m_t; ++i )
229 {
230 scomplex* a01 = buff_A + (i )*cs_A + (0 )*rs_A;
231 scomplex* A02 = buff_A + (i+1)*cs_A + (0 )*rs_A;
232 scomplex* a12t = buff_A + (i+1)*cs_A + (i )*rs_A;
233
234 scomplex* tau1 = buff_t + (i )*inc_t;
235
236 scomplex* tau11 = buff_T + (i )*cs_T + (i )*rs_T;
237 scomplex* t01 = buff_T + (i )*cs_T + (0 )*rs_T;
238
239 int n_ahead = n_A - i - 1;
240 int m_behind = i;
241
242 /*------------------------------------------------------------*/
243
244 // FLA_Copy_external( tau1, tau11 );
245 *tau11 = *tau1;
246
247 // FLA_Copyt_external( FLA_CONJ_NO_TRANSPOSE, a01, t01 );
249 m_behind,
250 a01, rs_A,
251 t01, rs_T );
252
253 // FLA_Gemvc_external( FLA_CONJ_NO_TRANSPOSE, FLA_NO_CONJUGATE,
254 // FLA_ONE, A02, a12t, FLA_ONE, t01 );
257 m_behind,
258 n_ahead,
259 buff_1,
260 A02, rs_A, cs_A,
261 a12t, cs_A,
262 buff_1,
263 t01, rs_T );
264
265 /*------------------------------------------------------------*/
266
267 }
268
269 return FLA_SUCCESS;
270}
FLA_Obj FLA_ONE
Definition FLA_Init.c:18
void bl1_ccopyv(conj1_t conj, int m, scomplex *x, int incx, scomplex *y, int incy)
Definition bl1_copyv.c:49
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
@ BLIS1_CONJ_NO_TRANSPOSE
Definition blis_type_defs.h:56
@ 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_ccopyv(), bl1_cgemv(), BLIS1_CONJ_NO_TRANSPOSE, BLIS1_CONJUGATE, BLIS1_NO_CONJUGATE, FLA_ONE, and i.

Referenced by FLA_Accum_T_UT_fr_opt_var1().

◆ FLA_Accum_T_UT_fr_opd_var1()

FLA_Error FLA_Accum_T_UT_fr_opd_var1 ( int  m_A,
int  n_A,
double A,
int  rs_A,
int  cs_A,
int  m_t,
double t,
int  inc_t,
double T,
int  rs_T,
int  cs_T 
)
168{
169 double* buff_1 = FLA_DOUBLE_PTR( FLA_ONE );
170 int i;
171
172 for ( i = 0; i < m_t; ++i )
173 {
174 double* a01 = buff_A + (i )*cs_A + (0 )*rs_A;
175 double* A02 = buff_A + (i+1)*cs_A + (0 )*rs_A;
176 double* a12t = buff_A + (i+1)*cs_A + (i )*rs_A;
177
178 double* tau1 = buff_t + (i )*inc_t;
179
180 double* tau11 = buff_T + (i )*cs_T + (i )*rs_T;
181 double* t01 = buff_T + (i )*cs_T + (0 )*rs_T;
182
183 int n_ahead = n_A - i - 1;
184 int m_behind = i;
185
186 /*------------------------------------------------------------*/
187
188 // FLA_Copy_external( tau1, tau11 );
189 *tau11 = *tau1;
190
191 // FLA_Copyt_external( FLA_CONJ_NO_TRANSPOSE, a01, t01 );
193 m_behind,
194 a01, rs_A,
195 t01, rs_T );
196
197 // FLA_Gemvc_external( FLA_CONJ_NO_TRANSPOSE, FLA_NO_CONJUGATE,
198 // FLA_ONE, A02, a12t, FLA_ONE, t01 );
201 m_behind,
202 n_ahead,
203 buff_1,
204 A02, rs_A, cs_A,
205 a12t, cs_A,
206 buff_1,
207 t01, rs_T );
208
209 /*------------------------------------------------------------*/
210
211 }
212
213 return FLA_SUCCESS;
214}
void bl1_dcopyv(conj1_t conj, int m, double *x, int incx, double *y, int incy)
Definition bl1_copyv.c:42
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

References bl1_dcopyv(), bl1_dgemv(), BLIS1_CONJ_NO_TRANSPOSE, BLIS1_CONJUGATE, BLIS1_NO_CONJUGATE, FLA_ONE, and i.

Referenced by FLA_Accum_T_UT_fr_opt_var1().

◆ FLA_Accum_T_UT_fr_ops_var1()

FLA_Error FLA_Accum_T_UT_fr_ops_var1 ( int  m_A,
int  n_A,
float A,
int  rs_A,
int  cs_A,
int  m_t,
float t,
int  inc_t,
float T,
int  rs_T,
int  cs_T 
)
112{
113 float* buff_1 = FLA_FLOAT_PTR( FLA_ONE );
114 int i;
115
116 for ( i = 0; i < m_t; ++i )
117 {
118 float* a01 = buff_A + (i )*cs_A + (0 )*rs_A;
119 float* A02 = buff_A + (i+1)*cs_A + (0 )*rs_A;
120 float* a12t = buff_A + (i+1)*cs_A + (i )*rs_A;
121
122 float* tau1 = buff_t + (i )*inc_t;
123
124 float* tau11 = buff_T + (i )*cs_T + (i )*rs_T;
125 float* t01 = buff_T + (i )*cs_T + (0 )*rs_T;
126
127 int n_ahead = n_A - i - 1;
128 int m_behind = i;
129
130 /*------------------------------------------------------------*/
131
132 // FLA_Copy_external( tau1, tau11 );
133 *tau11 = *tau1;
134
135 // FLA_Copyt_external( FLA_CONJ_NO_TRANSPOSE, a01, t01 );
137 m_behind,
138 a01, rs_A,
139 t01, rs_T );
140
141 // FLA_Gemvc_external( FLA_CONJ_NO_TRANSPOSE, FLA_NO_CONJUGATE,
142 // FLA_ONE, A02, a12t, FLA_ONE, t01 );
145 m_behind,
146 n_ahead,
147 buff_1,
148 A02, rs_A, cs_A,
149 a12t, cs_A,
150 buff_1,
151 t01, rs_T );
152
153 /*------------------------------------------------------------*/
154
155 }
156
157 return FLA_SUCCESS;
158}
void bl1_scopyv(conj1_t conj, int m, float *x, int incx, float *y, int incy)
Definition bl1_copyv.c:35
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

References bl1_scopyv(), bl1_sgemv(), BLIS1_CONJ_NO_TRANSPOSE, BLIS1_CONJUGATE, BLIS1_NO_CONJUGATE, FLA_ONE, and i.

Referenced by FLA_Accum_T_UT_fr_opt_var1().

◆ FLA_Accum_T_UT_fr_opt_var1()

FLA_Error FLA_Accum_T_UT_fr_opt_var1 ( FLA_Obj  A,
FLA_Obj  t,
FLA_Obj  T 
)
14{
15 FLA_Datatype datatype;
16 int m_A, n_A;
17 int rs_A, cs_A;
18 int m_t, inc_t;
19 int rs_T, cs_T;
20
21 datatype = FLA_Obj_datatype( A );
22
23 m_A = FLA_Obj_length( A );
24 n_A = FLA_Obj_width( A );
27
30
33
34 switch ( datatype )
35 {
36 case FLA_FLOAT:
37 {
38 float* buff_A = FLA_FLOAT_PTR( A );
39 float* buff_t = FLA_FLOAT_PTR( t );
40 float* buff_T = FLA_FLOAT_PTR( T );
41
43 n_A,
45 m_t,
47 buff_T, rs_T, cs_T );
48
49 break;
50 }
51
52 case FLA_DOUBLE:
53 {
54 double* buff_A = FLA_DOUBLE_PTR( A );
55 double* buff_t = FLA_DOUBLE_PTR( t );
56 double* buff_T = FLA_DOUBLE_PTR( T );
57
59 n_A,
61 m_t,
63 buff_T, rs_T, cs_T );
64
65 break;
66 }
67
68 case FLA_COMPLEX:
69 {
73
75 n_A,
77 m_t,
79 buff_T, rs_T, cs_T );
80
81 break;
82 }
83
85 {
89
91 n_A,
93 m_t,
95 buff_T, rs_T, cs_T );
96
97 break;
98 }
99 }
100
101 return FLA_SUCCESS;
102}
FLA_Error FLA_Accum_T_UT_fr_opc_var1(int m_A, int n_A, scomplex *buff_A, int rs_A, int cs_A, int m_t, scomplex *buff_t, int inc_t, scomplex *buff_T, int rs_T, int cs_T)
Definition FLA_Accum_T_UT_fr_opt_var1.c:218
FLA_Error FLA_Accum_T_UT_fr_ops_var1(int m_A, int n_A, float *buff_A, int rs_A, int cs_A, int m_t, float *buff_t, int inc_t, float *buff_T, int rs_T, int cs_T)
Definition FLA_Accum_T_UT_fr_opt_var1.c:106
FLA_Error FLA_Accum_T_UT_fr_opd_var1(int m_A, int n_A, double *buff_A, int rs_A, int cs_A, int m_t, double *buff_t, int inc_t, double *buff_T, int rs_T, int cs_T)
Definition FLA_Accum_T_UT_fr_opt_var1.c:162
FLA_Error FLA_Accum_T_UT_fr_opz_var1(int m_A, int n_A, dcomplex *buff_A, int rs_A, int cs_A, int m_t, dcomplex *buff_t, int inc_t, dcomplex *buff_T, int rs_T, int cs_T)
Definition FLA_Accum_T_UT_fr_opt_var1.c:274
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_col_stride(FLA_Obj obj)
Definition FLA_Query.c:174
dim_t FLA_Obj_vector_inc(FLA_Obj obj)
Definition FLA_Query.c:145
dim_t FLA_Obj_vector_dim(FLA_Obj obj)
Definition FLA_Query.c:137
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_Accum_T_UT_fr_opc_var1(), FLA_Accum_T_UT_fr_opd_var1(), FLA_Accum_T_UT_fr_ops_var1(), FLA_Accum_T_UT_fr_opz_var1(), FLA_Obj_col_stride(), FLA_Obj_datatype(), FLA_Obj_length(), FLA_Obj_row_stride(), FLA_Obj_vector_dim(), FLA_Obj_vector_inc(), FLA_Obj_width(), and i.

Referenced by FLA_Accum_T_UT_fr_blk_var2().

◆ FLA_Accum_T_UT_fr_opz_var1()

FLA_Error FLA_Accum_T_UT_fr_opz_var1 ( int  m_A,
int  n_A,
dcomplex A,
int  rs_A,
int  cs_A,
int  m_t,
dcomplex t,
int  inc_t,
dcomplex T,
int  rs_T,
int  cs_T 
)
280{
282 int i;
283
284 for ( i = 0; i < m_t; ++i )
285 {
286 dcomplex* a01 = buff_A + (i )*cs_A + (0 )*rs_A;
287 dcomplex* A02 = buff_A + (i+1)*cs_A + (0 )*rs_A;
288 dcomplex* a12t = buff_A + (i+1)*cs_A + (i )*rs_A;
289
290 dcomplex* tau1 = buff_t + (i )*inc_t;
291
292 dcomplex* tau11 = buff_T + (i )*cs_T + (i )*rs_T;
293 dcomplex* t01 = buff_T + (i )*cs_T + (0 )*rs_T;
294
295 int n_ahead = n_A - i - 1;
296 int m_behind = i;
297
298 /*------------------------------------------------------------*/
299
300 // FLA_Copy_external( tau1, tau11 );
301 *tau11 = *tau1;
302
303 // FLA_Copyt_external( FLA_CONJ_NO_TRANSPOSE, a01, t01 );
305 m_behind,
306 a01, rs_A,
307 t01, rs_T );
308
309 // FLA_Gemvc_external( FLA_CONJ_NO_TRANSPOSE, FLA_NO_CONJUGATE,
310 // FLA_ONE, A02, a12t, FLA_ONE, t01 );
313 m_behind,
314 n_ahead,
315 buff_1,
316 A02, rs_A, cs_A,
317 a12t, cs_A,
318 buff_1,
319 t01, rs_T );
320
321 /*------------------------------------------------------------*/
322
323 }
324
325
326 return FLA_SUCCESS;
327}
void bl1_zcopyv(conj1_t conj, int m, dcomplex *x, int incx, dcomplex *y, int incy)
Definition bl1_copyv.c:63
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

References bl1_zcopyv(), bl1_zgemv(), BLIS1_CONJ_NO_TRANSPOSE, BLIS1_CONJUGATE, BLIS1_NO_CONJUGATE, FLA_ONE, and i.

Referenced by FLA_Accum_T_UT_fr_opt_var1().

◆ FLA_Accum_T_UT_fr_unb_var1()

FLA_Error FLA_Accum_T_UT_fr_unb_var1 ( FLA_Obj  A,
FLA_Obj  t,
FLA_Obj  T 
)
14{
15 FLA_Obj ATL, ATR, A00, a01, A02,
17 A20, a21, A22;
18
20 tauB, tau1,
21 tau2;
22
23 FLA_Obj TTL, TTR, T00, t01, T02,
24 TBL, TBR, t10t, tau11, t12t,
25 T20, t21, T22;
26
27
28 FLA_Part_2x2( A, &ATL, &ATR,
29 &ABL, &ABR, 0, 0, FLA_TL );
30
32 &tauB, 0, FLA_TOP );
33
34 FLA_Part_2x2( T, &TTL, &TTR,
35 &TBL, &TBR, 0, 0, FLA_TL );
36
37 while ( FLA_Obj_length( tauB ) > 0 ){
38
39 FLA_Repart_2x2_to_3x3( ATL, /**/ ATR, &A00, /**/ &a01, &A02,
40 /* ************* */ /* ************************** */
41 &a10t, /**/ &alpha11, &a12t,
42 ABL, /**/ ABR, &A20, /**/ &a21, &A22,
43 1, 1, FLA_BR );
44
46 /* ** */ /* ** */
47 &tau1,
48 tauB, &tau2, 1, FLA_BOTTOM );
49
50 FLA_Repart_2x2_to_3x3( TTL, /**/ TTR, &T00, /**/ &t01, &T02,
51 /* ************* */ /* ************************ */
52 &t10t, /**/ &tau11, &t12t,
53 TBL, /**/ TBR, &T20, /**/ &t21, &T22,
54 1, 1, FLA_BR );
55
56 /*------------------------------------------------------------*/
57
58 // tau11 = tau1;
60
61 // t01 = conj(a01) + conj(A02) * u12t^T;
64
65 /*------------------------------------------------------------*/
66
67 FLA_Cont_with_3x3_to_2x2( &ATL, /**/ &ATR, A00, a01, /**/ A02,
68 a10t, alpha11, /**/ a12t,
69 /* ************** */ /* ************************ */
70 &ABL, /**/ &ABR, A20, a21, /**/ A22,
71 FLA_TL );
72
74 tau1,
75 /* ** */ /* ** */
76 &tauB, tau2, FLA_TOP );
77
78 FLA_Cont_with_3x3_to_2x2( &TTL, /**/ &TTR, T00, t01, /**/ T02,
79 t10t, tau11, /**/ t12t,
80 /* ************** */ /* ********************** */
81 &TBL, /**/ &TBR, T20, t21, /**/ T22,
82 FLA_TL );
83
84 }
85
86 return FLA_SUCCESS;
87}
FLA_Error FLA_Copyt_external(FLA_Trans trans, FLA_Obj A, FLA_Obj B)
Definition FLA_Copyt_external.c:13
FLA_Error FLA_Copy_external(FLA_Obj A, FLA_Obj B)
Definition FLA_Copy_external.c:13
FLA_Error FLA_Gemvc_external(FLA_Trans transa, FLA_Conj conjx, FLA_Obj alpha, FLA_Obj A, FLA_Obj x, FLA_Obj beta, FLA_Obj y)
Definition FLA_Gemvc_external.c:13

References FLA_Cont_with_3x1_to_2x1(), FLA_Cont_with_3x3_to_2x2(), FLA_Copy_external(), FLA_Copyt_external(), FLA_Gemvc_external(), FLA_Obj_length(), FLA_ONE, FLA_Part_2x1(), FLA_Part_2x2(), FLA_Repart_2x1_to_3x1(), FLA_Repart_2x2_to_3x3(), and i.