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 / WSQRT.FOR < prev    next >
Encoding:
Text File  |  1991-04-13  |  540 b   |  24 lines

  1.       SUBROUTINE WSQRT (XR, XI, YR, YI)
  2.       IMPLICIT NONE
  3. C
  4. C Y = SQRT(X) WITH YR.GE.0.0 AND SIGN(YI).EQ.SIGN(XI)
  5. C
  6.       DOUBLE PRECISION XR, XI, YR, YI
  7. C
  8.       DOUBLE PRECISION S, TR, TI
  9. C
  10.       DOUBLE PRECISION PYTHAG, FLOP
  11. C
  12. C
  13.       TR = XR
  14.       TI = XI
  15.       S = DSQRT (0.5D0*(PYTHAG (TR, TI)+DABS (TR)))
  16.       IF (TR.GE.0.0D0) YR = FLOP (S)
  17.       IF (TI.LT.0.0D0) S = -S
  18.       IF (TR.LE.0.0D0) YI = FLOP (S)
  19.       IF (TR.LT.0.0D0) YR = FLOP (0.5D0*(TI/YI))
  20.       IF (TR.GT.0.0D0) YI = FLOP (0.5D0*(TI/YR))
  21. C
  22.       RETURN
  23.       END
  24.