libflame  revision_anchor
Functions
bl1_dot2s.c File Reference

(r)

Functions

void bl1_sdot2s (conj1_t conj, int n, float *alpha, float *x, int incx, float *y, int incy, float *beta, float *rho)
 
void bl1_ddot2s (conj1_t conj, int n, double *alpha, double *x, int incx, double *y, int incy, double *beta, double *rho)
 
void bl1_cdot2s (conj1_t conj, int n, scomplex *alpha, scomplex *x, int incx, scomplex *y, int incy, scomplex *beta, scomplex *rho)
 
void bl1_zdot2s (conj1_t conj, int n, dcomplex *alpha, dcomplex *x, int incx, dcomplex *y, int incy, dcomplex *beta, dcomplex *rho)
 

Function Documentation

◆ bl1_cdot2s()

void bl1_cdot2s ( conj1_t  conj,
int  n,
scomplex alpha,
scomplex x,
int  incx,
scomplex y,
int  incy,
scomplex beta,
scomplex rho 
)

References bl1_cdot(), scomplex::imag, scomplex::real, and rho.

Referenced by FLA_Dot2cs_external(), FLA_Dot2s_external(), FLA_Eig_gest_il_opc_var1(), FLA_Eig_gest_il_opc_var2(), FLA_Eig_gest_il_opc_var3(), FLA_Eig_gest_iu_opc_var1(), FLA_Eig_gest_iu_opc_var2(), FLA_Eig_gest_iu_opc_var3(), FLA_Eig_gest_nl_opc_var1(), FLA_Eig_gest_nl_opc_var2(), FLA_Eig_gest_nu_opc_var1(), FLA_Eig_gest_nu_opc_var2(), FLA_Lyap_h_opc_var1(), FLA_Lyap_h_opc_var2(), FLA_Lyap_h_opc_var3(), FLA_Lyap_n_opc_var1(), FLA_Lyap_n_opc_var2(), and FLA_Lyap_n_opc_var3().

40 {
41  scomplex dotxy;
42  scomplex dotyx;
43  scomplex alpha_d = *alpha;
44  scomplex alphac_d = *alpha;
45  scomplex beta_d = *beta;
46  scomplex rho_d = *rho;
47 
48  alphac_d.imag *= -1.0F;
49 
50  bl1_cdot( conj,
51  n,
52  x, incx,
53  y, incy,
54  &dotxy );
55 
56  bl1_cdot( conj,
57  n,
58  y, incy,
59  x, incx,
60  &dotyx );
61 
62  rho->real = beta_d.real * rho_d.real - beta_d.imag * rho_d.imag +
63  alpha_d.real * dotxy.real - alpha_d.imag * dotxy.imag +
64  alphac_d.real * dotyx.real - alphac_d.imag * dotyx.imag;
65  rho->imag = beta_d.real * rho_d.imag + beta_d.imag * rho_d.real +
66  alpha_d.real * dotxy.imag + alpha_d.imag * dotxy.real +
67  alphac_d.real * dotyx.imag + alphac_d.imag * dotyx.real;
68 }
float real
Definition: blis_type_defs.h:134
* rho
Definition: bl1_axpyv2bdotaxpy.c:322
void bl1_cdot(conj1_t conj, int n, scomplex *x, int incx, scomplex *y, int incy, scomplex *rho)
Definition: bl1_dot.c:39
Definition: blis_type_defs.h:132
float imag
Definition: blis_type_defs.h:134

◆ bl1_ddot2s()

void bl1_ddot2s ( conj1_t  conj,
int  n,
double *  alpha,
double *  x,
int  incx,
double *  y,
int  incy,
double *  beta,
double *  rho 
)

References bl1_ddot().

Referenced by FLA_Dot2cs_external(), FLA_Dot2s_external(), FLA_Eig_gest_il_opd_var1(), FLA_Eig_gest_il_opd_var2(), FLA_Eig_gest_il_opd_var3(), FLA_Eig_gest_iu_opd_var1(), FLA_Eig_gest_iu_opd_var2(), FLA_Eig_gest_iu_opd_var3(), FLA_Eig_gest_nl_opd_var1(), FLA_Eig_gest_nl_opd_var2(), FLA_Eig_gest_nu_opd_var1(), FLA_Eig_gest_nu_opd_var2(), FLA_Lyap_h_opd_var1(), FLA_Lyap_h_opd_var2(), FLA_Lyap_h_opd_var3(), FLA_Lyap_n_opd_var1(), FLA_Lyap_n_opd_var2(), and FLA_Lyap_n_opd_var3().

