libflame revision_anchor
Functions
bl1_invert2s.c File Reference

(r)

Functions

void bl1_sinvert2s (conj1_t conj, float *alpha, float *beta)
 
void bl1_dinvert2s (conj1_t conj, double *alpha, double *beta)
 
void bl1_cinvert2s (conj1_t conj, scomplex *alpha, scomplex *beta)
 
void bl1_zinvert2s (conj1_t conj, dcomplex *alpha, dcomplex *beta)
 

Function Documentation

◆ bl1_cinvert2s()

void bl1_cinvert2s ( conj1_t  conj,
scomplex alpha,
scomplex beta 
)
28{
29 float temp;
30 float s, xr_s, xi_s;
31
32 s = bl1_fmaxabs( alpha->real, alpha->imag ); \
33 xr_s = alpha->real / s;
34 xi_s = alpha->imag / s;
35 temp = xr_s * alpha->real + xi_s * alpha->imag;
36
37 beta->real = xr_s / temp;
38 beta->imag = -xi_s / temp;
39
40 if ( bl1_is_conj( conj ) )
42}
int i
Definition bl1_axmyv2.c:145
dcomplex temp
Definition bl1_axpyv2b.c:301
int bl1_is_conj(conj1_t conj)
Definition bl1_is.c:42
double real
Definition blis_type_defs.h:139
double imag
Definition blis_type_defs.h:139

References bl1_is_conj(), scomplex::imag, scomplex::real, and temp.

Referenced by bl1_cinvscalm(), and bl1_cinvscalv().

◆ bl1_dinvert2s()

void bl1_dinvert2s ( conj1_t  conj,
double alpha,
double beta 
)
21{
22 double one = 1.0;
23
24 *beta = one / *alpha;
25}

Referenced by bl1_dinvscalm(), and bl1_zdinvscalm().

◆ bl1_sinvert2s()

void bl1_sinvert2s ( conj1_t  conj,
float alpha,
float beta 
)
14{
15 float one = 1.0F;
16
17 *beta = one / *alpha;
18}

Referenced by bl1_csinvscalm(), and bl1_sinvscalm().

◆ bl1_zinvert2s()

void bl1_zinvert2s ( conj1_t  conj,
dcomplex alpha,
dcomplex beta 
)
45{
46 double temp;
47 double s, xr_s, xi_s;
48
49 s = bl1_fmaxabs( alpha->real, alpha->imag ); \
50 xr_s = alpha->real / s;
51 xi_s = alpha->imag / s;
52 temp = xr_s * alpha->real + xi_s * alpha->imag;
53
54 beta->real = xr_s / temp;
55 beta->imag = -xi_s / temp;
56
57 if ( bl1_is_conj( conj ) )
59}

References bl1_is_conj(), dcomplex::imag, dcomplex::real, and temp.

Referenced by bl1_zinvscalm(), and bl1_zinvscalv().