libflame  revision_anchor
Functions
FLA_Eig_gest_il_opt_var2.c File Reference

(r)

Functions

FLA_Error FLA_Eig_gest_il_opt_var2 (FLA_Obj A, FLA_Obj Y, FLA_Obj B)
 
FLA_Error FLA_Eig_gest_il_ops_var2 (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_il_opd_var2 (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_il_opc_var2 (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_il_opz_var2 (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_il_opc_var2()

FLA_Error FLA_Eig_gest_il_opc_var2 ( 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_cgemv(), bl1_chemv(), bl1_cinvscalv(), BLIS1_CONJUGATE, BLIS1_LOWER_TRIANGULAR, BLIS1_NO_CONJUGATE, BLIS1_NO_TRANSPOSE, FLA_MINUS_ONE, FLA_ONE, FLA_ONE_HALF, FLA_ZERO, and i.

Referenced by FLA_Eig_gest_il_opt_var2().

307 {
308  scomplex* buff_1 = FLA_COMPLEX_PTR( FLA_ONE );
309  scomplex* buff_1h = FLA_COMPLEX_PTR( FLA_ONE_HALF );
310  scomplex* buff_0 = FLA_COMPLEX_PTR( FLA_ZERO );
311  scomplex* buff_m1 = FLA_COMPLEX_PTR( FLA_MINUS_ONE );
312  int i;
313 
314  for ( i = 0; i < m_AB; ++i )
315  {
316  scomplex* A00 = buff_A + (0 )*cs_A + (0 )*rs_A;
317  scomplex* a10t = buff_A + (0 )*cs_A + (i )*rs_A;
318  scomplex* A20 = buff_A + (0 )*cs_A + (i+1)*rs_A;
319  scomplex* alpha11 = buff_A + (i )*cs_A + (i )*rs_A;
320  scomplex* a21 = buff_A + (i )*cs_A + (i+1)*rs_A;
321 
322  scomplex* y10t = buff_y + (0 )*inc_y;
323 
324  scomplex* b10t = buff_B + (0 )*cs_B + (i )*rs_B;
325  scomplex* beta11 = buff_B + (i )*cs_B + (i )*rs_B;
326 
327  int m_ahead = m_AB - i - 1;
328  int m_behind = i;
329 
330  /*------------------------------------------------------------*/
331 
332  // FLA_Hemvc_external( FLA_LOWER_TRIANGULAR, FLA_CONJUGATE,
333  // FLA_ONE_HALF, A00, b10t, FLA_ZERO, y10t_t );
336  m_behind,
337  buff_1h,
338  A00, rs_A, cs_A,
339  b10t, cs_B,
340  buff_0,
341  y10t, inc_y );
342 
343  // FLA_Axpy_external( FLA_MINUS_ONE, y10t_t, a10t );
345  m_behind,
346  buff_m1,
347  y10t, inc_y,
348  a10t, cs_A );
349 
350  // FLA_Dot2cs_external( FLA_CONJUGATE, FLA_MINUS_ONE, a10t, b10t, FLA_ONE, alpha11 );
352  m_behind,
353  buff_m1,
354  a10t, cs_A,
355  b10t, cs_B,
356  buff_1,
357  alpha11 );
358 
359  // FLA_Inv_scal_external( beta11, alpha11 );
360  // FLA_Inv_scal_external( beta11, alpha11 );
361  bl1_cinvscals( beta11, alpha11 );
362  bl1_cinvscals( beta11, alpha11 );
363 
364  // FLA_Gemvc_external( FLA_NO_TRANSPOSE, FLA_CONJUGATE,
365  // FLA_MINUS_ONE, A20, b10t, FLA_ONE, a21 );
368  m_ahead,
369  m_behind,
370  buff_m1,
371  A20, rs_A, cs_A,
372  b10t, cs_B,
373  buff_1,
374  a21, rs_A );
375 
376  // FLA_Inv_scal_external( beta11, a21 );
378  m_ahead,
379  beta11,
380  a21, rs_A );
381 
382  // FLA_Axpy_external( FLA_MINUS_ONE, y10t_t, a10t );
384  m_behind,
385  buff_m1,
386  y10t, inc_y,
387  a10t, cs_A );
388 
389  // FLA_Inv_scal_external( beta11, a10t );
391  m_behind,
392  beta11,
393  a10t, cs_A );
394 
395  /*------------------------------------------------------------*/
396 
397  }
398 
399  return FLA_SUCCESS;
400 }
void bl1_caxpyv(conj1_t conj, int n, scomplex *alpha, scomplex *x, int incx, scomplex *y, int incy)
Definition: bl1_axpyv.c:29
FLA_Obj FLA_MINUS_ONE
Definition: FLA_Init.c:22
Definition: blis_type_defs.h:81
FLA_Obj FLA_ONE_HALF
Definition: FLA_Init.c:19
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:54
Definition: blis_type_defs.h:132
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
int i
Definition: bl1_axmyv2.c:145
Definition: blis_type_defs.h:62
FLA_Obj FLA_ZERO
Definition: FLA_Init.c:20
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_il_opd_var2()

