libflame  revision_anchor
Functions
FLA_Eig_gest_iu_opt_var1.c File Reference

(r)

Functions

FLA_Error FLA_Eig_gest_iu_opt_var1 (FLA_Obj A, FLA_Obj Y, FLA_Obj B)
 
FLA_Error FLA_Eig_gest_iu_ops_var1 (int m_AB, float *buff_A, int rs_A, int cs_A, float *buff_y, int inc_y, float *buff_B, int rs_B, int cs_B)
 
FLA_Error FLA_Eig_gest_iu_opd_var1 (int m_AB, double *buff_A, int rs_A, int cs_A, double *buff_y, int inc_y, double *buff_B, int rs_B, int cs_B)
 
FLA_Error FLA_Eig_gest_iu_opc_var1 (int m_AB, scomplex *buff_A, int rs_A, int cs_A, scomplex *buff_y, int inc_y, scomplex *buff_B, int rs_B, int cs_B)
 
FLA_Error FLA_Eig_gest_iu_opz_var1 (int m_AB, dcomplex *buff_A, int rs_A, int cs_A, dcomplex *buff_y, int inc_y, dcomplex *buff_B, int rs_B, int cs_B)
 

Function Documentation

◆ FLA_Eig_gest_iu_opc_var1()

FLA_Error FLA_Eig_gest_iu_opc_var1 ( int  m_AB,
scomplex buff_A,
int  rs_A,
int  cs_A,
scomplex buff_y,
int  inc_y,
scomplex buff_B,
int  rs_B,
int  cs_B 
)

References bl1_caxpyv(), bl1_cdot2s(), bl1_chemv(), bl1_cinvscalv(), bl1_ctrsv(), BLIS1_CONJ_TRANSPOSE, BLIS1_CONJUGATE, BLIS1_NO_CONJUGATE, BLIS1_NONUNIT_DIAG, BLIS1_UPPER_TRIANGULAR, FLA_MINUS_ONE, FLA_MINUS_ONE_HALF, FLA_ONE, FLA_ZERO, and i.

Referenced by FLA_Eig_gest_iu_opt_var1().

