LAPACK  3.7.0
LAPACK: Linear Algebra PACKage

§ slartg()

subroutine slartg ( real  F,
real  G,
real  CS,
real  SN,
real  R 
)

SLARTG generates a plane rotation with real cosine and real sine.

Download SLARTG + dependencies [TGZ] [ZIP] [TXT]

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.
Parameters
[in]F
          F is REAL
          The first component of vector to be rotated.
[in]G
          G is REAL
          The second component of vector to be rotated.
[out]CS
          CS is REAL
          The cosine of the rotation.
[out]SN
          SN is REAL
          The sine of the rotation.
[out]R
          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.
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Date
December 2016