home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Frostbyte's 1980s DOS Shareware Collection
/
floppyshareware.zip
/
floppyshareware
/
DOOG
/
PCSSP1.ZIP
/
GLGRQUAD.ZIP
/
DQL16.FOR
< prev
next >
Wrap
Text File
|
1985-11-29
|
3KB
|
77 lines
C
C ..................................................................
C
C SUBROUTINE DQL16
C
C PURPOSE
C TO COMPUTE INTEGRAL(EXP(-X)*FCT(X), SUMMED OVER X
C FROM 0 TO INFINITY).
C
C USAGE
C CALL DQL16 (FCT,Y)
C PARAMETER FCT REQUIRES AN EXTERNAL STATEMENT
C
C DESCRIPTION OF PARAMETERS
C FCT - THE NAME OF AN EXTERNAL DOUBLE PRECISION FUNCTION
C SUBPROGRAM USED.
C Y - THE RESULTING DOUBLE PRECISION INTEGRAL VALUE.
C
C REMARKS
C NONE
C
C SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED
C THE EXTERNAL DOUBLE PRECISION FUNCTION SUBPROGRAM FCT(X)
C MUST BE FURNISHED BY THE USER.
C
C METHOD
C EVALUATION IS DONE BY MEANS OF 16-POINT GAUSSIAN-LAGUERRE
C QUADRATURE FORMULA, WHICH INTEGRATES EXACTLY,
C WHENEVER FCT(X) IS A POLYNOMIAL UP TO DEGREE 31.
C FOR REFERENCE, SEE
C SHAO/CHEN/FRANK, TABLES OF ZEROS AND GAUSSIAN WEIGHTS OF
C CERTAIN ASSOCIATED LAGUERRE POLYNOMIALS AND THE RELATED
C GENERALIZED HERMITE POLYNOMIALS, IBM TECHNICAL REPORT
C TR00.1100 (MARCH 1964), PP.24-25.
C
C ..................................................................
C
SUBROUTINE DQL16(FCT,Y)
C
C
DOUBLE PRECISION X,Y,FCT
C
X=.51701160339543318D2
Y=.41614623703728552D-21*FCT(X)
X=.41940452647688333D2
Y=Y+.50504737000355128D-17*FCT(X)
X=.34583398702286626D2
Y=Y+.62979670025178678D-14*FCT(X)
X=.28578729742882140D2
Y=Y+.21270790332241030D-11*FCT(X)
X=.23515905693991909D2
Y=Y+.28623502429738816D-9*FCT(X)
X=.19180156856753135D2
Y=Y+.18810248410796732D-7*FCT(X)
X=.15441527368781617D2
Y=Y+.68283193308711996D-6*FCT(X)
X=.12214223368866159D2
Y=Y+.14844586873981299D-4*FCT(X)
X=.9438314336391939D1
Y=Y+.20427191530827846D-3*FCT(X)
X=.70703385350482341D1
Y=Y+.18490709435263109D-2*FCT(X)
X=.50780186145497679D1
Y=Y+.11299900080339453D-1*FCT(X)
X=.34370866338932066D1
Y=Y+.47328928694125219D-1*FCT(X)
X=.21292836450983806D1
Y=Y+.13629693429637754D0*FCT(X)
X=.11410577748312269D1
Y=Y+.26579577764421415D0*FCT(X)
X=.46269632891508083D0
Y=Y+.33105785495088417D0*FCT(X)
X=.8764941047892784D-1
Y=Y+.20615171495780099D0*FCT(X)
RETURN
END