284 {
285  scomplex* buff_1 = FLA_COMPLEX_PTR( FLA_ONE );
286  scomplex* buff_0 = FLA_COMPLEX_PTR( FLA_ZERO );
287  scomplex* buff_m1 = FLA_COMPLEX_PTR( FLA_MINUS_ONE );
288  scomplex* buff_m1h = FLA_COMPLEX_PTR( FLA_MINUS_ONE_HALF );
289  int i;
290 
291  for ( i = 0; i < m_AB; ++i )
292  {
293  scomplex* A00 = buff_A + (0 )*cs_A + (0 )*rs_A;
294  scomplex* a01 = buff_A + (i )*cs_A + (0 )*rs_A;
295  scomplex* alpha11 = buff_A + (i )*cs_A + (i )*rs_A;
296 
297  scomplex* y01 = buff_y + (0 )*inc_y;
298 
299  scomplex* B00 = buff_B + (0 )*cs_B + (0 )*rs_B;
300  scomplex* b01 = buff_B + (i )*cs_B + (0 )*rs_B;
301  scomplex* beta11 = buff_B + (i )*cs_B + (i )*rs_B;
302 
303  int m_behind = i;
304 
305  /*------------------------------------------------------------*/
306 
307  // FLA_Hemvc_external( FLA_UPPER_TRIANGULAR, FLA_NO_CONJUGATE,
308  // FLA_ONE, A00, b01, FLA_ZERO, y01_l );
311  m_behind,
312  buff_1,
313  A00, rs_A, cs_A,
314  b01, rs_B,
315  buff_0,
316  y01, inc_y );
317 
318  // FLA_Trsv_external( FLA_UPPER_TRIANGULAR, FLA_CONJ_TRANSPOSE, FLA_NONUNIT_DIAG,
319  // B00, a01 );
323  m_behind,
324  B00, rs_B, cs_B,
325  a01, rs_A );
326 
327  // FLA_Axpy_external( FLA_MINUS_ONE_HALF, y01_l, a01 );
329  m_behind,
330  buff_m1h,
331  y01, inc_y,
332  a01, rs_A );
333 
334  // FLA_Dot2cs_external( FLA_CONJUGATE, FLA_MINUS_ONE, a01, b01, FLA_ONE, alpha11 );
336  m_behind,
337  buff_m1,
338  a01, rs_A,
339  b01, rs_B,
340  buff_1,
341  alpha11 );
342 
343  // FLA_Inv_scal_external( beta11, alpha11 );
344  // FLA_Inv_scal_external( beta11, alpha11 );
345  bl1_cinvscals( beta11, alpha11 );
346  bl1_cinvscals( beta11, alpha11 );
347 
348  // FLA_Axpy_external( FLA_MINUS_ONE_HALF, y01_l, a01 );
350  m_behind,
351  buff_m1h,
352  y01, inc_y,
353  a01, rs_A );
354 
355  // FLA_Inv_scal_external( beta11, a01 );
357  m_behind,
358  beta11,
359  a01, rs_A );
360 
361  /*------------------------------------------------------------*/
362 
363  }
364 
365  return FLA_SUCCESS;
366 }
FLA_Obj FLA_MINUS_ONE_HALF
Definition: FLA_Init.c:21
void bl1_caxpyv(conj1_t conj, int n, scomplex *alpha, scomplex *x, int incx, scomplex *y, int incy)
Definition: bl1_axpyv.c:29
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
FLA_Obj FLA_MINUS_ONE
Definition: FLA_Init.c:22
Definition: blis_type_defs.h:57
Definition: blis_type_defs.h:81
void bl1_chemv(uplo1_t uplo, conj1_t conj, int m, scomplex *alpha, scomplex *a, int a_rs, int a_cs, scomplex *x, int incx, scomplex *beta, scomplex *y, int incy)
Definition: bl1_hemv.c:35
Definition: blis_type_defs.h:82
FLA_Obj FLA_ONE
Definition: FLA_Init.c:18
Definition: blis_type_defs.h:132
void bl1_cinvscalv(conj1_t conj, int n, scomplex *alpha, scomplex *x, int incx)
Definition: bl1_invscalv.c:52
int i
Definition: bl1_axmyv2.c:145
Definition: blis_type_defs.h:74
FLA_Obj FLA_ZERO
Definition: FLA_Init.c:20
Definition: blis_type_defs.h:63
void bl1_cdot2s(conj1_t conj, int n, scomplex *alpha, scomplex *x, int incx, scomplex *y, int incy, scomplex *beta, scomplex *rho)
Definition: bl1_dot2s.c:39

◆ FLA_Eig_gest_iu_opd_var1()

FLA_Error FLA_Eig_gest_iu_opd_var1 ( int  m_AB,
double *  buff_A,
int  rs_A,
int  cs_A,
double *  buff_y,
int  inc_y,
double *  buff_B,
int  rs_B,
int  cs_B 
)

References bl1_daxpyv(), bl1_ddot2s(), bl1_dhemv(), bl1_dinvscalv(), bl1_dtrsv(), BLIS1_CONJ_TRANSPOSE, BLIS1_CONJUGATE, BLIS1_NO_CONJUGATE, BLIS1_NONUNIT_DIAG, BLIS1_UPPER_TRIANGULAR, FLA_MINUS_ONE, FLA_MINUS_ONE_HALF, FLA_ONE, FLA_ZERO, and i.

Referenced by FLA_Eig_gest_iu_opt_var1().

