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

  1. C
  2. C     ..................................................................
  3. C
  4. C        SUBROUTINE DQA16
  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 DQA16 (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 16-POINT GENERALIZED GAUSS-
  28. C           LAGUERRE QUADRATURE FORMULA, WHICH INTEGRATES EXACTLY
  29. C           WHENEVER FCT(X) IS A POLYNOMIAL UP TO DEGREE 31.
  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 DQA16(FCT,Y)
  39. C
  40. C
  41.       DOUBLE PRECISION X,Y,FCT
  42. C
  43.       X=.50777223877537080D2
  44.       Y=.14621352854768325D-21*FCT(X)
  45.       X=.41081666525491202D2
  46.       Y=Y+.18463473073036584D-17*FCT(X)
  47.       X=.33781970488226166D2
  48.       Y=Y+.23946880341856973D-14*FCT(X)
  49.       X=.27831438211328676D2
  50.       Y=Y+.8430020422652895D-12*FCT(X)
  51.       X=.22821300693525208D2
  52.       Y=Y+.11866582926793277D-9*FCT(X)
  53.       X=.18537743178606694D2
  54.       Y=Y+.8197664329541793D-8*FCT(X)
  55.       X=.14851431341801250D2
  56.       Y=Y+.31483355850911881D-6*FCT(X)
  57.       X=.11677033673975957D2
  58.       Y=Y+.7301170259124752D-5*FCT(X)
  59.       X=.8955001337723390D1
  60.       Y=Y+.10833168123639965D-3*FCT(X)
  61.       X=.66422151797414440D1
  62.       Y=Y+.10725367310559441D-2*FCT(X)
  63.       X=.47067267076675872D1
  64.       Y=Y+.7309780653308856D-2*FCT(X)
  65.       X=.31246010507021443D1
  66.       Y=Y+.35106857663146861D-1*FCT(X)
  67.       X=.18779315076960743D1
  68.       Y=Y+.12091626191182523D0*FCT(X)
  69.       X=.9535531553908655D0
  70.       Y=Y+.30253946815328497D0*FCT(X)
  71.       X=.34220015601094768D0
  72.       Y=Y+.55491628460505980D0*FCT(X)
  73.       X=.37962914575313455D-1
  74.       Y=Y+.7504767051856048D0*FCT(X)
  75.       RETURN
  76.       END
  77.