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

  1. C
  2. C     ..................................................................
  3. C
  4. C        SUBROUTINE DQL32
  5. C
  6. C        PURPOSE
  7. C           TO COMPUTE INTEGRAL(EXP(-X)*FCT(X), SUMMED OVER X
  8. C                               FROM 0 TO INFINITY).
  9. C
  10. C        USAGE
  11. C           CALL DQL32 (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 GAUSSIAN-LAGUERRE
  28. C           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.24-25.
  35. C
  36. C     ..................................................................
  37. C
  38.       SUBROUTINE DQL32(FCT,Y)
  39. C
  40. C
  41.       DOUBLE PRECISION X,Y,FCT
  42. C
  43.       X=.11175139809793770D3
  44.       Y=.45105361938989742D-47*FCT(X)
  45.       X=.9882954286828397D2
  46.       Y=Y+.13386169421062563D-41*FCT(X)
  47.       X=.8873534041789240D2
  48.       Y=Y+.26715112192401370D-37*FCT(X)
  49.       X=.8018744697791352D2
  50.       Y=Y+.11922487600982224D-33*FCT(X)
  51.       X=.7268762809066271D2
  52.       Y=Y+.19133754944542243D-30*FCT(X)
  53.       X=.65975377287935053D2
  54.       Y=Y+.14185605454630369D-27*FCT(X)
  55.       X=.59892509162134018D2
  56.       Y=Y+.56612941303973594D-25*FCT(X)
  57.       X=.54333721333396907D2
  58.       Y=Y+.13469825866373952D-22*FCT(X)
  59.       X=.49224394987308639D2
  60.       Y=Y+.20544296737880454D-20*FCT(X)
  61.       X=.44509207995754938D2
  62.       Y=Y+.21197922901636186D-18*FCT(X)
  63.       X=.40145719771539442D2
  64.       Y=Y+.15421338333938234D-16*FCT(X)
  65.       X=.36100494805751974D2
  66.       Y=Y+.8171823443420719D-15*FCT(X)
  67.       X=.32346629153964737D2
  68.       Y=Y+.32378016577292665D-13*FCT(X)
  69.       X=.28862101816323475D2
  70.       Y=Y+.9799379288727094D-12*FCT(X)
  71.       X=.25628636022459248D2
  72.       Y=Y+.23058994918913361D-10*FCT(X)
  73.       X=.22630889013196774D2
  74.       Y=Y+.42813829710409289D-9*FCT(X)
  75.       X=.19855860940336055D2
  76.       Y=Y+.63506022266258067D-8*FCT(X)
  77.       X=.17292454336715315D2
  78.       Y=Y+.7604567879120781D-7*FCT(X)
  79.       X=.14931139755522557D2
  80.       Y=Y+.7416404578667552D-6*FCT(X)
  81.       X=.12763697986742725D2
  82.       Y=Y+.59345416128686329D-5*FCT(X)
  83.       X=.10783018632539972D2
  84.       Y=Y+.39203419679879472D-4*FCT(X)
  85.       X=.8982940924212596D1
  86.       Y=Y+.21486491880136419D-3*FCT(X)
  87.       X=.7358126733186241D1
  88.       Y=Y+.9808033066149551D-3*FCT(X)
  89.       X=.59039585041742439D1
  90.       Y=Y+.37388162946115248D-2*FCT(X)
  91.       X=.46164567697497674D1
  92.       Y=Y+.11918214834838557D-1*FCT(X)
  93.       X=.34922132730219945D1
  94.       Y=Y+.31760912509175070D-1*FCT(X)
  95.       X=.25283367064257949D1
  96.       Y=Y+.70578623865717442D-1*FCT(X)
  97.       X=.17224087764446454D1
  98.       Y=Y+.12998378628607176D0*FCT(X)
  99.       X=.10724487538178176D1
  100.       Y=Y+.19590333597288104D0*FCT(X)
  101.       X=.57688462930188643D0
  102.       Y=Y+.23521322966984801D0*FCT(X)
  103.       X=.23452610951961854D0
  104.       Y=Y+.21044310793881323D0*FCT(X)
  105.       X=.44489365833267018D-1
  106.       Y=Y+.10921834195238497D0*FCT(X)
  107.       RETURN
  108.       END
  109.