DLARTG(3)      LAPACK routine of NEC Numeric Library Collection      DLARTG(3)



NAME
       DLARTG

SYNOPSIS
       SUBROUTINE DLARTG (F, G, CS, SN, R)



PURPOSE
            DLARTG generate a plane rotation so that

               [  CS  SN  ]  .  [ F ]  =  [ R ]   where CS**2 + SN**2 = 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 DBDSQR when
                  there are zeros on the diagonal).

            If F exceeds G in magnitude, CS will be positive.




ARGUMENTS
           F         (input)
                     F is DOUBLE PRECISION
                     The first component of vector to be rotated.

           G         (input)
                     G is DOUBLE PRECISION
                     The second component of vector to be rotated.

           CS        (output)
                     CS is DOUBLE PRECISION
                     The cosine of the rotation.

           SN        (output)
                     SN is DOUBLE PRECISION
                     The sine of the rotation.

           R         (output)
                     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.



LAPACK routine                  31 October 2017                      DLARTG(3)