Note: this is a BLAS routine and is not in libslatec.a
*DECK SROTMG SUBROUTINE SROTMG (SD1, SD2, SX1, SY1, SPARAM) C***BEGIN PROLOGUE SROTMG C***PURPOSE Construct a modified Givens transformation. C***LIBRARY SLATEC (BLAS) C***CATEGORY D1B10 C***TYPE SINGLE PRECISION (SROTMG-S, DROTMG-D) C***KEYWORDS BLAS, LINEAR ALGEBRA, MODIFIED GIVENS ROTATION, VECTOR C***AUTHOR Lawson, C. L., (JPL) C Hanson, R. J., (SNLA) C Kincaid, D. R., (U. of Texas) C Krogh, F. T., (JPL) C***DESCRIPTION C C B L A S Subprogram C Description of Parameters C C --Input-- C SD1 single precision scalar C SD2 single precision scalar C SX1 single precision scalar C SY2 single precision scalar C SPARAM S.P. 5-vector. SPARAM(1)=SFLAG defined below. C Locations 2-5 contain the rotation matrix. C C --Output-- C SD1 changed to represent the effect of the transformation C SD2 changed to represent the effect of the transformation C SX1 changed to represent the effect of the transformation C SY2 unchanged C C Construct the modified Givens transformation matrix H which zeros C the second component of the 2-vector (SQRT(SD1)*SX1,SQRT(SD2)* C SY2)**T. C With SPARAM(1)=SFLAG, H has one of the following forms: C C SFLAG=-1.E0 SFLAG=0.E0 SFLAG=1.E0 SFLAG=-2.E0 C C (SH11 SH12) (1.E0 SH12) (SH11 1.E0) (1.E0 0.E0) C H=( ) ( ) ( ) ( ) C (SH21 SH22), (SH21 1.E0), (-1.E0 SH22), (0.E0 1.E0). C C Locations 2-5 of SPARAM contain SH11, SH21, SH12, and SH22, C respectively. (Values of 1.E0, -1.E0, or 0.E0 implied by the C value of SPARAM(1) are not stored in SPARAM.) C C***REFERENCES C. L. Lawson, R. J. Hanson, D. R. Kincaid and F. T. C Krogh, Basic linear algebra subprograms for Fortran C usage, Algorithm No. 539, Transactions on Mathematical C Software 5, 3 (September 1979), pp. 308-323. C***ROUTINES CALLED (NONE) C***REVISION HISTORY (YYMMDD) C 780301 DATE WRITTEN C 861211 REVISION DATE from Version 3.2 C 891214 Prologue converted to Version 4.0 format. (BAB) C 920316 Prologue corrected. (WRB) C 920501 Reformatted the REFERENCES section. (WRB) C***END PROLOGUE SROTMG