Diff for /rpl/lapack/lapack/dlasq6.f between versions 1.14 and 1.17

version 1.14, 2016/08/27 15:34:32 version 1.17, 2018/05/29 07:18:01
Line 2 Line 2
 *  *
 *  =========== DOCUMENTATION ===========  *  =========== DOCUMENTATION ===========
 *  *
 * Online html documentation available at   * Online html documentation available at
 *            http://www.netlib.org/lapack/explore-html/   *            http://www.netlib.org/lapack/explore-html/
 *  *
 *> \htmlonly  *> \htmlonly
 *> Download DLASQ6 + dependencies   *> Download DLASQ6 + dependencies
 *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.tgz?format=tgz&filename=/lapack/lapack_routine/dlasq6.f">   *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.tgz?format=tgz&filename=/lapack/lapack_routine/dlasq6.f">
 *> [TGZ]</a>   *> [TGZ]</a>
 *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.zip?format=zip&filename=/lapack/lapack_routine/dlasq6.f">   *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.zip?format=zip&filename=/lapack/lapack_routine/dlasq6.f">
 *> [ZIP]</a>   *> [ZIP]</a>
 *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dlasq6.f">   *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dlasq6.f">
 *> [TXT]</a>  *> [TXT]</a>
 *> \endhtmlonly   *> \endhtmlonly
 *  *
 *  Definition:  *  Definition:
 *  ===========  *  ===========
 *  *
 *       SUBROUTINE DLASQ6( I0, N0, Z, PP, DMIN, DMIN1, DMIN2, DN,  *       SUBROUTINE DLASQ6( I0, N0, Z, PP, DMIN, DMIN1, DMIN2, DN,
 *                          DNM1, DNM2 )  *                          DNM1, DNM2 )
 *   *
 *       .. Scalar Arguments ..  *       .. Scalar Arguments ..
 *       INTEGER            I0, N0, PP  *       INTEGER            I0, N0, PP
 *       DOUBLE PRECISION   DMIN, DMIN1, DMIN2, DN, DNM1, DNM2  *       DOUBLE PRECISION   DMIN, DMIN1, DMIN2, DN, DNM1, DNM2
Line 28 Line 28
 *       .. Array Arguments ..  *       .. Array Arguments ..
 *       DOUBLE PRECISION   Z( * )  *       DOUBLE PRECISION   Z( * )
 *       ..  *       ..
 *    *
 *  *
 *> \par Purpose:  *> \par Purpose:
 *  =============  *  =============
Line 106 Line 106
 *  Authors:  *  Authors:
 *  ========  *  ========
 *  *
 *> \author Univ. of Tennessee   *> \author Univ. of Tennessee
 *> \author Univ. of California Berkeley   *> \author Univ. of California Berkeley
 *> \author Univ. of Colorado Denver   *> \author Univ. of Colorado Denver
 *> \author NAG Ltd.   *> \author NAG Ltd.
 *  *
 *> \date September 2012  *> \date December 2016
 *  *
 *> \ingroup auxOTHERcomputational  *> \ingroup auxOTHERcomputational
 *  *
Line 119 Line 119
       SUBROUTINE DLASQ6( I0, N0, Z, PP, DMIN, DMIN1, DMIN2, DN,        SUBROUTINE DLASQ6( I0, N0, Z, PP, DMIN, DMIN1, DMIN2, DN,
      $                   DNM1, DNM2 )       $                   DNM1, DNM2 )
 *  *
 *  -- LAPACK computational routine (version 3.4.2) --  *  -- LAPACK computational routine (version 3.7.0) --
 *  -- LAPACK is a software package provided by Univ. of Tennessee,    --  *  -- LAPACK is a software package provided by Univ. of Tennessee,    --
 *  -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--  *  -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
 *     September 2012  *     December 2016
 *  *
 *     .. Scalar Arguments ..  *     .. Scalar Arguments ..
       INTEGER            I0, N0, PP        INTEGER            I0, N0, PP
Line 156 Line 156
 *  *
       SAFMIN = DLAMCH( 'Safe minimum' )        SAFMIN = DLAMCH( 'Safe minimum' )
       J4 = 4*I0 + PP - 3        J4 = 4*I0 + PP - 3
       EMIN = Z( J4+4 )         EMIN = Z( J4+4 )
       D = Z( J4 )        D = Z( J4 )
       DMIN = D        DMIN = D
 *  *
       IF( PP.EQ.0 ) THEN        IF( PP.EQ.0 ) THEN
          DO 10 J4 = 4*I0, 4*( N0-3 ), 4           DO 10 J4 = 4*I0, 4*( N0-3 ), 4
             Z( J4-2 ) = D + Z( J4-1 )               Z( J4-2 ) = D + Z( J4-1 )
             IF( Z( J4-2 ).EQ.ZERO ) THEN              IF( Z( J4-2 ).EQ.ZERO ) THEN
                Z( J4 ) = ZERO                 Z( J4 ) = ZERO
                D = Z( J4+1 )                 D = Z( J4+1 )
Line 173 Line 173
                TEMP = Z( J4+1 ) / Z( J4-2 )                 TEMP = Z( J4+1 ) / Z( J4-2 )
                Z( J4 ) = Z( J4-1 )*TEMP                 Z( J4 ) = Z( J4-1 )*TEMP
                D = D*TEMP                 D = D*TEMP
             ELSE               ELSE
                Z( J4 ) = Z( J4+1 )*( Z( J4-1 ) / Z( J4-2 ) )                 Z( J4 ) = Z( J4+1 )*( Z( J4-1 ) / Z( J4-2 ) )
                D = Z( J4+1 )*( D / Z( J4-2 ) )                 D = Z( J4+1 )*( D / Z( J4-2 ) )
             END IF              END IF
Line 182 Line 182
    10    CONTINUE     10    CONTINUE
       ELSE        ELSE
          DO 20 J4 = 4*I0, 4*( N0-3 ), 4           DO 20 J4 = 4*I0, 4*( N0-3 ), 4
             Z( J4-3 ) = D + Z( J4 )               Z( J4-3 ) = D + Z( J4 )
             IF( Z( J4-3 ).EQ.ZERO ) THEN              IF( Z( J4-3 ).EQ.ZERO ) THEN
                Z( J4-1 ) = ZERO                 Z( J4-1 ) = ZERO
                D = Z( J4+2 )                 D = Z( J4+2 )
Line 193 Line 193
                TEMP = Z( J4+2 ) / Z( J4-3 )                 TEMP = Z( J4+2 ) / Z( J4-3 )
                Z( J4-1 ) = Z( J4 )*TEMP                 Z( J4-1 ) = Z( J4 )*TEMP
                D = D*TEMP                 D = D*TEMP
             ELSE               ELSE
                Z( J4-1 ) = Z( J4+2 )*( Z( J4 ) / Z( J4-3 ) )                 Z( J4-1 ) = Z( J4+2 )*( Z( J4 ) / Z( J4-3 ) )
                D = Z( J4+2 )*( D / Z( J4-3 ) )                 D = Z( J4+2 )*( D / Z( J4-3 ) )
             END IF              END IF
Line 202 Line 202
    20    CONTINUE     20    CONTINUE
       END IF        END IF
 *  *
 *     Unroll last two steps.   *     Unroll last two steps.
 *  *
       DNM2 = D        DNM2 = D
       DMIN2 = DMIN        DMIN2 = DMIN

Removed from v.1.14  
changed lines
  Added in v.1.17


CVSweb interface <joel.bertrand@systella.fr>