summaryrefslogtreecommitdiff
path: root/SRC/zsyconv.f
diff options
context:
space:
mode:
authorlangou <langou@users.noreply.github.com>2015-10-29 04:58:50 +0000
committerlangou <langou@users.noreply.github.com>2015-10-29 04:58:50 +0000
commit794766767994706d17cb1d0fe20e92acf8e267b2 (patch)
treee24564a6d2fe7ef3ff3d7d572a555fb73173d30e /SRC/zsyconv.f
parentb2f92b663a60f844694fbc38fbe046e01f7bb7ac (diff)
downloadlapack-794766767994706d17cb1d0fe20e92acf8e267b2.tar.gz
lapack-794766767994706d17cb1d0fe20e92acf8e267b2.tar.bz2
lapack-794766767994706d17cb1d0fe20e92acf8e267b2.zip
The subroutine DSYCONV stores the supdiagonal of the symmetric 1-by-1 or 2-by-2
block matrix in the array WORK. (Or the subdiagonal, same array.) Before commit, only the nonzero elements of WORK were initialized to their correct nonzero values. The zero entries were not initialized and not referenced and assumed to be zero in subsequent subroutines. This is fine, but I think a better behavior for the subroutine is to initialize these zero entries to zero. So the commit is initializing these entries to zero. Also a (double precision) ZERO in the D routine should have been an (integer) 0. Also fix some formatting to have C, D, and S consistent. Note: the indentations, comments of the Z routine is not consistent with C, D and S. I did not have time to fix this.
Diffstat (limited to 'SRC/zsyconv.f')
-rw-r--r--SRC/zsyconv.f2
1 files changed, 2 insertions, 0 deletions
diff --git a/SRC/zsyconv.f b/SRC/zsyconv.f
index 44ff53e8..57e94ac2 100644
--- a/SRC/zsyconv.f
+++ b/SRC/zsyconv.f
@@ -183,6 +183,7 @@
DO WHILE ( I .GT. 1 )
IF( IPIV(I) .LT. 0 ) THEN
WORK(I)=A(I-1,I)
+ WORK(I-1)=ZERO
A(I-1,I)=ZERO
I=I-1
ELSE
@@ -276,6 +277,7 @@
DO WHILE ( I .LE. N )
IF( I.LT.N .AND. IPIV(I) .LT. 0 ) THEN
WORK(I)=A(I+1,I)
+ WORK(I+1)=ZERO
A(I+1,I)=ZERO
I=I+1
ELSE