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

  1. C
  2. C     ..................................................................
  3. C
  4. C        SUBROUTINE DQA32
  5. C
  6. C        PURPOSE
  7. C           TO COMPUTE INTEGRAL(EXP(-X)*FCT(X)/SQRT(X), SUMMED OVER X
  8. C                               FROM 0 TO INFINITY).
  9. C
  10. C        USAGE
  11. C           CALL DQA32 (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 DOUBLE PRECISION FUNCTION
  16. C                    SUBPROGRAM USED.
  17. C           Y      - THE RESULTING DOUBLE PRECISION INTEGRAL VALUE.
  18. C
  19. C        REMARKS
  20. C           NONE
  21. C
  22. C        SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED
  23. C           THE EXTERNAL DOUBLE PRECISION FUNCTION SUBPROGRAM FCT(X)
  24. C           MUST BE FURNISHED BY THE USER.
  25. C
  26. C        METHOD
  27. C           EVALUATION IS DONE BY MEANS OF 32-POINT GENERALIZED GAUSS-
  28. C           LAGUERRE QUADRATURE FORMULA, WHICH INTEGRATES EXACTLY
  29. C           WHENEVER FCT(X) IS A POLYNOMIAL UP TO DEGREE 63.
  30. C           FOR REFERENCE, SEE
  31. C           SHAO/CHEN/FRANK, TABLES OF ZEROS AND GAUSSIAN WEIGHTS OF
  32. C           CERTAIN ASSOCIATED LAGUERRE POLYNOMIALS AND THE RELATED
  33. C           GENERALIZED HERMITE POLYNOMIALS, IBM TECHNICAL REPORT
  34. C           TR00.1100 (MARCH 1964), PP.15-16.
  35. C
  36. C     ..................................................................
  37. C
  38.       SUBROUTINE DQA32(FCT,Y)
  39. C
  40. C
  41.       DOUBLE PRECISION X,Y,FCT
  42. C
  43.       X=.11079926894707576D3
  44.       Y=.11071413071713886D-47*FCT(X)
  45.       X=.9791671642606276D2
  46.       Y=Y+.33594959802163184D-42*FCT(X)
  47.       X=.8785611994313352D2
  48.       Y=Y+.68422760225114810D-38*FCT(X)
  49.       X=.7933908652882320D2
  50.       Y=Y+.31147812492595276D-34*FCT(X)
  51.       X=.71868499359551422D2
  52.       Y=Y+.50993217982259985D-31*FCT(X)
  53.       X=.65184426376135782D2
  54.       Y=Y+.38582071909299337D-28*FCT(X)
  55.       X=.59129027934391951D2
  56.       Y=Y+.15723595577851821D-25*FCT(X)
  57.       X=.53597231826148512D2
  58.       Y=Y+.38234137666012857D-23*FCT(X)
  59.       X=.48514583867416048D2
  60.       Y=Y+.59657255685597023D-21*FCT(X)
  61.       X=.43825886369903902D2
  62.       Y=Y+.63045091330075628D-19*FCT(X)
  63.       X=.39488797123368127D2
  64.       Y=Y+.47037694213516382D-17*FCT(X)
  65.       X=.35469961396173283D2
  66.       Y=Y+.25601867826448761D-15*FCT(X)
  67.       X=.31742543790616606D2
  68.       Y=Y+.10437247453181695D-13*FCT(X)
  69.       X=.28284583194970531D2
  70.       Y=Y+.32566814614194407D-12*FCT(X)
  71.       X=.25077856544198053D2
  72.       Y=Y+.7918355533895448D-11*FCT(X)
  73.       X=.22107070382206007D2
  74.       Y=Y+.15230434500290903D-9*FCT(X)
  75.       X=.19359271087268714D2
  76.       Y=Y+.23472334846430987D-8*FCT(X)
  77.       X=.16823405362953694D2
  78.       Y=Y+.29302506329522187D-7*FCT(X)
  79.       X=.14489986690780274D2
  80.       Y=Y+.29910658734544941D-6*FCT(X)
  81.       X=.12350838217714770D2
  82.       Y=Y+.25166805020623692D-5*FCT(X)
  83.       X=.10398891905552624D2
  84.       Y=Y+.17576998461700718D-4*FCT(X)
  85.       X=.8628029857405929D1
  86.       Y=Y+.10251858271572549D-3*FCT(X)
  87.       X=.70329577982838936D1
  88.       Y=Y+.50196739702612497D-3*FCT(X)
  89.       X=.56091034574961513D1
  90.       Y=Y+.20726581990151553D-2*FCT(X)
  91.       X=.43525345293301410D1
  92.       Y=Y+.7245173957068918D-2*FCT(X)
  93.       X=.32598922564569419D1
  94.       Y=Y+.21512081019758274D-1*FCT(X)
  95.       X=.23283376682103970D1
  96.       Y=Y+.54406257907377837D-1*FCT(X)
  97.       X=.15555082314789380D1
  98.       Y=Y+.11747996392819887D0*FCT(X)
  99.       X=.9394832145007343D0
  100.       Y=Y+.21699669861237368D0*FCT(X)
  101.       X=.47875647727748885D0
  102.       Y=Y+.34337168469816740D0*FCT(X)
  103.       X=.17221572414539558D0
  104.       Y=Y+.46598957212535609D0*FCT(X)
  105.       X=.19127510968446856D-1
  106.       Y=Y+.54275484988260796D0*FCT(X)
  107.       RETURN
  108.       END
  109.