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



NAME
       SLARTG

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



PURPOSE
            SLARTG 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 SROTG,
            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 SBDSQR when
                  there are zeros on the diagonal).

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




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

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

           CS        (output)
                     CS is REAL
                     The cosine of the rotation.

           SN        (output)
                     SN is REAL
                     The sine of the rotation.

           R         (output)
                     R is REAL
                     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                      SLARTG(3)