Annotation of rpl/lapack/blas/drotg.f, revision 1.1
1.1 ! bertrand 1: SUBROUTINE DROTG(DA,DB,C,S)
! 2: * .. Scalar Arguments ..
! 3: DOUBLE PRECISION C,DA,DB,S
! 4: * ..
! 5: *
! 6: * Purpose
! 7: * =======
! 8: *
! 9: * DROTG construct givens plane rotation.
! 10: *
! 11: * Further Details
! 12: * ===============
! 13: *
! 14: * jack dongarra, linpack, 3/11/78.
! 15: *
! 16: * =====================================================================
! 17: *
! 18: * .. Local Scalars ..
! 19: DOUBLE PRECISION R,ROE,SCALE,Z
! 20: * ..
! 21: * .. Intrinsic Functions ..
! 22: INTRINSIC DABS,DSIGN,DSQRT
! 23: * ..
! 24: ROE = DB
! 25: IF (DABS(DA).GT.DABS(DB)) ROE = DA
! 26: SCALE = DABS(DA) + DABS(DB)
! 27: IF (SCALE.NE.0.0d0) GO TO 10
! 28: C = 1.0d0
! 29: S = 0.0d0
! 30: R = 0.0d0
! 31: Z = 0.0d0
! 32: GO TO 20
! 33: 10 R = SCALE*DSQRT((DA/SCALE)**2+ (DB/SCALE)**2)
! 34: R = DSIGN(1.0d0,ROE)*R
! 35: C = DA/R
! 36: S = DB/R
! 37: Z = 1.0d0
! 38: IF (DABS(DA).GT.DABS(DB)) Z = S
! 39: IF (DABS(DB).GE.DABS(DA) .AND. C.NE.0.0d0) Z = 1.0d0/C
! 40: 20 DA = R
! 41: DB = Z
! 42: RETURN
! 43: END
CVSweb interface <joel.bertrand@systella.fr>