home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Frostbyte's 1980s DOS Shareware Collection
/
floppyshareware.zip
/
floppyshareware
/
DOOG
/
PCSSP1.ZIP
/
GHRMQUAD.ZIP
/
DQH24.FOR
< prev
next >
Wrap
Text File
|
1985-11-29
|
3KB
|
81 lines
C
C ..................................................................
C
C SUBROUTINE DQH24
C
C PURPOSE
C TO COMPUTE INTEGRAL(EXP(-X*X)*FCT(X), SUMMED OVER X FROM
C -INFINITY TO +INFINITY).
C
C USAGE
C CALL DQH24 (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 24-POINT GAUSSIAN-HERMITE
C QUADRATURE FORMULA, WHICH INTEGRATES EXACTLY WHENEVER
C FCT(X) IS A POLYNOMIAL UP TO DEGREE 47.
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.213-214.
C
C ..................................................................
C
SUBROUTINE DQH24(FCT,Y)
C
C
DOUBLE PRECISION X,Y,Z,FCT
C
X=.60159255614257397D1
Z=-X
Y=.16643684964891089D-15*(FCT(X)+FCT(Z))
X=.52593829276680444D1
Z=-X
Y=Y+.65846202430781701D-12*(FCT(X)+FCT(Z))
X=.46256627564237873D1
Z=-X
Y=Y+.30462542699875639D-9*(FCT(X)+FCT(Z))
X=.40536644024481495D1
Z=-X
Y=Y+.40189711749414297D-7*(FCT(X)+FCT(Z))
X=.35200068130345247D1
Z=-X
Y=Y+.21582457049023336D-5*(FCT(X)+FCT(Z))
X=.30125461375655648D1
Z=-X
Y=Y+.56886916364043798D-4*(FCT(X)+FCT(Z))
X=.25238810170114270D1
Z=-X
Y=Y+.8236924826884175D-3*(FCT(X)+FCT(Z))
X=.20490035736616989D1
Z=-X
Y=Y+.70483558100726710D-2*(FCT(X)+FCT(Z))
X=.15842500109616941D1
Z=-X
Y=Y+.37445470503230746D-1*(FCT(X)+FCT(Z))
X=.11267608176112451D1
Z=-X
Y=Y+.12773962178455916D0*(FCT(X)+FCT(Z))
X=.67417110703721224D0
Z=-X
Y=Y+.28617953534644302D0*(FCT(X)+FCT(Z))
X=.22441454747251559D0
Z=-X
Y=Y+.42693116386869925D0*(FCT(X)+FCT(Z))
RETURN
END