libflame  revision_anchor
Functions
bl1_axpysv.c File Reference

(r)

Functions

void bl1_saxpysv (int n, float *alpha0, float *alpha1, float *x, int incx, float *beta, float *y, int incy)
 
void bl1_daxpysv (int n, double *alpha0, double *alpha1, double *x, int incx, double *beta, double *y, int incy)
 
void bl1_caxpysv (int n, scomplex *alpha0, scomplex *alpha1, scomplex *x, int incx, scomplex *beta, scomplex *y, int incy)
 
void bl1_zaxpysv (int n, dcomplex *alpha0, dcomplex *alpha1, dcomplex *x, int incx, dcomplex *beta, dcomplex *y, int incy)
 

Function Documentation

◆ bl1_caxpysv()

void bl1_caxpysv ( int  n,
scomplex alpha0,
scomplex alpha1,
scomplex x,
int  incx,
scomplex beta,
scomplex y,
int  incy 
)
52 {
53  scomplex alpha_prod;
54 
55  // Return early if possible.
56  if ( bl1_zero_dim1( n ) ) return;
57 
58  alpha_prod.real = alpha0->real * alpha1->real - alpha0->imag * alpha1->imag;
59  alpha_prod.imag = alpha0->real * alpha1->imag + alpha0->imag * alpha1->real;
60 
61  bl1_cscal( n,
62  beta,
63  y, incy );
64 
65  bl1_caxpy( n,
66  &alpha_prod,
67  x, incx,
68  y, incy );
69 }
void bl1_caxpy(int n, scomplex *alpha, scomplex *x, int incx, scomplex *y, int incy)
Definition: bl1_axpy.c:43
double *restrict alpha1
Definition: bl1_axpyv2bdotaxpy.c:198
void bl1_cscal(int n, scomplex *alpha, scomplex *x, int incx)
Definition: bl1_scal.c:52
int bl1_zero_dim1(int m)
Definition: bl1_is.c:113
Definition: blis_type_defs.h:133
float imag
Definition: blis_type_defs.h:134
float real
Definition: blis_type_defs.h:134

References alpha1, bl1_caxpy(), bl1_cscal(), bl1_zero_dim1(), scomplex::imag, and scomplex::real.

Referenced by FLA_Lyap_h_opc_var2(), FLA_Lyap_h_opc_var3(), FLA_Lyap_h_opc_var4(), FLA_Lyap_n_opc_var2(), FLA_Lyap_n_opc_var3(), and FLA_Lyap_n_opc_var4().

◆ bl1_daxpysv()

void bl1_daxpysv ( int  n,
double *  alpha0,
double *  alpha1,
double *  x,
int  incx,
double *  beta,
double *  y,
int  incy 
)
33 {
34  double alpha_prod;
35 
36  // Return early if possible.
37  if ( bl1_zero_dim1( n ) ) return;
38 
39  alpha_prod = (*alpha0) * (*alpha1);
40 
41  bl1_dscal( n,
42  beta,
43  y, incy );
44 
45  bl1_daxpy( n,
46  &alpha_prod,
47  x, incx,
48  y, incy );
49 }
void bl1_daxpy(int n, double *alpha, double *x, int incx, double *y, int incy)
Definition: bl1_axpy.c:28
void bl1_dscal(int n, double *alpha, double *x, int incx)
Definition: bl1_scal.c:26

References bl1_daxpy(), bl1_dscal(), and bl1_zero_dim1().

Referenced by FLA_Lyap_h_opd_var2(), FLA_Lyap_h_opd_var3(), FLA_Lyap_h_opd_var4(), FLA_Lyap_n_opd_var2(), FLA_Lyap_n_opd_var3(), and FLA_Lyap_n_opd_var4().

◆ bl1_saxpysv()

void bl1_saxpysv ( int  n,
float *  alpha0,
float *  alpha1,
float *  x,
int  incx,
float *  beta,
float *  y,
int  incy 
)
14 {
15  float alpha_prod;
16 
17  // Return early if possible.
18  if ( bl1_zero_dim1( n ) ) return;
19 
20  alpha_prod = (*alpha0) * (*alpha1);
21 
22  bl1_sscal( n,
23  beta,
24  y, incy );
25 
26  bl1_saxpy( n,
27  &alpha_prod,
28  x, incx,
29  y, incy );
30 }
void bl1_saxpy(int n, float *alpha, float *x, int incx, float *y, int incy)
Definition: bl1_axpy.c:13
void bl1_sscal(int n, float *alpha, float *x, int incx)
Definition: bl1_scal.c:13

References bl1_saxpy(), bl1_sscal(), and bl1_zero_dim1().

Referenced by FLA_Lyap_h_ops_var2(), FLA_Lyap_h_ops_var3(), FLA_Lyap_h_ops_var4(), FLA_Lyap_n_ops_var2(), FLA_Lyap_n_ops_var3(), and FLA_Lyap_n_ops_var4().

◆ bl1_zaxpysv()

void bl1_zaxpysv ( int  n,
dcomplex alpha0,
dcomplex alpha1,
dcomplex x,
int  incx,
dcomplex beta,
dcomplex y,
int  incy 
)
72 {
73  dcomplex alpha_prod;
74 
75  // Return early if possible.
76  if ( bl1_zero_dim1( n ) ) return;
77 
78  alpha_prod.real = alpha0->real * alpha1->real - alpha0->imag * alpha1->imag;
79  alpha_prod.imag = alpha0->real * alpha1->imag + alpha0->imag * alpha1->real;
80 
81  bl1_zscal( n,
82  beta,
83  y, incy );
84 
85  bl1_zaxpy( n,
86  &alpha_prod,
87  x, incx,
88  y, incy );
89 }
void bl1_zaxpy(int n, dcomplex *alpha, dcomplex *x, int incx, dcomplex *y, int incy)
Definition: bl1_axpy.c:58
void bl1_zscal(int n, dcomplex *alpha, dcomplex *x, int incx)
Definition: bl1_scal.c:78
Definition: blis_type_defs.h:138
double real
Definition: blis_type_defs.h:139
double imag
Definition: blis_type_defs.h:139

References alpha1, bl1_zaxpy(), bl1_zero_dim1(), bl1_zscal(), dcomplex::imag, and dcomplex::real.

Referenced by FLA_Lyap_h_opz_var2(), FLA_Lyap_h_opz_var3(), FLA_Lyap_h_opz_var4(), FLA_Lyap_n_opz_var2(), FLA_Lyap_n_opz_var3(), and FLA_Lyap_n_opz_var4().