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

  1. C
  2. C     ..................................................................
  3. C
  4. C        SUBROUTINE DQA24
  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 DQA24 (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 24-POINT GENERALIZED GAUSS-
  28. C           LAGUERRE QUADRATURE FORMULA, WHICH INTEGRATES EXACTLY
  29. C           WHENEVER FCT(X) IS A POLYNOMIAL UP TO DEGREE 47.
  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 DQA24(FCT,Y)
  39. C
  40. C
  41.       DOUBLE PRECISION X,Y,FCT
  42. C
  43.       X=.8055628081995041D2
  44.       Y=.15871102921547994D-34*FCT(X)
  45.       X=.69068601975304369D2
  46.       Y=Y+.11969225386627757D-29*FCT(X)
  47.       X=.60206666963057223D2
  48.       Y=Y+.7370072160301340D-26*FCT(X)
  49.       X=.52795432527283630D2
  50.       Y=Y+.11129154937804570D-22*FCT(X)
  51.       X=.46376979557540133D2
  52.       Y=Y+.63767746470102769D-20*FCT(X)
  53.       X=.40711598185543107D2
  54.       Y=Y+.17460319202373353D-17*FCT(X)
  55.       X=.35653703516328212D2
  56.       Y=Y+.26303192453168170D-15*FCT(X)
  57.       X=.31106464709046565D2
  58.       Y=Y+.23951797309583587D-13*FCT(X)
  59.       X=.27001406056472356D2
  60.       Y=Y+.14093865163091778D-11*FCT(X)
  61.       X=.23287932824879917D2
  62.       Y=Y+.56305930756763382D-10*FCT(X)
  63.       X=.19927425875242462D2
  64.       Y=Y+.15860934990330765D-8*FCT(X)
  65.       X=.16889671928527108D2
  66.       Y=Y+.32450282717915397D-7*FCT(X)
  67.       X=.14150586187285759D2
  68.       Y=Y+.49373179873395010D-6*FCT(X)
  69.       X=.11690695926056073D2
  70.       Y=Y+.56945173834696962D-5*FCT(X)
  71.       X=.9494095330026488D1
  72.       Y=Y+.50571980554969778D-4*FCT(X)
  73.       X=.7547704680023454D1
  74.       Y=Y+.35030086360234566D-3*FCT(X)
  75.       X=.58407332713236080D1
  76.       Y=Y+.19127846396388306D-2*FCT(X)
  77.       X=.43642830769353062D1
  78.       Y=Y+.8306009823955105D-2*FCT(X)
  79.       X=.31110524551477130D1
  80.       Y=Y+.28889923149962199D-1*FCT(X)
  81.       X=.20751129098523806D1
  82.       Y=Y+.8095935396920770D-1*FCT(X)
  83.       X=.12517406323627464D1
  84.       Y=Y+.18364459415857036D0*FCT(X)
  85.       X=.63729027873266879D0
  86.       Y=Y+.33840894389128221D0*FCT(X)
  87.       X=.22910231649262433D0
  88.       Y=Y+.50792308532951820D0*FCT(X)
  89.       X=.25437996585689359D-1
  90.       Y=Y+.62200206075592616D0*FCT(X)
  91.       RETURN
  92.       END
  93.