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

  1. C
  2. C     ..................................................................
  3. C
  4. C        SUBROUTINE QL8
  5. C
  6. C        PURPOSE
  7. C           TO COMPUTE INTEGRAL(EXP(-X)*FCT(X), SUMMED OVER X FROM 0
  8. C                               TO INFINITY).
  9. C
  10. C        USAGE
  11. C           CALL QL8 (FCT,Y)
  12. C           PARAMETER FCT REQUIRES AN EXTERNAL STATEMENT
  13. C
  14. C        DESCRIPTION OF PARAMETERS
  15. C           FCT    - THE NAME OF AN EXTERNAL FUNCTION SUBPROGRAM USED.
  16. C           Y      - THE RESULTING INTEGRAL VALUE.
  17. C
  18. C        REMARKS
  19. C           NONE
  20. C
  21. C        SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED
  22. C           THE EXTERNAL FUNCTION SUBPROGRAM FCT(X) MUST BE FURNISHED
  23. C           BY THE USER.
  24. C
  25. C        METHOD
  26. C           EVALUATION IS DONE BY MEANS OF 8-POINT GAUSSIAN-LAGUERRE
  27. C           QUADRATURE FORMULA, WHICH INTEGRATES EXACTLY WHENEVER
  28. C           FCT(X) IS A POLYNOMIAL UP TO DEGREE 15.
  29. C           FOR REFERENCE, SEE
  30. C           V.I.KRYLOV, APPROXIMATE CALCULATION OF INTEGRALS,
  31. C           MACMILLAN, NEW YORK/LONDON, 1962, PP.130-132 AND 347-352.
  32. C
  33. C     ..................................................................
  34. C
  35.       SUBROUTINE QL8(FCT,Y)
  36. C
  37. C
  38.       X=22.86313
  39.       Y=.1048001E-8*FCT(X)
  40.       X=15.74068
  41.       Y=Y+.8485747E-6*FCT(X)
  42.       X=10.75852
  43.       Y=Y+.9076509E-4*FCT(X)
  44.       X=7.045905
  45.       Y=Y+.2794536E-2*FCT(X)
  46.       X=4.266700
  47.       Y=Y+.03334349*FCT(X)
  48.       X=2.251087
  49.       Y=Y+.1757950*FCT(X)
  50.       X=.9037018
  51.       Y=Y+.4187868*FCT(X)
  52.       X=.1702796
  53.       Y=Y+.3691886*FCT(X)
  54.       RETURN
  55.       END
  56.