File:  [local] / rpl / lapack / blas / drotg.f
Revision 1.11: download - view: text, annotated - select for diffs - revision graph
Mon Jan 27 09:28:12 2014 UTC (10 years, 3 months ago) by bertrand
Branches: MAIN
CVS tags: rpl-4_1_24, rpl-4_1_23, rpl-4_1_22, rpl-4_1_21, rpl-4_1_20, rpl-4_1_19, rpl-4_1_18, rpl-4_1_17, HEAD
Cohérence.

    1: *> \brief \b DROTG
    2: *
    3: *  =========== DOCUMENTATION ===========
    4: *
    5: * Online html documentation available at 
    6: *            http://www.netlib.org/lapack/explore-html/ 
    7: *
    8: *  Definition:
    9: *  ===========
   10: *
   11: *       SUBROUTINE DROTG(DA,DB,C,S)
   12:    13: *       .. Scalar Arguments ..
   14: *       DOUBLE PRECISION C,DA,DB,S
   15: *       ..
   16: *  
   17: *
   18: *> \par Purpose:
   19: *  =============
   20: *>
   21: *> \verbatim
   22: *>
   23: *>    DROTG construct givens plane rotation.
   24: *> \endverbatim
   25: *
   26: *  Authors:
   27: *  ========
   28: *
   29: *> \author Univ. of Tennessee 
   30: *> \author Univ. of California Berkeley 
   31: *> \author Univ. of Colorado Denver 
   32: *> \author NAG Ltd. 
   33: *
   34: *> \date November 2011
   35: *
   36: *> \ingroup double_blas_level1
   37: *
   38: *> \par Further Details:
   39: *  =====================
   40: *>
   41: *> \verbatim
   42: *>
   43: *>     jack dongarra, linpack, 3/11/78.
   44: *> \endverbatim
   45: *>
   46: *  =====================================================================
   47:       SUBROUTINE DROTG(DA,DB,C,S)
   48: *
   49: *  -- Reference BLAS level1 routine (version 3.4.0) --
   50: *  -- Reference BLAS is a software package provided by Univ. of Tennessee,    --
   51: *  -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
   52: *     November 2011
   53: *
   54: *     .. Scalar Arguments ..
   55:       DOUBLE PRECISION C,DA,DB,S
   56: *     ..
   57: *
   58: *  =====================================================================
   59: *
   60: *     .. Local Scalars ..
   61:       DOUBLE PRECISION R,ROE,SCALE,Z
   62: *     ..
   63: *     .. Intrinsic Functions ..
   64:       INTRINSIC DABS,DSIGN,DSQRT
   65: *     ..
   66:       ROE = DB
   67:       IF (DABS(DA).GT.DABS(DB)) ROE = DA
   68:       SCALE = DABS(DA) + DABS(DB)
   69:       IF (SCALE.EQ.0.0d0) THEN
   70:          C = 1.0d0
   71:          S = 0.0d0
   72:          R = 0.0d0
   73:          Z = 0.0d0
   74:       ELSE
   75:          R = SCALE*DSQRT((DA/SCALE)**2+ (DB/SCALE)**2)
   76:          R = DSIGN(1.0d0,ROE)*R
   77:          C = DA/R
   78:          S = DB/R
   79:          Z = 1.0d0
   80:          IF (DABS(DA).GT.DABS(DB)) Z = S
   81:          IF (DABS(DB).GE.DABS(DA) .AND. C.NE.0.0d0) Z = 1.0d0/C
   82:       END IF
   83:       DA = R
   84:       DB = Z
   85:       RETURN
   86:       END

CVSweb interface <joel.bertrand@systella.fr>