home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Frostbyte's 1980s DOS Shareware Collection
/
floppyshareware.zip
/
floppyshareware
/
DOOG
/
PCSSP1.ZIP
/
GHRMQUAD.ZIP
/
DQH32.FOR
< prev
next >
Wrap
Text File
|
1985-11-29
|
3KB
|
93 lines
C
C ..................................................................
C
C SUBROUTINE DQH32
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 DQH32 (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 32-POINT GAUSSIAN-HERMITE
C QUADRATURE FORMULA, WHICH INTEGRATES EXACTLY WHENEVER
C FCT(X) IS A POLYNOMIAL UP TO DEGREE 63.
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 DQH32(FCT,Y)
C
C
DOUBLE PRECISION X,Y,Z,FCT
C
X=.71258139098307276D1
Z=-X
Y=.7310676427384162D-22*(FCT(X)+FCT(Z))
X=.64094981492696604D1
Z=-X
Y=Y+.9231736536518292D-18*(FCT(X)+FCT(Z))
X=.58122259495159138D1
Z=-X
Y=Y+.11973440170928487D-14*(FCT(X)+FCT(Z))
X=.52755509865158801D1
Z=-X
Y=Y+.42150102113264476D-12*(FCT(X)+FCT(Z))
X=.47771645035025964D1
Z=-X
Y=Y+.59332914633966386D-10*(FCT(X)+FCT(Z))
X=.43055479533511984D1
Z=-X
Y=Y+.40988321647708966D-8*(FCT(X)+FCT(Z))
X=.38537554854714446D1
Z=-X
Y=Y+.15741677925455940D-6*(FCT(X)+FCT(Z))
X=.34171674928185707D1
Z=-X
Y=Y+.36505851295623761D-5*(FCT(X)+FCT(Z))
X=.29924908250023742D1
Z=-X
Y=Y+.54165840618199826D-4*(FCT(X)+FCT(Z))
X=.25772495377323175D1
Z=-X
Y=Y+.53626836552797205D-3*(FCT(X)+FCT(Z))
X=.21694991836061122D1
Z=-X
Y=Y+.36548903266544281D-2*(FCT(X)+FCT(Z))
X=.17676541094632016D1
Z=-X
Y=Y+.17553428831573430D-1*(FCT(X)+FCT(Z))
X=.13703764109528718D1
Z=-X
Y=Y+.60458130955912614D-1*(FCT(X)+FCT(Z))
X=.9765004635896828D0
Z=-X
Y=Y+.15126973407664248D0*(FCT(X)+FCT(Z))
X=.58497876543593245D0
Z=-X
Y=Y+.27745814230252990D0*(FCT(X)+FCT(Z))
X=.19484074156939933D0
Z=-X
Y=Y+.37523835259280239D0*(FCT(X)+FCT(Z))
RETURN
END