Diff for /rpl/lapack/blas/zrotg.f between versions 1.5 and 1.12

version 1.5, 2010/08/13 21:03:42 version 1.12, 2016/08/27 15:37:54
Line 1 Line 1
   *> \brief \b ZROTG
   *
   *  =========== DOCUMENTATION ===========
   *
   * Online html documentation available at 
   *            http://www.netlib.org/lapack/explore-html/ 
   *
   *  Definition:
   *  ===========
   *
   *       SUBROUTINE ZROTG(CA,CB,C,S)
   * 
   *       .. Scalar Arguments ..
   *       COMPLEX*16 CA,CB,S
   *       DOUBLE PRECISION C
   *       ..
   *  
   *
   *> \par Purpose:
   *  =============
   *>
   *> \verbatim
   *>
   *>    ZROTG determines a double complex Givens rotation.
   *> \endverbatim
   *
   *  Authors:
   *  ========
   *
   *> \author Univ. of Tennessee 
   *> \author Univ. of California Berkeley 
   *> \author Univ. of Colorado Denver 
   *> \author NAG Ltd. 
   *
   *> \date November 2011
   *
   *> \ingroup complex16_blas_level1
   *
   *  =====================================================================
       SUBROUTINE ZROTG(CA,CB,C,S)        SUBROUTINE ZROTG(CA,CB,C,S)
   *
   *  -- Reference BLAS level1 routine (version 3.4.0) --
   *  -- Reference BLAS is a software package provided by Univ. of Tennessee,    --
   *  -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
   *     November 2011
   *
 *     .. Scalar Arguments ..  *     .. Scalar Arguments ..
       DOUBLE COMPLEX CA,CB,S        COMPLEX*16 CA,CB,S
       DOUBLE PRECISION C        DOUBLE PRECISION C
 *     ..  *     ..
 *  *
 *  Purpose  
 *  =======  
 *  
 *     ZROTG determines a double complex Givens rotation.  
 *  
 *  =====================================================================  *  =====================================================================
 *  *
 *     .. Local Scalars ..  *     .. Local Scalars ..
       DOUBLE COMPLEX ALPHA        COMPLEX*16 ALPHA
       DOUBLE PRECISION NORM,SCALE        DOUBLE PRECISION NORM,SCALE
 *     ..  *     ..
 *     .. Intrinsic Functions ..  *     .. Intrinsic Functions ..
       INTRINSIC CDABS,DCMPLX,DCONJG,DSQRT        INTRINSIC CDABS,DCMPLX,DCONJG,DSQRT
 *     ..  *     ..
       IF (CDABS(CA).NE.0.0d0) GO TO 10        IF (CDABS(CA).EQ.0.0d0) THEN
       C = 0.0d0           C = 0.0d0
       S = (1.0d0,0.0d0)           S = (1.0d0,0.0d0)
       CA = CB           CA = CB
       GO TO 20        ELSE
    10 CONTINUE           SCALE = CDABS(CA) + CDABS(CB)
       SCALE = CDABS(CA) + CDABS(CB)           NORM = SCALE*DSQRT((CDABS(CA/DCMPLX(SCALE,0.0d0)))**2+
       NORM = SCALE*DSQRT((CDABS(CA/DCMPLX(SCALE,0.0d0)))**2+       $       (CDABS(CB/DCMPLX(SCALE,0.0d0)))**2)
      +       (CDABS(CB/DCMPLX(SCALE,0.0d0)))**2)           ALPHA = CA/CDABS(CA)
       ALPHA = CA/CDABS(CA)           C = CDABS(CA)/NORM
       C = CDABS(CA)/NORM           S = ALPHA*DCONJG(CB)/NORM
       S = ALPHA*DCONJG(CB)/NORM           CA = ALPHA*NORM
       CA = ALPHA*NORM        END IF
    20 CONTINUE  
       RETURN        RETURN
       END        END

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


CVSweb interface <joel.bertrand@systella.fr>