194 {
195  double* buff_1 = FLA_DOUBLE_PTR( FLA_ONE );
196  double* buff_0 = FLA_DOUBLE_PTR( FLA_ZERO );
197  double* buff_m1 = FLA_DOUBLE_PTR( FLA_MINUS_ONE );
198  double* buff_m1h = FLA_DOUBLE_PTR( FLA_MINUS_ONE_HALF );
199  int i;
200 
201  for ( i = 0; i < m_AB; ++i )
202  {
203  double* A00 = buff_A + (0 )*cs_A + (0 )*rs_A;
204  double* a01 = buff_A + (i )*cs_A + (0 )*rs_A;
205  double* alpha11 = buff_A + (i )*cs_A + (i )*rs_A;
206 
207  double* y01 = buff_y + (0 )*inc_y;
208 
209  double* B00 = buff_B + (0 )*cs_B + (0 )*rs_B;
210  double* b01 = buff_B + (i )*cs_B + (0 )*rs_B;
211  double* beta11 = buff_B + (i )*cs_B + (i )*rs_B;
212 
213  int m_behind = i;
214 
215  /*------------------------------------------------------------*/
216 
217  // FLA_Hemvc_external( FLA_UPPER_TRIANGULAR, FLA_NO_CONJUGATE,
218  // FLA_ONE, A00, b01, FLA_ZERO, y01_l );
221  m_behind,
222  buff_1,
223  A00, rs_A, cs_A,
224  b01, rs_B,
225  buff_0,
226  y01, inc_y );
227 
228  // FLA_Trsv_external( FLA_UPPER_TRIANGULAR, FLA_CONJ_TRANSPOSE, FLA_NONUNIT_DIAG,
229  // B00, a01 );
233  m_behind,
234  B00, rs_B, cs_B,
235  a01, rs_A );
236 
237  // FLA_Axpy_external( FLA_MINUS_ONE_HALF, y01_l, a01 );
239  m_behind,
240  buff_m1h,
241  y01, inc_y,
242  a01, rs_A );
243 
244  // FLA_Dot2cs_external( FLA_CONJUGATE, FLA_MINUS_ONE, a01, b01, FLA_ONE, alpha11 );
246  m_behind,
247  buff_m1,
248  a01, rs_A,
249  b01, rs_B,
250  buff_1,
251  alpha11 );
252 
253  // FLA_Inv_scal_external( beta11, alpha11 );
254  // FLA_Inv_scal_external( beta11, alpha11 );
255  bl1_dinvscals( beta11, alpha11 );
256  bl1_dinvscals( beta11, alpha11 );
257 
258  // FLA_Axpy_external( FLA_MINUS_ONE_HALF, y01_l, a01 );
260  m_behind,
261  buff_m1h,
262  y01, inc_y,
263  a01, rs_A );
264 
265  // FLA_Inv_scal_external( beta11, a01 );
267  m_behind,
268  beta11,
269  a01, rs_A );
270 
271  /*------------------------------------------------------------*/
272 
273  }
274 
275  return FLA_SUCCESS;
276 }
void bl1_dhemv(uplo1_t uplo, conj1_t conj, int m, double *alpha, double *a, int a_rs, int a_cs, double *x, int incx, double *beta, double *y, int incy)
Definition: bl1_hemv.c:24
FLA_Obj FLA_MINUS_ONE_HALF
Definition: FLA_Init.c:21
FLA_Obj FLA_MINUS_ONE
Definition: FLA_Init.c:22
Definition: blis_type_defs.h:57
Definition: blis_type_defs.h:81
void bl1_ddot2s(conj1_t conj, int n, double *alpha, double *x, int incx, double *y, int incy, double *beta, double *rho)
Definition: bl1_dot2s.c:26
Definition: blis_type_defs.h:82
FLA_Obj FLA_ONE
Definition: FLA_Init.c:18
void bl1_dinvscalv(conj1_t conj, int n, double *alpha, double *x, int incx)
Definition: bl1_invscalv.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
int i
Definition: bl1_axmyv2.c:145
Definition: blis_type_defs.h:74
void bl1_daxpyv(conj1_t conj, int n, double *alpha, double *x, int incx, double *y, int incy)
Definition: bl1_axpyv.c:21
FLA_Obj FLA_ZERO
Definition: FLA_Init.c:20
Definition: blis_type_defs.h:63

◆ FLA_Eig_gest_iu_ops_var1()

