crotg.f

      SUBROUTINE CROTG (CA, CB, C, S)
C***BEGIN PROLOGUE  CROTG
C***PURPOSE  Construct a Givens transformation.
C***LIBRARY   SLATEC (BLAS)
C***CATEGORY  D1B10
C***TYPE      COMPLEX (SROTG-S, DROTG-D, CROTG-C)
C***KEYWORDS  BLAS, GIVENS ROTATION, GIVENS TRANSFORMATION,
C             LINEAR ALGEBRA, VECTOR
C***AUTHOR  (UNKNOWN)
C***DESCRIPTION
C
C    Complex Givens transformation
C
C    Construct the Givens transformation
C
C             (C    S)
C       G  =  (      ),  C**2 + ABS(S)**2 =1,
C             (-S   C)
C
C    which zeros the second entry of the complex 2-vector (CA,CB)**T
C
C    The quantity CA/ABS(CA)*NORM(CA,CB) overwrites CA in storage.
C
C    Input:
C        CA (Complex)
C        CB (Complex)
C
C    Output:
C        CA (Complex)      CA/ABS(CA)*NORM(CA,CB)
C        C  (Real)
C        S  (Complex)
C
C***REFERENCES  (NONE)
C***ROUTINES CALLED  (NONE)
C***REVISION HISTORY  (YYMMDD)
C   790101  DATE WRITTEN
C   890531  Changed all specific intrinsics to generic.  (WRB)
C   890531  REVISION DATE from Version 3.2
C   891214  Prologue converted to Version 4.0 format.  (BAB)
C***END PROLOGUE  CROTG