FLA_Error FLA_Eig_gest_il_opd_var2 ( 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_dgemv(), bl1_dhemv(), bl1_dinvscalv(), BLIS1_CONJUGATE, BLIS1_LOWER_TRIANGULAR, BLIS1_NO_CONJUGATE, BLIS1_NO_TRANSPOSE, FLA_MINUS_ONE, FLA_ONE, FLA_ONE_HALF, FLA_ZERO, and i.

Referenced by FLA_Eig_gest_il_opt_var2().

206 {
207  double* buff_1 = FLA_DOUBLE_PTR( FLA_ONE );
208  double* buff_1h = FLA_DOUBLE_PTR( FLA_ONE_HALF );
209  double* buff_0 = FLA_DOUBLE_PTR( FLA_ZERO );
210  double* buff_m1 = FLA_DOUBLE_PTR( FLA_MINUS_ONE );
211  int i;
212 
213  for ( i = 0; i < m_AB; ++i )
214  {
215  double* A00 = buff_A + (0 )*cs_A + (0 )*rs_A;
216  double* a10t = buff_A + (0 )*cs_A + (i )*rs_A;
217  double* A20 = buff_A + (0 )*cs_A + (i+1)*rs_A;
218  double* alpha11 = buff_A + (i )*cs_A + (i )*rs_A;
219  double* a21 = buff_A + (i )*cs_A + (i+1)*rs_A;
220 
221  double* y10t = buff_y + (0 )*inc_y;
222 
223  double* b10t = buff_B + (0 )*cs_B + (i )*rs_B;
224  double* beta11 = buff_B + (i )*cs_B + (i )*rs_B;
225 
226  int m_ahead = m_AB - i - 1;
227  int m_behind = i;
228 
229  /*------------------------------------------------------------*/
230 
231  // FLA_Hemvc_external( FLA_LOWER_TRIANGULAR, FLA_CONJUGATE,
232  // FLA_ONE_HALF, A00, b10t, FLA_ZERO, y10t_t );
235  m_behind,
236  buff_1h,
237  A00, rs_A, cs_A,
238  b10t, cs_B,
239  buff_0,
240  y10t, inc_y );
241 
242  // FLA_Axpy_external( FLA_MINUS_ONE, y10t_t, a10t );
244  m_behind,
245  buff_m1,
246  y10t, inc_y,
247  a10t, cs_A );
248 
249  // FLA_Dot2cs_external( FLA_CONJUGATE, FLA_MINUS_ONE, a10t, b10t, FLA_ONE, alpha11 );
251  m_behind,
252  buff_m1,
253  a10t, cs_A,
254  b10t, cs_B,
255  buff_1,
256  alpha11 );
257 
258  // FLA_Inv_scal_external( beta11, alpha11 );
259  // FLA_Inv_scal_external( beta11, alpha11 );
260  bl1_dinvscals( beta11, alpha11 );
261  bl1_dinvscals( beta11, alpha11 );
262 
263  // FLA_Gemvc_external( FLA_NO_TRANSPOSE, FLA_CONJUGATE,
264  // FLA_MINUS_ONE, A20, b10t, FLA_ONE, a21 );
267  m_ahead,
268  m_behind,
269  buff_m1,
270  A20, rs_A, cs_A,
271  b10t, cs_B,
272  buff_1,
273  a21, rs_A );
274 
275  // FLA_Inv_scal_external( beta11, a21 );
277  m_ahead,
278  beta11,
279  a21, rs_A );
280 
281  // FLA_Axpy_external( FLA_MINUS_ONE, y10t_t, a10t );
283  m_behind,
284  buff_m1,
285  y10t, inc_y,
286  a10t, cs_A );
287 
288  // FLA_Inv_scal_external( beta11, a10t );
290  m_behind,
291  beta11,
292  a10t, cs_A );
293 
294  /*------------------------------------------------------------*/
295 
296  }
297 
298  return FLA_SUCCESS;
299 }
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
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
FLA_Obj FLA_MINUS_ONE
Definition: FLA_Init.c:22
Definition: blis_type_defs.h:81
FLA_Obj FLA_ONE_HALF
Definition: FLA_Init.c:19
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
Definition: blis_type_defs.h:54
int i
Definition: bl1_axmyv2.c:145
Definition: blis_type_defs.h:62
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

