File:  [local] / rpl / lapack / blas / drotg.f
Revision 1.15: download - view: text, annotated - select for diffs - revision graph
Tue May 29 07:19:41 2018 UTC (5 years, 11 months ago) by bertrand
Branches: MAIN
CVS tags: rpl-4_1_35, rpl-4_1_34, rpl-4_1_33, rpl-4_1_32, rpl-4_1_31, rpl-4_1_30, rpl-4_1_29, rpl-4_1_28, HEAD
Mise à jour de Blas.

    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: *  Arguments:
   27: *  ==========
   28: *
   29: *> \param[in] DA
   30: *> \verbatim
   31: *>          DA is DOUBLE PRECISION
   32: *> \endverbatim
   33: *>
   34: *> \param[in] DB
   35: *> \verbatim
   36: *>          DB is DOUBLE PRECISION
   37: *> \endverbatim
   38: *>
   39: *> \param[out] C
   40: *> \verbatim
   41: *>          C is DOUBLE PRECISION
   42: *> \endverbatim
   43: *>
   44: *> \param[out] S
   45: *> \verbatim
   46: *>          S is DOUBLE PRECISION
   47: *> \endverbatim
   48: *
   49: *  Authors:
   50: *  ========
   51: *
   52: *> \author Univ. of Tennessee
   53: *> \author Univ. of California Berkeley
   54: *> \author Univ. of Colorado Denver
   55: *> \author NAG Ltd.
   56: *
   57: *> \date November 2017
   58: *
   59: *> \ingroup double_blas_level1
   60: *
   61: *> \par Further Details:
   62: *  =====================
   63: *>
   64: *> \verbatim
   65: *>
   66: *>     jack dongarra, linpack, 3/11/78.
   67: *> \endverbatim
   68: *>
   69: *  =====================================================================
   70:       SUBROUTINE DROTG(DA,DB,C,S)
   71: *
   72: *  -- Reference BLAS level1 routine (version 3.8.0) --
   73: *  -- Reference BLAS is a software package provided by Univ. of Tennessee,    --
   74: *  -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
   75: *     November 2017
   76: *
   77: *     .. Scalar Arguments ..
   78:       DOUBLE PRECISION C,DA,DB,S
   79: *     ..
   80: *
   81: *  =====================================================================
   82: *
   83: *     .. Local Scalars ..
   84:       DOUBLE PRECISION R,ROE,SCALE,Z
   85: *     ..
   86: *     .. Intrinsic Functions ..
   87:       INTRINSIC DABS,DSIGN,DSQRT
   88: *     ..
   89:       ROE = DB
   90:       IF (DABS(DA).GT.DABS(DB)) ROE = DA
   91:       SCALE = DABS(DA) + DABS(DB)
   92:       IF (SCALE.EQ.0.0d0) THEN
   93:          C = 1.0d0
   94:          S = 0.0d0
   95:          R = 0.0d0
   96:          Z = 0.0d0
   97:       ELSE
   98:          R = SCALE*DSQRT((DA/SCALE)**2+ (DB/SCALE)**2)
   99:          R = DSIGN(1.0d0,ROE)*R
  100:          C = DA/R
  101:          S = DB/R
  102:          Z = 1.0d0
  103:          IF (DABS(DA).GT.DABS(DB)) Z = S
  104:          IF (DABS(DB).GE.DABS(DA) .AND. C.NE.0.0d0) Z = 1.0d0/C
  105:       END IF
  106:       DA = R
  107:       DB = Z
  108:       RETURN
  109:       END

CVSweb interface <joel.bertrand@systella.fr>