27 {
28  double dot;
29 
30  bl1_ddot( conj,
31  n,
32  x, incx,
33  y, incy,
34  &dot );
35 
36  *rho = (*beta) * (*rho) + 2.0 * (*alpha) * dot;
37 }
* rho
Definition: bl1_axpyv2bdotaxpy.c:322
void bl1_ddot(conj1_t conj, int n, double *x, int incx, double *y, int incy, double *rho)
Definition: bl1_dot.c:26

◆ bl1_sdot2s()

void bl1_sdot2s ( conj1_t  conj,
int  n,
float *  alpha,
float *  x,
int  incx,
float *  y,
int  incy,
float *  beta,
float *  rho 
)

References bl1_sdot().

Referenced by FLA_Dot2cs_external(), FLA_Dot2s_external(), FLA_Eig_gest_il_ops_var1(), FLA_Eig_gest_il_ops_var2(), FLA_Eig_gest_il_ops_var3(), FLA_Eig_gest_iu_ops_var1(), FLA_Eig_gest_iu_ops_var2(), FLA_Eig_gest_iu_ops_var3(), FLA_Eig_gest_nl_ops_var1(), FLA_Eig_gest_nl_ops_var2(), FLA_Eig_gest_nu_ops_var1(), FLA_Eig_gest_nu_ops_var2(), FLA_Lyap_h_ops_var1(), FLA_Lyap_h_ops_var2(), FLA_Lyap_h_ops_var3(), FLA_Lyap_n_ops_var1(), FLA_Lyap_n_ops_var2(), and FLA_Lyap_n_ops_var3().

14 {
15  float dot;
16 
17  bl1_sdot( conj,
18  n,
19  x, incx,
20  y, incy,
21  &dot );
22 
23  *rho = (*beta) * (*rho) + 2.0F * (*alpha) * dot;
24 }
* rho
Definition: bl1_axpyv2bdotaxpy.c:322
void bl1_sdot(conj1_t conj, int n, float *x, int incx, float *y, int incy, float *rho)
Definition: bl1_dot.c:13

◆ bl1_zdot2s()

void bl1_zdot2s ( conj1_t  conj,
int  n,
dcomplex alpha,
dcomplex x,
int  incx,
dcomplex y,
int  incy,
dcomplex beta,
dcomplex rho 
)

References bl1_zdot(), dcomplex::imag, dcomplex::real, and rho.

Referenced by FLA_Dot2cs_external(), FLA_Dot2s_external(), FLA_Eig_gest_il_opz_var1(), FLA_Eig_gest_il_opz_var2(), FLA_Eig_gest_il_opz_var3(), FLA_Eig_gest_iu_opz_var1(), FLA_Eig_gest_iu_opz_var2(), FLA_Eig_gest_iu_opz_var3(), FLA_Eig_gest_nl_opz_var1(), FLA_Eig_gest_nl_opz_var2(), FLA_Eig_gest_nu_opz_var1(), FLA_Eig_gest_nu_opz_var2(), FLA_Lyap_h_opz_var1(), FLA_Lyap_h_opz_var2(), FLA_Lyap_h_opz_var3(), FLA_Lyap_n_opz_var1(), FLA_Lyap_n_opz_var2(), and FLA_Lyap_n_opz_var3().

71 {
72  dcomplex dotxy;
73  dcomplex dotyx;
74  dcomplex alpha_d = *alpha;
75  dcomplex alphac_d = *alpha;
76  dcomplex beta_d = *beta;
77  dcomplex rho_d = *rho;
78 
79  alphac_d.imag *= -1.0;
80 
81  bl1_zdot( conj,
82  n,
83  x, incx,
84  y, incy,
85  &dotxy );
86 
87  bl1_zdot( conj,
88  n,
89  y, incy,
90  x, incx,
91  &dotyx );
92 
93  rho->real = beta_d.real * rho_d.real - beta_d.imag * rho_d.imag +
94  alpha_d.real * dotxy.real - alpha_d.imag * dotxy.imag +
95  alphac_d.real * dotyx.real - alphac_d.imag * dotyx.imag;
96  rho->imag = beta_d.real * rho_d.imag + beta_d.imag * rho_d.real +
97  alpha_d.real * dotxy.imag + alpha_d.imag * dotxy.real +
98  alphac_d.real * dotyx.imag + alphac_d.imag * dotyx.real;
99 }
* rho
Definition: bl1_axpyv2bdotaxpy.c:322
double imag
Definition: blis_type_defs.h:139
void bl1_zdot(conj1_t conj, int n, dcomplex *x, int incx, dcomplex *y, int incy, dcomplex *rho)
Definition: bl1_dot.c:65
double real
Definition: blis_type_defs.h:139
Definition: blis_type_defs.h:137