◆ FLA_Eig_gest_il_ops_var2()

FLA_Error FLA_Eig_gest_il_ops_var2 ( 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_sgemv(), bl1_shemv(), bl1_sinvscalv(), BLIS1_CONJUGATE, BLIS1_LOWER_TRIANGULAR, BLIS1_NO_CONJUGATE, BLIS1_NO_TRANSPOSE, FLA_MINUS_ONE, FLA_ONE, FLA_ONE_HALF, FLA_ZERO, and i.

Referenced by FLA_Eig_gest_il_opt_var2().

105 {
106  float* buff_1 = FLA_FLOAT_PTR( FLA_ONE );
107  float* buff_1h = FLA_FLOAT_PTR( FLA_ONE_HALF );
108  float* buff_0 = FLA_FLOAT_PTR( FLA_ZERO );
109  float* buff_m1 = FLA_FLOAT_PTR( FLA_MINUS_ONE );
110  int i;
111 
112  for ( i = 0; i < m_AB; ++i )
113  {
114  float* A00 = buff_A + (0 )*cs_A + (0 )*rs_A;
115  float* a10t = buff_A + (0 )*cs_A + (i )*rs_A;
116  float* A20 = buff_A + (0 )*cs_A + (i+1)*rs_A;
117  float* alpha11 = buff_A + (i )*cs_A + (i )*rs_A;
118  float* a21 = buff_A + (i )*cs_A + (i+1)*rs_A;
119 
120  float* y10t = buff_y + (0 )*inc_y;
121 
122  float* b10t = buff_B + (0 )*cs_B + (i )*rs_B;
123  float* beta11 = buff_B + (i )*cs_B + (i )*rs_B;
124 
125  int m_ahead = m_AB - i - 1;
126  int m_behind = i;
127 
128  /*------------------------------------------------------------*/
129 
130  // FLA_Hemvc_external( FLA_LOWER_TRIANGULAR, FLA_CONJUGATE,
131  // FLA_ONE_HALF, A00, b10t, FLA_ZERO, y10t_t );
134  m_behind,
135  buff_1h,
136  A00, rs_A, cs_A,
137  b10t, cs_B,
138  buff_0,
139  y10t, inc_y );
140 
141  // FLA_Axpy_external( FLA_MINUS_ONE, y10t_t, a10t );
143  m_behind,
144  buff_m1,
145  y10t, inc_y,
146  a10t, cs_A );
147 
148  // FLA_Dot2cs_external( FLA_CONJUGATE, FLA_MINUS_ONE, a10t, b10t, FLA_ONE, alpha11 );
150  m_behind,
151  buff_m1,
152  a10t, cs_A,
153  b10t, cs_B,
154  buff_1,
155  alpha11 );
156 
157  // FLA_Inv_scal_external( beta11, alpha11 );
158  // FLA_Inv_scal_external( beta11, alpha11 );
159  bl1_sinvscals( beta11, alpha11 );
160  bl1_sinvscals( beta11, alpha11 );
161 
162  // FLA_Gemvc_external( FLA_NO_TRANSPOSE, FLA_CONJUGATE,
163  // FLA_MINUS_ONE, A20, b10t, FLA_ONE, a21 );
166  m_ahead,
167  m_behind,
168  buff_m1,
169  A20, rs_A, cs_A,
170  b10t, cs_B,
171  buff_1,
172  a21, rs_A );
173 
174  // FLA_Inv_scal_external( beta11, a21 );
176  m_ahead,
177  beta11,
178  a21, rs_A );
179 
180  // FLA_Axpy_external( FLA_MINUS_ONE, y10t_t, a10t );
182  m_behind,
183  buff_m1,
184  y10t, inc_y,
185  a10t, cs_A );
186 
187  // FLA_Inv_scal_external( beta11, a10t );
189  m_behind,
190  beta11,
191  a10t, cs_A );
192 
193  /*------------------------------------------------------------*/
194 
195  }
196 
197  return FLA_SUCCESS;
198 }
FLA_Obj FLA_MINUS_ONE
Definition: FLA_Init.c:22
Definition: blis_type_defs.h:81
FLA_Obj FLA_ONE_HALF
Definition: FLA_Init.c:19
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
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_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
Definition: blis_type_defs.h:54
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:62
FLA_Obj FLA_ZERO
Definition: FLA_Init.c:20