FLA_Error FLA_Eig_gest_iu_ops_var1 ( int  m_AB,
float *  buff_A,
int  rs_A,
int  cs_A,
float *  buff_y,
int  inc_y,
float *  buff_B,
int  rs_B,
int  cs_B 
)

References bl1_saxpyv(), bl1_sdot2s(), bl1_shemv(), bl1_sinvscalv(), bl1_strsv(), BLIS1_CONJ_TRANSPOSE, BLIS1_CONJUGATE, BLIS1_NO_CONJUGATE, BLIS1_NONUNIT_DIAG, BLIS1_UPPER_TRIANGULAR, FLA_MINUS_ONE, FLA_MINUS_ONE_HALF, FLA_ONE, FLA_ZERO, and i.

Referenced by FLA_Eig_gest_iu_opt_var1().

104 {
105  float* buff_1 = FLA_FLOAT_PTR( FLA_ONE );
106  float* buff_0 = FLA_FLOAT_PTR( FLA_ZERO );
107  float* buff_m1 = FLA_FLOAT_PTR( FLA_MINUS_ONE );
108  float* buff_m1h = FLA_FLOAT_PTR( FLA_MINUS_ONE_HALF );
109  int i;
110 
111  for ( i = 0; i < m_AB; ++i )
112  {
113  float* A00 = buff_A + (0 )*cs_A + (0 )*rs_A;
114  float* a01 = buff_A + (i )*cs_A + (0 )*rs_A;
115  float* alpha11 = buff_A + (i )*cs_A + (i )*rs_A;
116 
117  float* y01 = buff_y + (0 )*inc_y;
118 
119  float* B00 = buff_B + (0 )*cs_B + (0 )*rs_B;
120  float* b01 = buff_B + (i )*cs_B + (0 )*rs_B;
121  float* beta11 = buff_B + (i )*cs_B + (i )*rs_B;
122 
123  int m_behind = i;
124 
125  /*------------------------------------------------------------*/
126 
127  // FLA_Hemvc_external( FLA_UPPER_TRIANGULAR, FLA_NO_CONJUGATE,
128  // FLA_ONE, A00, b01, FLA_ZERO, y01_l );
131  m_behind,
132  buff_1,
133  A00, rs_A, cs_A,
134  b01, rs_B,
135  buff_0,
136  y01, inc_y );
137 
138  // FLA_Trsv_external( FLA_UPPER_TRIANGULAR, FLA_CONJ_TRANSPOSE, FLA_NONUNIT_DIAG,
139  // B00, a01 );
143  m_behind,
144  B00, rs_B, cs_B,
145  a01, rs_A );
146 
147  // FLA_Axpy_external( FLA_MINUS_ONE_HALF, y01_l, a01 );
149  m_behind,
150  buff_m1h,
151  y01, inc_y,
152  a01, rs_A );
153 
154  // FLA_Dot2cs_external( FLA_CONJUGATE, FLA_MINUS_ONE, a01, b01, FLA_ONE, alpha11 );
156  m_behind,
157  buff_m1,
158  a01, rs_A,
159  b01, rs_B,
160  buff_1,
161  alpha11 );
162 
163  // FLA_Inv_scal_external( beta11, alpha11 );
164  // FLA_Inv_scal_external( beta11, alpha11 );
165  bl1_sinvscals( beta11, alpha11 );
166  bl1_sinvscals( beta11, alpha11 );
167 
168  // FLA_Axpy_external( FLA_MINUS_ONE_HALF, y01_l, a01 );
170  m_behind,
171  buff_m1h,
172  y01, inc_y,
173  a01, rs_A );
174 
175  // FLA_Inv_scal_external( beta11, a01 );
177  m_behind,
178  beta11,
179  a01, rs_A );
180 
181  /*------------------------------------------------------------*/
182 
183  }
184 
185  return FLA_SUCCESS;
186 }
FLA_Obj FLA_MINUS_ONE_HALF
Definition: FLA_Init.c:21
FLA_Obj FLA_MINUS_ONE
Definition: FLA_Init.c:22
Definition: blis_type_defs.h:57
Definition: blis_type_defs.h:81
void bl1_shemv(uplo1_t uplo, conj1_t conj, int m, float *alpha, float *a, int a_rs, int a_cs, float *x, int incx, float *beta, float *y, int incy)
Definition: bl1_hemv.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
Definition: blis_type_defs.h:82
FLA_Obj FLA_ONE
Definition: FLA_Init.c:18
void bl1_sinvscalv(conj1_t conj, int n, float *alpha, float *x, int incx)
Definition: bl1_invscalv.c:13
void bl1_saxpyv(conj1_t conj, int n, float *alpha, float *x, int incx, float *y, int incy)
Definition: bl1_axpyv.c:13
void bl1_sdot2s(conj1_t conj, int n, float *alpha, float *x, int incx, float *y, int incy, float *beta, float *rho)
Definition: bl1_dot2s.c:13
int i
Definition: bl1_axmyv2.c:145
Definition: blis_type_defs.h:74
FLA_Obj FLA_ZERO
Definition: FLA_Init.c:20
Definition: blis_type_defs.h:63

