ZLARTG(3) generates a plane rotation so that [ CS SN ] [ F ] [ R ] [ __ ]

SYNOPSIS

SUBROUTINE ZLARTG(
F, G, CS, SN, R )

    
DOUBLE PRECISION CS

    
COMPLEX*16 F, G, R, SN

PURPOSE

ZLARTG generates a plane rotation so that
   [ -SN  CS  ]     [ G ]     [ 0 ]
This is a faster version of the BLAS1 routine ZROTG, except for the following differences:

   F and G are unchanged on return.

   If G=0, then CS=1 and SN=0.

   If F=0, then CS=0 and SN is chosen so that R is real.

ARGUMENTS

F (input) COMPLEX*16
The first component of vector to be rotated.
G (input) COMPLEX*16
The second component of vector to be rotated.
CS (output) DOUBLE PRECISION
The cosine of the rotation.
SN (output) COMPLEX*16
The sine of the rotation.
R (output) COMPLEX*16
The nonzero component of the rotated vector.

FURTHER DETAILS

3-5-96 - Modified with a new algorithm by W. Kahan and J. Demmel This version has a few statements commented out for thread safety (machine parameters are computed on each entry). 10 feb 03, SJH.