home *** CD-ROM | disk | FTP | other *** search
/ The Fred Fish Collection 1.5 / ffcollection-1-5-1992-11.iso / ff_progs / libs / matlab.lzh / MATLAB / MATLAB.LZH / Source / MatLab / RROTG.FOR < prev    next >
Encoding:
Text File  |  1991-04-13  |  598 b   |  28 lines

  1.       SUBROUTINE RROTG (DA, DB, C, S)
  2.       IMPLICIT NONE
  3. C
  4. C CONSTRUCT GIVENS PLANE ROTATION
  5. C
  6.       DOUBLE PRECISION DA, DB, C, S
  7. C
  8.       DOUBLE PRECISION RHO, R, Z
  9. C
  10.       DOUBLE PRECISION PYTHAG, FLOP
  11. C
  12. C
  13.       RHO = DB
  14.       IF (DABS (DA).GT.DABS (DB)) RHO = DA
  15.       C = 1.0D0
  16.       S = 0.0D0
  17.       Z = 1.0D0
  18.       R = FLOP (DSIGN (PYTHAG (DA, DB), RHO))
  19.       IF (R.NE.0.0D0) C = FLOP (DA/R)
  20.       IF (R.NE.0.0D0) S = FLOP (DB/R)
  21.       IF (DABS (DA).GT.DABS (DB)) Z = S
  22.       IF (DABS (DB).GE.DABS (DA) .AND. C.NE.0.0D0) Z = FLOP (1.0D0/C)
  23.       DA = R
  24.       DB = Z
  25. C
  26.       RETURN
  27.       END
  28.