Diff for /rpl/lapack/lapack/zlassq.f between versions 1.8 and 1.18

version 1.8, 2011/11/21 20:43:17 version 1.18, 2020/05/21 21:46:09
Line 1 Line 1
 *> \brief \b ZLASSQ  *> \brief \b ZLASSQ updates a sum of squares represented in scaled form.
 *  *
 *  =========== 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 ZLASSQ + dependencies   *> Download ZLASSQ + dependencies
 *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.tgz?format=tgz&filename=/lapack/lapack_routine/zlassq.f">   *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.tgz?format=tgz&filename=/lapack/lapack_routine/zlassq.f">
 *> [TGZ]</a>   *> [TGZ]</a>
 *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.zip?format=zip&filename=/lapack/lapack_routine/zlassq.f">   *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.zip?format=zip&filename=/lapack/lapack_routine/zlassq.f">
 *> [ZIP]</a>   *> [ZIP]</a>
 *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zlassq.f">   *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zlassq.f">
 *> [TXT]</a>  *> [TXT]</a>
 *> \endhtmlonly   *> \endhtmlonly
 *  *
 *  Definition:  *  Definition:
 *  ===========  *  ===========
 *  *
 *       SUBROUTINE ZLASSQ( N, X, INCX, SCALE, SUMSQ )  *       SUBROUTINE ZLASSQ( N, X, INCX, SCALE, SUMSQ )
 *   *
 *       .. Scalar Arguments ..  *       .. Scalar Arguments ..
 *       INTEGER            INCX, N  *       INTEGER            INCX, N
 *       DOUBLE PRECISION   SCALE, SUMSQ  *       DOUBLE PRECISION   SCALE, SUMSQ
Line 27 Line 27
 *       .. Array Arguments ..  *       .. Array Arguments ..
 *       COMPLEX*16         X( * )  *       COMPLEX*16         X( * )
 *       ..  *       ..
 *    *
 *  *
 *> \par Purpose:  *> \par Purpose:
 *  =============  *  =============
Line 41 Line 41
 *> where x( i ) = abs( X( 1 + ( i - 1 )*INCX ) ). The value of sumsq is  *> where x( i ) = abs( X( 1 + ( i - 1 )*INCX ) ). The value of sumsq is
 *> assumed to be at least unity and the value of ssq will then satisfy  *> assumed to be at least unity and the value of ssq will then satisfy
 *>  *>
 *>    1.0 .le. ssq .le. ( sumsq + 2*n ).  *>    1.0 <= ssq <= ( sumsq + 2*n ).
 *>  *>
 *> scale is assumed to be non-negative and scl returns the value  *> scale is assumed to be non-negative and scl returns the value
 *>  *>
Line 65 Line 65
 *>  *>
 *> \param[in] X  *> \param[in] X
 *> \verbatim  *> \verbatim
 *>          X is COMPLEX*16 array, dimension (N)  *>          X is COMPLEX*16 array, dimension (1+(N-1)*INCX)
 *>          The vector x as described above.  *>          The vector x as described above.
 *>             x( i )  = X( 1 + ( i - 1 )*INCX ), 1 <= i <= n.  *>             x( i )  = X( 1 + ( i - 1 )*INCX ), 1 <= i <= n.
 *> \endverbatim  *> \endverbatim
Line 94 Line 94
 *  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 November 2011  *> \date December 2016
 *  *
 *> \ingroup complex16OTHERauxiliary  *> \ingroup complex16OTHERauxiliary
 *  *
 *  =====================================================================  *  =====================================================================
       SUBROUTINE ZLASSQ( N, X, INCX, SCALE, SUMSQ )        SUBROUTINE ZLASSQ( N, X, INCX, SCALE, SUMSQ )
 *  *
 *  -- LAPACK auxiliary routine (version 3.4.0) --  *  -- LAPACK auxiliary 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..--
 *     November 2011  *     December 2016
 *  *
 *     .. Scalar Arguments ..  *     .. Scalar Arguments ..
       INTEGER            INCX, N        INTEGER            INCX, N
Line 129 Line 129
       INTEGER            IX        INTEGER            IX
       DOUBLE PRECISION   TEMP1        DOUBLE PRECISION   TEMP1
 *     ..  *     ..
   *     .. External Functions ..
         LOGICAL            DISNAN
         EXTERNAL           DISNAN
   *     ..
 *     .. Intrinsic Functions ..  *     .. Intrinsic Functions ..
       INTRINSIC          ABS, DBLE, DIMAG        INTRINSIC          ABS, DBLE, DIMAG
 *     ..  *     ..
Line 136 Line 140
 *  *
       IF( N.GT.0 ) THEN        IF( N.GT.0 ) THEN
          DO 10 IX = 1, 1 + ( N-1 )*INCX, INCX           DO 10 IX = 1, 1 + ( N-1 )*INCX, INCX
             IF( DBLE( X( IX ) ).NE.ZERO ) THEN              TEMP1 = ABS( DBLE( X( IX ) ) )
                TEMP1 = ABS( DBLE( X( IX ) ) )              IF( TEMP1.GT.ZERO.OR.DISNAN( TEMP1 ) ) THEN
                IF( SCALE.LT.TEMP1 ) THEN                 IF( SCALE.LT.TEMP1 ) THEN
                   SUMSQ = 1 + SUMSQ*( SCALE / TEMP1 )**2                    SUMSQ = 1 + SUMSQ*( SCALE / TEMP1 )**2
                   SCALE = TEMP1                    SCALE = TEMP1
Line 145 Line 149
                   SUMSQ = SUMSQ + ( TEMP1 / SCALE )**2                    SUMSQ = SUMSQ + ( TEMP1 / SCALE )**2
                END IF                 END IF
             END IF              END IF
             IF( DIMAG( X( IX ) ).NE.ZERO ) THEN              TEMP1 = ABS( DIMAG( X( IX ) ) )
                TEMP1 = ABS( DIMAG( X( IX ) ) )              IF( TEMP1.GT.ZERO.OR.DISNAN( TEMP1 ) ) THEN
                IF( SCALE.LT.TEMP1 ) THEN                 IF( SCALE.LT.TEMP1 ) THEN
                   SUMSQ = 1 + SUMSQ*( SCALE / TEMP1 )**2                    SUMSQ = 1 + SUMSQ*( SCALE / TEMP1 )**2
                   SCALE = TEMP1                    SCALE = TEMP1

Removed from v.1.8  
changed lines
  Added in v.1.18


CVSweb interface <joel.bertrand@systella.fr>