diff options
author | lipshitz <lipshitz@8a072113-8704-0410-8d35-dd094bca7971> | 2011-10-03 19:24:45 +0000 |
---|---|---|
committer | lipshitz <lipshitz@8a072113-8704-0410-8d35-dd094bca7971> | 2011-10-03 19:24:45 +0000 |
commit | 3b27d3196c299551e634bd40e0662d244ff693e1 (patch) | |
tree | c88b0f664840b9227fc9f4a7f11f725d8d4bb884 /SRC/cbdsqr.f | |
parent | 0cd8057636e95b333c27913ee8d0dd3143f8af73 (diff) |
Fix to Ming Gu's bug in dqds. See post of LAPACK DEV message board for more details
Diffstat (limited to 'SRC/cbdsqr.f')
-rw-r--r-- | SRC/cbdsqr.f | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/SRC/cbdsqr.f b/SRC/cbdsqr.f index 6142a818..12cbb748 100644 --- a/SRC/cbdsqr.f +++ b/SRC/cbdsqr.f @@ -106,7 +106,8 @@ * The leading dimension of the array C. * LDC >= max(1,N) if NCC > 0; LDC >=1 if NCC = 0. * -* RWORK (workspace) REAL array, dimension (4*N) +* RWORK (workspace) REAL array, dimension (2*N) +* if NCVT = NRU = NCC = 0, (max(1, 4*N-4)) otherwise * * INFO (output) INTEGER * = 0: successful exit @@ -223,7 +224,11 @@ * IF( .NOT.ROTATE ) THEN CALL SLASQ1( N, D, E, RWORK, INFO ) - RETURN +* +* If INFO equals 2, dqds didn't finish, try to finish +* + IF( INFO .NE. 2 ) RETURN + INFO = 0 END IF * NM1 = N - 1 |