diff options
author | james <james@8a072113-8704-0410-8d35-dd094bca7971> | 2013-03-22 12:38:47 +0000 |
---|---|---|
committer | james <james@8a072113-8704-0410-8d35-dd094bca7971> | 2013-03-22 12:38:47 +0000 |
commit | cb5841c008968b9ce08ed6f92a629a0c89500038 (patch) | |
tree | 6ae936695597f09e0ee866bc429a6e20638ac9d0 /SRC/slasd4.f | |
parent | febdb51dbf1ea06b910b40ca60671631cca0c978 (diff) |
Applied patch provided by Sergey Kuznetsov @ Intel, fixes bug where TAU2 can be uninitialized.
Diffstat (limited to 'SRC/slasd4.f')
-rw-r--r-- | SRC/slasd4.f | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/SRC/slasd4.f b/SRC/slasd4.f index 6bed144a..bf0f2cf3 100644 --- a/SRC/slasd4.f +++ b/SRC/slasd4.f @@ -223,6 +223,7 @@ * EPS = SLAMCH( 'Epsilon' ) RHOINV = ONE / RHO + TAU2= ZERO * * The case I = N * @@ -275,6 +276,7 @@ ELSE TAU2 = ( A+SQRT( A*A+FOUR*B*C ) ) / ( TWO*C ) END IF + TAU = TAU2 / ( D( N )+SQRT( D( N )*D( N )+TAU2 ) ) END IF * * It can be proved that @@ -293,6 +295,8 @@ ELSE TAU2 = ( A+SQRT( A*A+FOUR*B*C ) ) / ( TWO*C ) END IF + TAU = TAU2 / ( D( N )+SQRT( D( N )*D( N )+TAU2 ) ) + * * It can be proved that * D(N)^2 < D(N)^2+TAU2 < SIGMA(N)^2 < D(N)^2+RHO/2 @@ -301,7 +305,7 @@ * * The following TAU is to approximate SIGMA_n - D( N ) * - TAU = TAU2 / ( D( N )+SQRT( D( N )*D( N )+TAU2 ) ) +* TAU = TAU2 / ( D( N )+SQRT( D( N )*D( N )+TAU2 ) ) * SIGMA = D( N ) + TAU DO 30 J = 1, N |