◆ FLA_Eig_gest_iu_opt_var1()

FLA_Error FLA_Eig_gest_iu_opt_var1 ( FLA_Obj  A,
FLA_Obj  Y,
FLA_Obj  B 
)

References FLA_Eig_gest_iu_opc_var1(), FLA_Eig_gest_iu_opd_var1(), FLA_Eig_gest_iu_ops_var1(), FLA_Eig_gest_iu_opz_var1(), FLA_Obj_col_stride(), FLA_Obj_datatype(), FLA_Obj_length(), FLA_Obj_row_stride(), FLA_Obj_vector_inc(), and FLA_Part_1x2().

Referenced by FLA_Eig_gest_iu().

14 {
15  FLA_Datatype datatype;
16  int m_AB;
17  int rs_A, cs_A;
18  int rs_B, cs_B;
19  int inc_y;
20  FLA_Obj yL, yR;
21 
22  datatype = FLA_Obj_datatype( A );
23 
24  m_AB = FLA_Obj_length( A );
25 
26  rs_A = FLA_Obj_row_stride( A );
27  cs_A = FLA_Obj_col_stride( A );
28 
29  rs_B = FLA_Obj_row_stride( B );
30  cs_B = FLA_Obj_col_stride( B );
31 
32  FLA_Part_1x2( Y, &yL, &yR, 1, FLA_LEFT );
33 
34  inc_y = FLA_Obj_vector_inc( yL );
35 
36  switch ( datatype )
37  {
38  case FLA_FLOAT:
39  {
40  float* buff_A = FLA_FLOAT_PTR( A );
41  float* buff_y = FLA_FLOAT_PTR( yL );
42  float* buff_B = FLA_FLOAT_PTR( B );
43 
45  buff_A, rs_A, cs_A,
46  buff_y, inc_y,
47  buff_B, rs_B, cs_B );
48 
49  break;
50  }
51 
52  case FLA_DOUBLE:
53  {
54  double* buff_A = FLA_DOUBLE_PTR( A );
55  double* buff_y = FLA_DOUBLE_PTR( yL );
56  double* buff_B = FLA_DOUBLE_PTR( B );
57 
59  buff_A, rs_A, cs_A,
60  buff_y, inc_y,
61  buff_B, rs_B, cs_B );
62 
63  break;
64  }
65 
66  case FLA_COMPLEX:
67  {
68  scomplex* buff_A = FLA_COMPLEX_PTR( A );
69  scomplex* buff_y = FLA_COMPLEX_PTR( yL );
70  scomplex* buff_B = FLA_COMPLEX_PTR( B );
71 
73  buff_A, rs_A, cs_A,
74  buff_y, inc_y,
75  buff_B, rs_B, cs_B );
76 
77  break;
78  }
79 
80  case FLA_DOUBLE_COMPLEX:
81  {
82  dcomplex* buff_A = FLA_DOUBLE_COMPLEX_PTR( A );
83  dcomplex* buff_y = FLA_DOUBLE_COMPLEX_PTR( yL );
84  dcomplex* buff_B = FLA_DOUBLE_COMPLEX_PTR( B );
85 
87  buff_A, rs_A, cs_A,
88  buff_y, inc_y,
89  buff_B, rs_B, cs_B );
90 
91  break;
92  }
93  }
94 
95  return FLA_SUCCESS;
96 }
dim_t FLA_Obj_row_stride(FLA_Obj obj)
Definition: FLA_Query.c:167
FLA_Error FLA_Eig_gest_iu_opc_var1(int m_AB, scomplex *buff_A, int rs_A, int cs_A, scomplex *buff_y, int inc_y, scomplex *buff_B, int rs_B, int cs_B)
Definition: FLA_Eig_gest_iu_opt_var1.c:280
FLA_Error FLA_Eig_gest_iu_opz_var1(int m_AB, dcomplex *buff_A, int rs_A, int cs_A, dcomplex *buff_y, int inc_y, dcomplex *buff_B, int rs_B, int cs_B)
Definition: FLA_Eig_gest_iu_opt_var1.c:370
FLA_Datatype FLA_Obj_datatype(FLA_Obj obj)
Definition: FLA_Query.c:13
Definition: FLA_type_defs.h:158
Definition: blis_type_defs.h:132
int FLA_Datatype
Definition: FLA_type_defs.h:49
FLA_Error FLA_Eig_gest_iu_ops_var1(int m_AB, float *buff_A, int rs_A, int cs_A, float *buff_y, int inc_y, float *buff_B, int rs_B, int cs_B)
Definition: FLA_Eig_gest_iu_opt_var1.c:100
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
dim_t FLA_Obj_col_stride(FLA_Obj obj)
Definition: FLA_Query.c:174
FLA_Error FLA_Eig_gest_iu_opd_var1(int m_AB, double *buff_A, int rs_A, int cs_A, double *buff_y, int inc_y, double *buff_B, int rs_B, int cs_B)
Definition: FLA_Eig_gest_iu_opt_var1.c:190
dim_t FLA_Obj_vector_inc(FLA_Obj obj)
Definition: FLA_Query.c:145
dim_t FLA_Obj_length(FLA_Obj obj)
Definition: FLA_Query.c:116
Definition: blis_type_defs.h:137

