26{
28 int m, inc_b, inc_d;
30
32
35
37
38 switch ( datatype )
39 {
40 case FLA_FLOAT:
41 {
42 float* buff_d = FLA_FLOAT_PTR( d );
43 float* buff_1 = FLA_FLOAT_PTR(
FLA_ONE );
44
46 buff_1,
47 buff_d, inc_d );
48
49 break;
50 }
51 case FLA_DOUBLE:
52 {
53 double* buff_d = FLA_DOUBLE_PTR( d );
54 double* buff_1 = FLA_DOUBLE_PTR(
FLA_ONE );
55
57 buff_1,
58 buff_d, inc_d );
59
60 break;
61 }
62 case FLA_COMPLEX:
63 {
64 scomplex* buff_b = ( m > 1 ? FLA_COMPLEX_PTR( b ) : NULL );
65 scomplex* buff_d = FLA_COMPLEX_PTR( d );
67
69 buff_1,
70 buff_d, inc_d );
71
72 for (
i = 1;
i < m; ++
i )
73 {
78
79 if ( beta1->
imag == 0.0F )
80 *delta1 = *buff_1;
81 else
82 {
84 bl1_cabsval2( beta1, &absv );
85 bl1_cinvscals( &absv, delta1 );
86
87 *beta1 = absv;
88 }
90 {
92 bl1_ccopyconj( delta1, &conj_delta1 );
93 bl1_cscals( &conj_delta1, beta2 );
94 }
95 }
96 break;
97 }
98 case FLA_DOUBLE_COMPLEX:
99 {
100 dcomplex* buff_b = ( m > 1 ? FLA_DOUBLE_COMPLEX_PTR( b ) : NULL );
101 dcomplex* buff_d = FLA_DOUBLE_COMPLEX_PTR( d );
103
105 buff_1,
106 buff_d, inc_d );
107
108 for (
i = 1;
i < m; ++
i )
109 {
114
115 if ( beta1->
imag == 0.0 )
116 *delta1 = *buff_1;
117 else
118 {
120 bl1_zabsval2( beta1, &absv );
121 bl1_zinvscals( &absv, delta1 );
122
123 *beta1 = absv;
124 }
126 {
128 bl1_zcopyconj( delta1, &conj_delta1 );
130 }
131 }
132 break;
133 }
134 }
135
136 return FLA_SUCCESS;
137}
FLA_Obj FLA_ONE
Definition FLA_Init.c:18
dim_t FLA_Obj_vector_inc(FLA_Obj obj)
Definition FLA_Query.c:145
dim_t FLA_Obj_vector_dim(FLA_Obj obj)
Definition FLA_Query.c:137
FLA_Datatype FLA_Obj_datatype(FLA_Obj obj)
Definition FLA_Query.c:13
int FLA_Datatype
Definition FLA_type_defs.h:49
int i
Definition bl1_axmyv2.c:145
void bl1_dsetv(int m, double *sigma, double *x, int incx)
Definition bl1_setv.c:39
void bl1_zsetv(int m, dcomplex *sigma, dcomplex *x, int incx)
Definition bl1_setv.c:66
void bl1_csetv(int m, scomplex *sigma, scomplex *x, int incx)
Definition bl1_setv.c:52
void bl1_ssetv(int m, float *sigma, float *x, int incx)
Definition bl1_setv.c:26
@ BLIS1_CONJUGATE
Definition blis_type_defs.h:82
Definition blis_type_defs.h:138
double imag
Definition blis_type_defs.h:139
Definition blis_type_defs.h:133
float imag
Definition blis_type_defs.h:134