194{
195
197
202 extern
203 int ssytd2_fla(
char *,
integer *,
real *,
integer *,
real *,
real *,
real *,
integer *),
ssyr2k_(
char *,
char * ,
integer *,
integer *,
real *,
real *,
integer *,
real *,
integer *,
real *,
real *,
integer *),
xerbla_(
char *,
integer *);
205 extern
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
238
243 {
245 }
246 else if (*n < 0)
247 {
249 }
250 else if (*
lda <
max(1,*n))
251 {
253 }
255 {
257 }
259 {
260
261 nb =
ilaenv_(&c__1,
"SSYTRD", uplo, n, &c_n1, &c_n1, &c_n1);
264 }
266 {
269 return 0;
270 }
272 {
273 return 0;
274 }
275
276 if (*n == 0)
277 {
279 return 0;
280 }
283 if (
nb > 1 &&
nb < *n)
284 {
285
286
287
289 i__2 =
ilaenv_(&c__3,
"SSYTRD", uplo, n, &c_n1, &c_n1, & c_n1);
292 {
293
297 {
298
299
300
301
304 nbmin =
ilaenv_(&c__2,
"SSYTRD", uplo, n, &c_n1, &c_n1, &c_n1);
306 {
308 }
309 }
310 }
311 else
312 {
314 }
315 }
316 else
317 {
319 }
321 {
322
323
327 for (
i__ = *n -
nb + 1;
330 {
331
332
333
336
337
339 ssyr2k_(uplo,
"No transpose", &
i__3, &
nb, &c_b22, &
a[
i__ *
a_dim1 + 1],
lda, &
work[1], &
ldwork, &c_b23, &
a[
a_offset],
lda);
340
341
346 {
349
350 }
351
352 }
353
355 }
356 else
357 {
358
364 {
365
366
367
370
371
373 ssyr2k_(uplo,
"No transpose", &
i__3, &
nb, &c_b22, &
a[
i__ +
nb +
i__ *
a_dim1],
lda, &
work[
nb + 1], &
ldwork, &c_b23, &
a[
i__ +
nb + (
i__ +
nb) *
a_dim1],
lda);
374
375
380 {
383
384 }
385
386 }
387
390 }
392 return 0;
393
394}
int integer
Definition FLA_f2c.h:25
int logical
Definition FLA_f2c.h:36
float real
Definition FLA_f2c.h:30
int i
Definition bl1_axmyv2.c:145
int ssytd2_fla(char *uplo, integer *n, real *a, integer *lda, real *d__, real *e, real *tau, integer *info)
Definition ssytd2.c:169