\brief \b ESMF_DLARTG \htmlonly Download ESMF_DLARTG + dependencies [TGZ] [ZIP] [TXT] \endhtmlonly \par Purpose:
\verbatim
ESMF_DLARTG generate a plane rotation so that
[ CS SN ] . [ F ] = [ R ] where CS2 + SN2 = 1. [ -SN CS ] [ G ] [ 0 ]
This is a slower, more accurate version of the BLAS1 routine DROTG, with the following other differences: F and G are unchanged on return. If G=0, then CS=1 and SN=0. If F=0 and (G .ne. 0), then CS=0 and SN=1 without doing any floating point operations (saves work in ESMF_DBDSQR when there are zeros on the diagonal).
If F exceeds G in magnitude, CS will be positive. \endverbatim \param[in] F \verbatim F is DOUBLE PRECISION The first component of vector to be rotated. \endverbatim
\param[in] G \verbatim G is DOUBLE PRECISION The second component of vector to be rotated. \endverbatim
\param[out] CS \verbatim CS is DOUBLE PRECISION The cosine of the rotation. \endverbatim
\param[out] SN \verbatim SN is DOUBLE PRECISION The sine of the rotation. \endverbatim
\param[out] R \verbatim R is DOUBLE PRECISION The nonzero component of the rotated vector.
This version has a few statements commented out for thread safety (machine parameters are computed on each entry). 10 feb 03, SJH. \endverbatim \author Univ. of Tennessee \author Univ. of California Berkeley \author Univ. of Colorado Denver \author NAG Ltd. \date November 2011 \ingroup auxOTHERauxiliary
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
double precision | :: | F | ||||
double precision | :: | G | ||||
double precision | :: | CS | ||||
double precision | :: | SN | ||||
double precision | :: | R |