home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Frostbyte's 1980s DOS Shareware Collection
/
floppyshareware.zip
/
floppyshareware
/
DOOG
/
PCSSP1.ZIP
/
GHRMQUAD.ZIP
/
DQH64.FOR
< prev
next >
Wrap
Text File
|
1985-11-29
|
4KB
|
141 lines
C
C ..................................................................
C
C SUBROUTINE DQH64
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 DQH64 (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 64-POINT GAUSSIAN-HERMITE
C QUADRATURE FORMULA, WHICH INTEGRATES EXACTLY WHENEVER
C FCT(X) IS A POLYNOMIAL UP TO DEGREE 127.
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 DQH64(FCT,Y)
C
C
DOUBLE PRECISION X,Y,Z,FCT
C
X=.10526123167960546D2
Z=-X
Y=.55357065358569428D-48*(FCT(X)+FCT(Z))
X=.9895287586829539D1
Z=-X
Y=Y+.16797479901081592D-42*(FCT(X)+FCT(Z))
X=.9373159549646721D1
Z=-X
Y=Y+.34211380112557405D-38*(FCT(X)+FCT(Z))
X=.8907249099964770D1
Z=-X
Y=Y+.15573906246297638D-34*(FCT(X)+FCT(Z))
X=.8477529083379863D1
Z=-X
Y=Y+.25496608991129993D-31*(FCT(X)+FCT(Z))
X=.8073687285010225D1
Z=-X
Y=Y+.19291035954649669D-28*(FCT(X)+FCT(Z))
X=.7689540164040497D1
Z=-X
Y=Y+.7861797788925910D-26*(FCT(X)+FCT(Z))
X=.7321013032780949D1
Z=-X
Y=Y+.19117068833006428D-23*(FCT(X)+FCT(Z))
X=.69652411205511075D1
Z=-X
Y=Y+.29828627842798512D-21*(FCT(X)+FCT(Z))
X=.66201122626360274D1
Z=-X
Y=Y+.31522545665037814D-19*(FCT(X)+FCT(Z))
X=.62840112287748282D1
Z=-X
Y=Y+.23518847106758191D-17*(FCT(X)+FCT(Z))
X=.59556663267994860D1
Z=-X
Y=Y+.12800933913224380D-15*(FCT(X)+FCT(Z))
X=.56340521643499721D1
Z=-X
Y=Y+.52186237265908475D-14*(FCT(X)+FCT(Z))
X=.53183252246332709D1
Z=-X
Y=Y+.16283407307097204D-12*(FCT(X)+FCT(Z))
X=.50077796021987682D1
Z=-X
Y=Y+.39591777669477239D-11*(FCT(X)+FCT(Z))
X=.47018156474074998D1
Z=-X
Y=Y+.7615217250145451D-10*(FCT(X)+FCT(Z))
X=.43999171682281376D1
Z=-X
Y=Y+.11736167423215493D-8*(FCT(X)+FCT(Z))
X=.41016344745666567D1
Z=-X
Y=Y+.14651253164761094D-7*(FCT(X)+FCT(Z))
X=.38065715139453605D1
Z=-X
Y=Y+.14955329367272471D-6*(FCT(X)+FCT(Z))
X=.35143759357409062D1
Z=-X
Y=Y+.12583402510311846D-5*(FCT(X)+FCT(Z))
X=.32247312919920357D1
Z=-X
Y=Y+.8788499230850359D-5*(FCT(X)+FCT(Z))
X=.29373508230046218D1
Z=-X
Y=Y+.51259291357862747D-4*(FCT(X)+FCT(Z))
X=.26519724354306350D1
Z=-X
Y=Y+.25098369851306249D-3*(FCT(X)+FCT(Z))
X=.23683545886324014D1
Z=-X
Y=Y+.10363290995075777D-2*(FCT(X)+FCT(Z))
X=.20862728798817620D1
Z=-X
Y=Y+.36225869785344588D-2*(FCT(X)+FCT(Z))
X=.18055171714655449D1
Z=-X
Y=Y+.10756040509879137D-1*(FCT(X)+FCT(Z))
X=.15258891402098637D1
Z=-X
Y=Y+.27203128953688918D-1*(FCT(X)+FCT(Z))
X=.12472001569431179D1
Z=-X
Y=Y+.58739981964099435D-1*(FCT(X)+FCT(Z))
X=.9692694230711780D0
Z=-X
Y=Y+.10849834930618684D0*(FCT(X)+FCT(Z))
X=.69192230581004458D0
Z=-X
Y=Y+.17168584234908370D0*(FCT(X)+FCT(Z))
X=.41498882412107868D0
Z=-X
Y=Y+.23299478606267805D0*(FCT(X)+FCT(Z))
X=.13830224498700972D0
Z=-X
Y=Y+.27137742494130398D0*(FCT(X)+FCT(Z))
RETURN
END