Subroutine */
| 543 | } /* dbdsdc_ */ |
| 544 | |
| 545 | /* Subroutine */ int dbdsqr_(char *uplo, integer *n, integer *ncvt, integer * |
| 546 | nru, integer *ncc, doublereal *d__, doublereal *e, doublereal *vt, |
| 547 | integer *ldvt, doublereal *u, integer *ldu, doublereal *c__, integer * |
| 548 | ldc, doublereal *work, integer *info) |
| 549 | { |
| 550 | /* System generated locals */ |
| 551 | integer c_dim1, c_offset, u_dim1, u_offset, vt_dim1, vt_offset, i__1, |
| 552 | i__2; |
| 553 | doublereal d__1, d__2, d__3, d__4; |
| 554 | |
| 555 | /* Local variables */ |
| 556 | static doublereal f, g, h__; |
| 557 | static integer i__, j, m; |
| 558 | static doublereal r__, cs; |
| 559 | static integer ll; |
| 560 | static doublereal sn, mu; |
| 561 | static integer nm1, nm12, nm13, lll; |
| 562 | static doublereal eps, sll, tol, abse; |
| 563 | static integer idir; |
| 564 | static doublereal abss; |
| 565 | static integer oldm; |
| 566 | static doublereal cosl; |
| 567 | static integer isub, iter; |
| 568 | static doublereal unfl, sinl, cosr, smin, smax, sinr; |
| 569 | extern /* Subroutine */ int drot_(integer *, doublereal *, integer *, |
| 570 | doublereal *, integer *, doublereal *, doublereal *), dlas2_( |
| 571 | doublereal *, doublereal *, doublereal *, doublereal *, |
| 572 | doublereal *), dscal_(integer *, doublereal *, doublereal *, |
| 573 | integer *); |
| 574 | extern logical lsame_(char *, char *); |
| 575 | static doublereal oldcs; |
| 576 | extern /* Subroutine */ int dlasr_(char *, char *, char *, integer *, |
| 577 | integer *, doublereal *, doublereal *, doublereal *, integer *); |
| 578 | static integer oldll; |
| 579 | static doublereal shift, sigmn, oldsn; |
| 580 | extern /* Subroutine */ int dswap_(integer *, doublereal *, integer *, |
| 581 | doublereal *, integer *); |
| 582 | static integer maxit; |
| 583 | static doublereal sminl, sigmx; |
| 584 | static logical lower; |
| 585 | extern /* Subroutine */ int dlasq1_(integer *, doublereal *, doublereal *, |
| 586 | doublereal *, integer *), dlasv2_(doublereal *, doublereal *, |
| 587 | doublereal *, doublereal *, doublereal *, doublereal *, |
| 588 | doublereal *, doublereal *, doublereal *); |
| 589 | |
| 590 | extern /* Subroutine */ int dlartg_(doublereal *, doublereal *, |
| 591 | doublereal *, doublereal *, doublereal *), xerbla_(char *, |
| 592 | integer *); |
| 593 | static doublereal sminoa, thresh; |
| 594 | static logical rotate; |
| 595 | static doublereal tolmul; |
| 596 | |
| 597 | |
| 598 | /* |
| 599 | -- LAPACK routine (version 3.2) -- |
| 600 | -- LAPACK is a software package provided by Univ. of Tennessee, -- |
| 601 | -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- |
| 602 | January 2007 |
no test coverage detected