◆ FLA_Eig_gest_il_opt_var2()

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

References FLA_Eig_gest_il_opc_var2(), FLA_Eig_gest_il_opd_var2(), FLA_Eig_gest_il_ops_var2(), FLA_Eig_gest_il_opz_var2(), FLA_Obj_col_stride(), FLA_Obj_datatype(), FLA_Obj_length(), FLA_Obj_row_stride(), FLA_Obj_vector_inc(), and FLA_Part_2x1().

Referenced by FLA_Eig_gest_il().

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 yT, yB;
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_2x1( Y, &yT,
33  &yB, 1, FLA_TOP );
34 
35  inc_y = FLA_Obj_vector_inc( yT );
36 
37  switch ( datatype )
38  {
39  case FLA_FLOAT:
40  {
41  float* buff_A = FLA_FLOAT_PTR( A );
42  float* buff_y = FLA_FLOAT_PTR( yT );
43  float* buff_B = FLA_FLOAT_PTR( B );
44 
46  buff_A, rs_A, cs_A,
47  buff_y, inc_y,
48  buff_B, rs_B, cs_B );
49 
50  break;
51  }
52 
53  case FLA_DOUBLE:
54  {
55  double* buff_A = FLA_DOUBLE_PTR( A );
56  double* buff_y = FLA_DOUBLE_PTR( yT );
57  double* buff_B = FLA_DOUBLE_PTR( B );
58 
60  buff_A, rs_A, cs_A,
61  buff_y, inc_y,
62  buff_B, rs_B, cs_B );
63 
64  break;
65  }
66 
67  case FLA_COMPLEX:
68  {
69  scomplex* buff_A = FLA_COMPLEX_PTR( A );
70  scomplex* buff_y = FLA_COMPLEX_PTR( yT );
71  scomplex* buff_B = FLA_COMPLEX_PTR( B );
72 
74  buff_A, rs_A, cs_A,
75  buff_y, inc_y,
76  buff_B, rs_B, cs_B );
77 
78  break;
79  }
80 
81  case FLA_DOUBLE_COMPLEX:
82  {
83  dcomplex* buff_A = FLA_DOUBLE_COMPLEX_PTR( A );
84  dcomplex* buff_y = FLA_DOUBLE_COMPLEX_PTR( yT );
85  dcomplex* buff_B = FLA_DOUBLE_COMPLEX_PTR( B );
86 
88  buff_A, rs_A, cs_A,
89  buff_y, inc_y,
90  buff_B, rs_B, cs_B );
91 
92  break;
93  }
94  }
95 
96  return FLA_SUCCESS;
97 }
dim_t FLA_Obj_row_stride(FLA_Obj obj)
Definition: FLA_Query.c:167
FLA_Datatype FLA_Obj_datatype(FLA_Obj obj)
Definition: FLA_Query.c:13
Definition: FLA_type_defs.h:158
FLA_Error FLA_Eig_gest_il_ops_var2(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_il_opt_var2.c:101
Definition: blis_type_defs.h:132
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
int FLA_Datatype
Definition: FLA_type_defs.h:49
dim_t FLA_Obj_col_stride(FLA_Obj obj)
Definition: FLA_Query.c:174
FLA_Error FLA_Eig_gest_il_opz_var2(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_il_opt_var2.c:404
FLA_Error FLA_Eig_gest_il_opd_var2(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_il_opt_var2.c:202
FLA_Error FLA_Eig_gest_il_opc_var2(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_il_opt_var2.c:303
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_il_opz_var2()

FLA_Error FLA_Eig_gest_il_opz_var2 ( 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_zgemv(), bl1_zhemv(), bl1_zinvscalv(), BLIS1_CONJUGATE, BLIS1_LOWER_TRIANGULAR, BLIS1_NO_CONJUGATE, BLIS1_NO_TRANSPOSE, FLA_MINUS_ONE, FLA_ONE, FLA_ONE_HALF, FLA_ZERO, and i.

Referenced by FLA_Eig_gest_il_opt_var2().

408 {
409  dcomplex* buff_1 = FLA_DOUBLE_COMPLEX_PTR( FLA_ONE );
410  dcomplex* buff_1h = FLA_DOUBLE_COMPLEX_PTR( FLA_ONE_HALF );
411  dcomplex* buff_0 = FLA_DOUBLE_COMPLEX_PTR( FLA_ZERO );
412  dcomplex* buff_m1 = FLA_DOUBLE_COMPLEX_PTR( FLA_MINUS_ONE );
413  int i;
414 
415  for ( i = 0; i < m_AB; ++i )
416  {
417  dcomplex* A00 = buff_A + (0 )*cs_A + (0 )*rs_A;
418  dcomplex* a10t = buff_A + (0 )*cs_A + (i )*rs_A;
419  dcomplex* A20 = buff_A + (0 )*cs_A + (i+1)*rs_A;
420  dcomplex* alpha11 = buff_A + (i )*cs_A + (i )*rs_A;
421  dcomplex* a21 = buff_A + (i )*cs_A + (i+1)*rs_A;
422 
423  dcomplex* y10t = buff_y + (0 )*inc_y;
424 
425  dcomplex* b10t = buff_B + (0 )*cs_B + (i )*rs_B;
426  dcomplex* beta11 = buff_B + (i )*cs_B + (i )*rs_B;
427 
428  int m_ahead = m_AB - i - 1;
429  int m_behind = i;
430 
431  /*------------------------------------------------------------*/
432 
433  // FLA_Hemvc_external( FLA_LOWER_TRIANGULAR, FLA_CONJUGATE,
434  // FLA_ONE_HALF, A00, b10t, FLA_ZERO, y10t_t );
437  m_behind,
438  buff_1h,
439  A00, rs_A, cs_A,
440  b10t, cs_B,
441  buff_0,
442  y10t, inc_y );
443 
444  // FLA_Axpy_external( FLA_MINUS_ONE, y10t_t, a10t );
446  m_behind,
447  buff_m1,
448  y10t, inc_y,
449  a10t, cs_A );
450 
451  // FLA_Dot2cs_external( FLA_CONJUGATE, FLA_MINUS_ONE, a10t, b10t, FLA_ONE, alpha11 );
453  m_behind,
454  buff_m1,
455  a10t, cs_A,
456  b10t, cs_B,
457  buff_1,
458  alpha11 );
459 
460  // FLA_Inv_scal_external( beta11, alpha11 );
461  // FLA_Inv_scal_external( beta11, alpha11 );
462  bl1_zinvscals( beta11, alpha11 );
463  bl1_zinvscals( beta11, alpha11 );
464 
465  // FLA_Gemvc_external( FLA_NO_TRANSPOSE, FLA_CONJUGATE,
466  // FLA_MINUS_ONE, A20, b10t, FLA_ONE, a21 );
469  m_ahead,
470  m_behind,
471  buff_m1,
472  A20, rs_A, cs_A,
473  b10t, cs_B,
474  buff_1,
475  a21, rs_A );
476 
477  // FLA_Inv_scal_external( beta11, a21 );
479  m_ahead,
480  beta11,
481  a21, rs_A );
482 
483  // FLA_Axpy_external( FLA_MINUS_ONE, y10t_t, a10t );
485  m_behind,
486  buff_m1,
487  y10t, inc_y,
488  a10t, cs_A );
489 
490  // FLA_Inv_scal_external( beta11, a10t );
492  m_behind,
493  beta11,
494  a10t, cs_A );
495 
496  /*------------------------------------------------------------*/
497 
498  }
499 
500  return FLA_SUCCESS;
501 }
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:81
FLA_Obj FLA_ONE_HALF
Definition: FLA_Init.c:19
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
Definition: blis_type_defs.h:54
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
int i
Definition: bl1_axmyv2.c:145
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
Definition: blis_type_defs.h:62
FLA_Obj FLA_ZERO
Definition: FLA_Init.c:20
Definition: blis_type_defs.h:137
void bl1_zaxpyv(conj1_t conj, int n, dcomplex *alpha, dcomplex *x, int incx, dcomplex *y, int incy)
Definition: bl1_axpyv.c:60