Diff for /rpl/lapack/blas/drotmg.f between versions 1.12 and 1.17

version 1.12, 2014/01/27 09:28:12 version 1.17, 2023/08/07 08:38:43
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/
 *  *
 *  Definition:  *  Definition:
 *  ===========  *  ===========
 *  *
 *       SUBROUTINE DROTMG(DD1,DD2,DX1,DY1,DPARAM)  *       SUBROUTINE DROTMG(DD1,DD2,DX1,DY1,DPARAM)
 *   *
 *       .. Scalar Arguments ..  *       .. Scalar Arguments ..
 *       DOUBLE PRECISION DD1,DD2,DX1,DY1  *       DOUBLE PRECISION DD1,DD2,DX1,DY1
 *       ..  *       ..
 *       .. Array Arguments ..  *       .. Array Arguments ..
 *       DOUBLE PRECISION DPARAM(5)  *       DOUBLE PRECISION DPARAM(5)
 *       ..  *       ..
 *    *
 *  *
 *> \par Purpose:  *> \par Purpose:
 *  =============  *  =============
Line 65 Line 65
 *>          DY1 is DOUBLE PRECISION  *>          DY1 is DOUBLE PRECISION
 *> \endverbatim  *> \endverbatim
 *>  *>
 *> \param[in,out] DPARAM  *> \param[out] DPARAM
 *> \verbatim  *> \verbatim
 *>          DPARAM is DOUBLE PRECISION array, dimension 5  *>          DPARAM is DOUBLE PRECISION array, dimension (5)
 *>     DPARAM(1)=DFLAG  *>     DPARAM(1)=DFLAG
 *>     DPARAM(2)=DH11  *>     DPARAM(2)=DH11
 *>     DPARAM(3)=DH21  *>     DPARAM(3)=DH21
Line 78 Line 78
 *  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  
 *  *
 *> \ingroup double_blas_level1  *> \ingroup double_blas_level1
 *  *
 *  =====================================================================  *  =====================================================================
       SUBROUTINE DROTMG(DD1,DD2,DX1,DY1,DPARAM)        SUBROUTINE DROTMG(DD1,DD2,DX1,DY1,DPARAM)
 *  *
 *  -- Reference BLAS level1 routine (version 3.4.0) --  *  -- Reference BLAS level1 routine --
 *  -- Reference BLAS is a software package provided by Univ. of Tennessee,    --  *  -- Reference BLAS 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  
 *  *
 *     .. Scalar Arguments ..  *     .. Scalar Arguments ..
       DOUBLE PRECISION DD1,DD2,DX1,DY1        DOUBLE PRECISION DD1,DD2,DX1,DY1
Line 135 Line 132
             DFLAG = -TWO              DFLAG = -TWO
             DPARAM(1) = DFLAG              DPARAM(1) = DFLAG
             RETURN              RETURN
          END IF            END IF
 *        REGULAR-CASE..  *        REGULAR-CASE..
          DP1 = DD1*DX1           DP1 = DD1*DX1
          DQ2 = DP2*DY1           DQ2 = DP2*DY1
Line 152 Line 149
              DD1 = DD1/DU               DD1 = DD1/DU
              DD2 = DD2/DU               DD2 = DD2/DU
              DX1 = DX1*DU               DX1 = DX1*DU
              ELSE
   *            This code path if here for safety. We do not expect this
   *            condition to ever hold except in edge cases with rounding
   *            errors. See DOI: 10.1145/355841.355847
                DFLAG = -ONE
                DH11 = ZERO
                DH12 = ZERO
                DH21 = ZERO
                DH22 = ZERO
   *
                DD1 = ZERO
                DD2 = ZERO
                DX1 = ZERO
            END IF             END IF
          ELSE           ELSE
   
Line 203 Line 213
                END IF                 END IF
             ENDDO              ENDDO
          END IF           END IF
     
          IF (DD2.NE.ZERO) THEN           IF (DD2.NE.ZERO) THEN
             DO WHILE ( (DABS(DD2).LE.RGAMSQ) .OR. (DABS(DD2).GE.GAMSQ) )              DO WHILE ( (DABS(DD2).LE.RGAMSQ) .OR. (DABS(DD2).GE.GAMSQ) )
                IF (DFLAG.EQ.ZERO) THEN                 IF (DFLAG.EQ.ZERO) THEN
Line 223 Line 233
                   DD2 = DD2/GAM**2                    DD2 = DD2/GAM**2
                   DH21 = DH21*GAM                    DH21 = DH21*GAM
                   DH22 = DH22*GAM                    DH22 = DH22*GAM
                END IF                       END IF
             END DO              END DO
          END IF           END IF
        
       END IF        END IF
   
       IF (DFLAG.LT.ZERO) THEN        IF (DFLAG.LT.ZERO) THEN
Line 236 Line 246
          DPARAM(5) = DH22           DPARAM(5) = DH22
       ELSE IF (DFLAG.EQ.ZERO) THEN        ELSE IF (DFLAG.EQ.ZERO) THEN
          DPARAM(3) = DH21           DPARAM(3) = DH21
          DPARAM(4) = DH12            DPARAM(4) = DH12
       ELSE        ELSE
          DPARAM(2) = DH11           DPARAM(2) = DH11
          DPARAM(5) = DH22           DPARAM(5) = DH22
Line 244 Line 254
   
       DPARAM(1) = DFLAG        DPARAM(1) = DFLAG
       RETURN        RETURN
   *
   *     End of DROTMG
   *
       END        END
         
        
        
        

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


CVSweb interface <joel.bertrand@systella.fr>