From c72cd03194c16c5c877e7d756fdabc54472d0fcb Mon Sep 17 00:00:00 2001 From: james Date: Thu, 3 Mar 2011 20:04:03 +0000 Subject: [PATCH] replaced "do/exit" scan logic with do while loop fixes bug0075 and bug0035 --- SRC/ilaclr.f | 7 ++++--- SRC/iladlr.f | 7 ++++--- SRC/ilaslr.f | 7 ++++--- SRC/ilazlr.f | 7 ++++--- 4 files changed, 16 insertions(+), 12 deletions(-) diff --git a/SRC/ilaclr.f b/SRC/ilaclr.f index 17716b0..1a14aec 100644 --- a/SRC/ilaclr.f +++ b/SRC/ilaclr.f @@ -55,9 +55,10 @@ * Scan up each column tracking the last zero row seen. ILACLR = 0 DO J = 1, N - DO I = M, 1, -1 - IF( A(I, J).NE.ZERO ) EXIT - END DO + I=M + DO WHILE ((A(I,J).NE.ZERO).AND.(I.GE.1)) + I=I-1 + ENDDO ILACLR = MAX( ILACLR, I ) END DO END IF diff --git a/SRC/iladlr.f b/SRC/iladlr.f index 22f44d8..745aef6 100644 --- a/SRC/iladlr.f +++ b/SRC/iladlr.f @@ -55,9 +55,10 @@ * Scan up each column tracking the last zero row seen. ILADLR = 0 DO J = 1, N - DO I = M, 1, -1 - IF( A(I, J).NE.ZERO ) EXIT - END DO + I=M + DO WHILE ((A(I,J).NE.ZERO).AND.(I.GE.1)) + I=I-1 + ENDDO ILADLR = MAX( ILADLR, I ) END DO END IF diff --git a/SRC/ilaslr.f b/SRC/ilaslr.f index b3b7195..32b2dfa 100644 --- a/SRC/ilaslr.f +++ b/SRC/ilaslr.f @@ -55,9 +55,10 @@ * Scan up each column tracking the last zero row seen. ILASLR = 0 DO J = 1, N - DO I = M, 1, -1 - IF( A(I, J).NE.ZERO ) EXIT - END DO + I=M + DO WHILE ((A(I,J).NE.ZERO).AND.(I.GE.1)) + I=I-1 + ENDDO ILASLR = MAX( ILASLR, I ) END DO END IF diff --git a/SRC/ilazlr.f b/SRC/ilazlr.f index ed92f2a..a661a57 100644 --- a/SRC/ilazlr.f +++ b/SRC/ilazlr.f @@ -55,9 +55,10 @@ * Scan up each column tracking the last zero row seen. ILAZLR = 0 DO J = 1, N - DO I = M, 1, -1 - IF( A(I, J).NE.ZERO ) EXIT - END DO + I=M + DO WHILE ((A(I,J).NE.ZERO).AND.(I.GE.1)) + I=I-1 + ENDDO ILAZLR = MAX( ILAZLR, I ) END DO END IF -- 2.7.4