cdscl.f 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. *DECK CDSCL
  2. SUBROUTINE CDSCL (HMAX, N, NQ, RMAX, H, RC, RH, YH)
  3. C***BEGIN PROLOGUE CDSCL
  4. C***SUBSIDIARY
  5. C***PURPOSE Subroutine CDSCL rescales the YH array whenever the step
  6. C size is changed.
  7. C***LIBRARY SLATEC (SDRIVE)
  8. C***TYPE COMPLEX (SDSCL-S, DDSCL-D, CDSCL-C)
  9. C***AUTHOR Kahaner, D. K., (NIST)
  10. C National Institute of Standards and Technology
  11. C Gaithersburg, MD 20899
  12. C Sutherland, C. D., (LANL)
  13. C Mail Stop D466
  14. C Los Alamos National Laboratory
  15. C Los Alamos, NM 87545
  16. C***ROUTINES CALLED (NONE)
  17. C***REVISION HISTORY (YYMMDD)
  18. C 790601 DATE WRITTEN
  19. C 900329 Initial submission to SLATEC.
  20. C***END PROLOGUE CDSCL
  21. INTEGER I, J, N, NQ
  22. COMPLEX YH(N,*)
  23. REAL H, HMAX, RC, RH, RMAX, R1
  24. C***FIRST EXECUTABLE STATEMENT CDSCL
  25. IF (H .LT. 1.E0) THEN
  26. RH = MIN(ABS(H)*RH, ABS(H)*RMAX, HMAX)/ABS(H)
  27. ELSE
  28. RH = MIN(RH, RMAX, HMAX/ABS(H))
  29. END IF
  30. R1 = 1.E0
  31. DO 10 J = 1,NQ
  32. R1 = R1*RH
  33. DO 10 I = 1,N
  34. 10 YH(I,J+1) = YH(I,J+1)*R1
  35. H = H*RH
  36. RC = RC*RH
  37. RETURN
  38. END