# 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