home *** CD-ROM | disk | FTP | other *** search
/ Frostbyte's 1980s DOS Shareware Collection / floppyshareware.zip / floppyshareware / DOOG / PCSSP1.ZIP / ITRPAPSM.ZIP / FRAT.FOR < prev    next >
Text File  |  1985-11-29  |  3KB  |  101 lines

  1. C
  2. C     ..................................................................
  3. C
  4. C        SUBROUTINE FRAT
  5. C
  6. C        PURPOSE
  7. C           FRAT IS USED FOR HANDLING OF DATA AND FUNDAMENTAL FUNCTIONS
  8. C           WITH RATIONAL APPROXIMATION. IT IS A SUBSTANTIAL PART OF
  9. C           RATIONAL APPROXIMATION AND HAS NO MEANING INDEPENDENTLY
  10. C
  11. C        USAGE
  12. C           CALL FRAT(I,N,M,P,DATI,WGT,IER)
  13. C
  14. C        DESCRIPTION OF PARAMETERS
  15. C           I     - SUBSCRIPT OF CURRENT DATA POINT
  16. C           N     - NUMBER OF ALL DATA POINTS
  17. C           M     - NUMBER OF FUNDAMENTAL FUNCTIONS USED
  18. C           P     - ARRAY OF DIMENSION M+1 AT LEAST, WHICH CONTAINS
  19. C                   ON RETURN THE VALUES OF THE M FUNDAMENTAL
  20. C                   FUNCTIONS, FOLLOWED BY CURRENT FUNCTION VALUE
  21. C           DATI  - ARRAY CONTAINING GIVEN N ARGUMENTS, FOLLOWED
  22. C                   BY N FUNCTION VALUES AND FINALLY BY 1 RESPECTIVELY
  23. C                   N WEIGHT VALUES
  24. C           WGT   - RESULTANT WEIGHT FACTOR USED FOR I-TH TERM
  25. C           IER   - RESULTANT ERROR PARAMETER, COMBINED WITH INPUT
  26. C                   VALUES FOR CONTROL
  27. C                   IER(2) MEANS DIMENSION OF NUMERATOR
  28. C                   IER(3) MEANS DIMENSION OF DENOMINATOR
  29. C                   IER(1) IS USED AS RESULTANT ERROR PARAMETER,
  30. C                   IER(1) = 0 IN CASE OF NO ERRORS
  31. C                   IER(1) = 1 OTHERWISE (ZERO DENOMINATOR)
  32. C
  33. C        REMARKS
  34. C           VECTOR IER IS USED FOR COMMUNICATION BETWEEN ARAT AND FRAT
  35. C
  36. C        SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED
  37. C           CNP
  38. C
  39. C        METHOD
  40. C           CF. MATHEMATICAL DESCRIPTION OF SUBROUTINE ARAT
  41. C
  42. C     ..................................................................
  43. C
  44.       SUBROUTINE FRAT(I,N,M,P,DATI,WGT,IER)
  45. C
  46. C
  47. C        DIMENSIONED DUMMY VARIABLES
  48.       DIMENSION P(1),DATI(1),IER(1)
  49. C
  50. C        INITIALIZATION
  51.       IP=IER(2)
  52.       IQ=IER(3)
  53.       IQM1=IQ-1
  54.       IPQ=IP+IQ
  55. C
  56. C        LOOK UP ARGUMENT, FUNCTION VALUE AND WEIGHT
  57. C        LOOK UP NUMERATOR AND DENOMINATOR
  58.       T=DATI(I)
  59.       J=I+N
  60.       F=DATI(J)
  61.       FNUM=P(J)
  62.       J=J+N
  63.       WGT=1.
  64.       IF(DATI(2*N+1))2,2,1
  65.     1 WGT=DATI(J)
  66.     2 FDEN=P(J)
  67. C
  68. C        CALCULATE FUNCTION VALUE USED
  69.       F=F*FDEN-FNUM
  70. C
  71. C        CHECK FOR ZERO DENOMINATOR
  72.       IF(FDEN)4,3,4
  73. C
  74. C        ERROR RETURN IN CASE OF ZERO DENOMINATOR
  75.     3 IER(1)=1
  76.       RETURN
  77. C
  78. C        CALCULATE WEIGHT FACTORS USED
  79.     4 WGT=WGT/(FDEN*FDEN)
  80.       FNUM=-FNUM/FDEN
  81. C
  82. C        CALCULATE FUNDAMENTAL FUNCTIONS
  83.       J=IQM1
  84.       IF(IP-IQ)6,6,5
  85.     5 J=IP-1
  86.     6 CALL CNP(P(IQ),T,J)
  87. C
  88. C        STORE VALUES OF DENOMINATOR FUNDAMENTAL FUNCTIONS
  89.     7 IF(IQM1)10,10,8
  90.     8 DO 9 II=1,IQM1
  91.       J=II+IQ
  92.     9 P(II)=P(J)*FNUM
  93. C
  94. C        STORE FUNCTION VALUE
  95.    10 P(IPQ)=F
  96. C
  97. C        NORMAL RETURN
  98.       IER(1)=0
  99.       RETURN
  100.       END
  101.