166{
168 int m_A;
169 int rs_A, cs_A;
170 int inc_d;
171 int inc_e;
173
175
177
180
182
183 if ( m_A != 1 )
185 else
186 inc_e = 0;
187
188 switch ( datatype )
189 {
190 case FLA_FLOAT:
191 {
192 float* buff_A = FLA_FLOAT_PTR( A );
193 float* buff_d = FLA_FLOAT_PTR( d );
194 float* buff_e = ( m_A != 1 ? FLA_FLOAT_PTR( e ) : NULL );
195
196 for (
i = 0;
i < m_A; ++
i )
197 {
198 float* alpha11 = buff_A + (
i )*cs_A + (
i )*rs_A;
199 float* a21_t = buff_A + (
i )*cs_A + (
i+1)*rs_A;
200 float* delta1 = buff_d + (
i )*inc_d;
201 float* epsilon1 = buff_e + (
i )*inc_e;
202
203 int m_ahead = m_A -
i - 1;
204
205
206 *delta1 = *alpha11;
207
208
209 if ( m_ahead > 0 )
210 *epsilon1 = *a21_t;
211 }
212
213 break;
214 }
215
216 case FLA_DOUBLE:
217 {
218 double* buff_A = FLA_DOUBLE_PTR( A );
219 double* buff_d = FLA_DOUBLE_PTR( d );
220 double* buff_e = ( m_A != 1 ? FLA_DOUBLE_PTR( e ) : NULL );
221
222 for (
i = 0;
i < m_A; ++
i )
223 {
224 double* alpha11 = buff_A + (
i )*cs_A + (
i )*rs_A;
225 double* a21_t = buff_A + (
i )*cs_A + (
i+1)*rs_A;
226 double* delta1 = buff_d + (
i )*inc_d;
227 double* epsilon1 = buff_e + (
i )*inc_e;
228
229 int m_ahead = m_A -
i - 1;
230
231
232 *delta1 = *alpha11;
233
234
235 if ( m_ahead > 0 )
236 *epsilon1 = *a21_t;
237 }
238
239 break;
240 }
241
242 case FLA_COMPLEX:
243 {
244 scomplex* buff_A = FLA_COMPLEX_PTR( A );
245 scomplex* buff_d = FLA_COMPLEX_PTR( d );
246 scomplex* buff_e = ( m_A != 1 ? FLA_COMPLEX_PTR( e ) : NULL );
247
248 for (
i = 0;
i < m_A; ++
i )
249 {
250 scomplex* alpha11 = buff_A + (
i )*cs_A + (
i )*rs_A;
251 scomplex* a21_t = buff_A + (
i )*cs_A + (
i+1)*rs_A;
253 scomplex* epsilon1 = buff_e + (
i )*inc_e;
254
255 int m_ahead = m_A -
i - 1;
256
257
258 *delta1 = *alpha11;
259
260
261 if ( m_ahead > 0 )
262 *epsilon1 = *a21_t;
263 }
264
265 break;
266 }
267
268 case FLA_DOUBLE_COMPLEX:
269 {
270 dcomplex* buff_A = FLA_DOUBLE_COMPLEX_PTR( A );
271 dcomplex* buff_d = FLA_DOUBLE_COMPLEX_PTR( d );
272 dcomplex* buff_e = ( m_A != 1 ? FLA_DOUBLE_COMPLEX_PTR( e ) : NULL );
273
274 for (
i = 0;
i < m_A; ++
i )
275 {
276 dcomplex* alpha11 = buff_A + (
i )*cs_A + (
i )*rs_A;
277 dcomplex* a21_t = buff_A + (
i )*cs_A + (
i+1)*rs_A;
279 dcomplex* epsilon1 = buff_e + (
i )*inc_e;
280
281 int m_ahead = m_A -
i - 1;
282
283
284 *delta1 = *alpha11;
285
286
287 if ( m_ahead > 0 )
288 *epsilon1 = *a21_t;
289 }
290
291 break;
292 }
293 }
294
295 return FLA_SUCCESS;
296}
dim_t FLA_Obj_row_stride(FLA_Obj obj)
Definition FLA_Query.c:167
dim_t FLA_Obj_col_stride(FLA_Obj obj)
Definition FLA_Query.c:174
dim_t FLA_Obj_vector_inc(FLA_Obj obj)
Definition FLA_Query.c:145
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
Definition blis_type_defs.h:138
Definition blis_type_defs.h:133