|
170 | 170 | *> \author Univ. of Colorado Denver |
171 | 171 | *> \author NAG Ltd. |
172 | 172 | * |
173 | | -*> \ingroup complex16GEsolve |
| 173 | +*> \ingroup gelss |
174 | 174 | * |
175 | 175 | * ===================================================================== |
176 | 176 | SUBROUTINE ZGELSS( M, N, NRHS, A, LDA, B, LDB, S, RCOND, RANK, |
@@ -212,10 +212,9 @@ SUBROUTINE ZGELSS( M, N, NRHS, A, LDA, B, LDB, S, RCOND, RANK, |
212 | 212 | COMPLEX*16 DUM( 1 ) |
213 | 213 | * .. |
214 | 214 | * .. External Subroutines .. |
215 | | - EXTERNAL DLABAD, DLASCL, DLASET, XERBLA, ZBDSQR, ZCOPY, |
216 | | - $ ZDRSCL, ZGEBRD, ZGELQF, ZGEMM, ZGEMV, ZGEQRF, |
217 | | - $ ZLACPY, ZLASCL, ZLASET, ZUNGBR, ZUNMBR, ZUNMLQ, |
218 | | - $ ZUNMQR |
| 215 | + EXTERNAL DLASCL, DLASET, XERBLA, ZBDSQR, ZCOPY, ZDRSCL, |
| 216 | + $ ZGEBRD, ZGELQF, ZGEMM, ZGEMV, ZGEQRF, ZLACPY, |
| 217 | + $ ZLASCL, ZLASET, ZUNGBR, ZUNMBR, ZUNMLQ |
219 | 218 | * .. |
220 | 219 | * .. External Functions .. |
221 | 220 | INTEGER ILAENV |
@@ -388,7 +387,6 @@ SUBROUTINE ZGELSS( M, N, NRHS, A, LDA, B, LDB, S, RCOND, RANK, |
388 | 387 | SFMIN = DLAMCH( 'S' ) |
389 | 388 | SMLNUM = SFMIN / EPS |
390 | 389 | BIGNUM = ONE / SMLNUM |
391 | | - CALL DLABAD( SMLNUM, BIGNUM ) |
392 | 390 | * |
393 | 391 | * Scale A if max element outside range [SMLNUM,BIGNUM] |
394 | 392 | * |
@@ -540,7 +538,7 @@ SUBROUTINE ZGELSS( M, N, NRHS, A, LDA, B, LDB, S, RCOND, RANK, |
540 | 538 | $ LDB, CZERO, WORK, N ) |
541 | 539 | CALL ZLACPY( 'G', N, BL, WORK, N, B( 1, I ), LDB ) |
542 | 540 | 20 CONTINUE |
543 | | - ELSE |
| 541 | + ELSE IF( NRHS.EQ.1 ) THEN |
544 | 542 | CALL ZGEMV( 'C', N, N, CONE, A, LDA, B, 1, CZERO, WORK, 1 ) |
545 | 543 | CALL ZCOPY( N, WORK, 1, B, 1 ) |
546 | 544 | END IF |
@@ -645,7 +643,7 @@ SUBROUTINE ZGELSS( M, N, NRHS, A, LDA, B, LDB, S, RCOND, RANK, |
645 | 643 | CALL ZLACPY( 'G', M, BL, WORK( IWORK ), M, B( 1, I ), |
646 | 644 | $ LDB ) |
647 | 645 | 40 CONTINUE |
648 | | - ELSE |
| 646 | + ELSE IF( NRHS.EQ.1 ) THEN |
649 | 647 | CALL ZGEMV( 'C', M, M, CONE, WORK( IL ), LDWORK, B( 1, 1 ), |
650 | 648 | $ 1, CZERO, WORK( IWORK ), 1 ) |
651 | 649 | CALL ZCOPY( M, WORK( IWORK ), 1, B( 1, 1 ), 1 ) |
@@ -737,7 +735,7 @@ SUBROUTINE ZGELSS( M, N, NRHS, A, LDA, B, LDB, S, RCOND, RANK, |
737 | 735 | $ LDB, CZERO, WORK, N ) |
738 | 736 | CALL ZLACPY( 'F', N, BL, WORK, N, B( 1, I ), LDB ) |
739 | 737 | 60 CONTINUE |
740 | | - ELSE |
| 738 | + ELSE IF( NRHS.EQ.1 ) THEN |
741 | 739 | CALL ZGEMV( 'C', M, N, CONE, A, LDA, B, 1, CZERO, WORK, 1 ) |
742 | 740 | CALL ZCOPY( N, WORK, 1, B, 1 ) |
743 | 741 | END IF |
|
0 commit comments