◆ FLA_Eig_gest_iu_opz_var1()

FLA_Error FLA_Eig_gest_iu_opz_var1 ( int  m_AB,
dcomplex buff_A,
int  rs_A,
int  cs_A,
dcomplex buff_y,
int  inc_y,
dcomplex buff_B,
int  rs_B,
int  cs_B 
)

References bl1_zaxpyv(), bl1_zdot2s(), bl1_zhemv(), bl1_zinvscalv(), bl1_ztrsv(), BLIS1_CONJ_TRANSPOSE, BLIS1_CONJUGATE, BLIS1_NO_CONJUGATE, BLIS1_NONUNIT_DIAG, BLIS1_UPPER_TRIANGULAR, FLA_MINUS_ONE, FLA_MINUS_ONE_HALF, FLA_ONE, FLA_ZERO, and i.

Referenced by FLA_Eig_gest_iu_opt_var1().

374 {
375  dcomplex* buff_1 = FLA_DOUBLE_COMPLEX_PTR( FLA_ONE );
376  dcomplex* buff_0 = FLA_DOUBLE_COMPLEX_PTR( FLA_ZERO );
377  dcomplex* buff_m1 = FLA_DOUBLE_COMPLEX_PTR( FLA_MINUS_ONE );
378  dcomplex* buff_m1h = FLA_DOUBLE_COMPLEX_PTR( FLA_MINUS_ONE_HALF );
379  int i;
380 
381  for ( i = 0; i < m_AB; ++i )
382  {
383  dcomplex* A00 = buff_A + (0 )*cs_A + (0 )*rs_A;
384  dcomplex* a01 = buff_A + (i )*cs_A + (0 )*rs_A;
385  dcomplex* alpha11 = buff_A + (i )*cs_A + (i )*rs_A;
386 
387  dcomplex* y01 = buff_y + (0 )*inc_y;
388 
389  dcomplex* B00 = buff_B + (0 )*cs_B + (0 )*rs_B;
390  dcomplex* b01 = buff_B + (i )*cs_B + (0 )*rs_B;
391  dcomplex* beta11 = buff_B + (i )*cs_B + (i )*rs_B;
392 
393  int m_behind = i;
394 
395  /*------------------------------------------------------------*/
396 
397  // FLA_Hemvc_external( FLA_UPPER_TRIANGULAR, FLA_NO_CONJUGATE,
398  // FLA_ONE, A00, b01, FLA_ZERO, y01_l );
401  m_behind,
402  buff_1,
403  A00, rs_A, cs_A,
404  b01, rs_B,
405  buff_0,
406  y01, inc_y );
407 
408  // FLA_Trsv_external( FLA_UPPER_TRIANGULAR, FLA_CONJ_TRANSPOSE, FLA_NONUNIT_DIAG,
409  // B00, a01 );
413  m_behind,
414  B00, rs_B, cs_B,
415  a01, rs_A );
416 
417  // FLA_Axpy_external( FLA_MINUS_ONE_HALF, y01_l, a01 );
419  m_behind,
420  buff_m1h,
421  y01, inc_y,
422  a01, rs_A );
423 
424  // FLA_Dot2cs_external( FLA_CONJUGATE, FLA_MINUS_ONE, a01, b01, FLA_ONE, alpha11 );
426  m_behind,
427  buff_m1,
428  a01, rs_A,
429  b01, rs_B,
430  buff_1,
431  alpha11 );
432 
433  // FLA_Inv_scal_external( beta11, alpha11 );
434  // FLA_Inv_scal_external( beta11, alpha11 );
435  bl1_zinvscals( beta11, alpha11 );
436  bl1_zinvscals( beta11, alpha11 );
437 
438  // FLA_Axpy_external( FLA_MINUS_ONE_HALF, y01_l, a01 );
440  m_behind,
441  buff_m1h,
442  y01, inc_y,
443  a01, rs_A );
444 
445  // FLA_Inv_scal_external( beta11, a01 );
447  m_behind,
448  beta11,
449  a01, rs_A );
450 
451  /*------------------------------------------------------------*/
452 
453  }
454 
455  return FLA_SUCCESS;
456 }
FLA_Obj FLA_MINUS_ONE_HALF
Definition: FLA_Init.c:21
void bl1_zinvscalv(conj1_t conj, int n, dcomplex *alpha, dcomplex *x, int incx)
Definition: bl1_invscalv.c:78
FLA_Obj FLA_MINUS_ONE
Definition: FLA_Init.c:22
Definition: blis_type_defs.h:57
Definition: blis_type_defs.h:81
void bl1_zdot2s(conj1_t conj, int n, dcomplex *alpha, dcomplex *x, int incx, dcomplex *y, int incy, dcomplex *beta, dcomplex *rho)
Definition: bl1_dot2s.c:70
Definition: blis_type_defs.h:82
FLA_Obj FLA_ONE
Definition: FLA_Init.c:18
int i
Definition: bl1_axmyv2.c:145
Definition: blis_type_defs.h:74
void bl1_zhemv(uplo1_t uplo, conj1_t conj, int m, dcomplex *alpha, dcomplex *a, int a_rs, int a_cs, dcomplex *x, int incx, dcomplex *beta, dcomplex *y, int incy)
Definition: bl1_hemv.c:134
FLA_Obj FLA_ZERO
Definition: FLA_Init.c:20
Definition: blis_type_defs.h:63
Definition: blis_type_defs.h:137
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
void bl1_zaxpyv(conj1_t conj, int n, dcomplex *alpha, dcomplex *x, int incx, dcomplex *y, int incy)
Definition: bl1_axpyv.c:60