home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Frostbyte's 1980s DOS Shareware Collection
/
floppyshareware.zip
/
floppyshareware
/
DOOG
/
PCSSP1.ZIP
/
GLGRQUAD.ZIP
/
DQL32.FOR
< prev
next >
Wrap
Text File
|
1985-11-29
|
4KB
|
109 lines
C
C ..................................................................
C
C SUBROUTINE DQL32
C
C PURPOSE
C TO COMPUTE INTEGRAL(EXP(-X)*FCT(X), SUMMED OVER X
C FROM 0 TO INFINITY).
C
C USAGE
C CALL DQL32 (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-LAGUERRE
C QUADRATURE FORMULA, WHICH INTEGRATES EXACTLY,
C WHENEVER 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.24-25.
C
C ..................................................................
C
SUBROUTINE DQL32(FCT,Y)
C
C
DOUBLE PRECISION X,Y,FCT
C
X=.11175139809793770D3
Y=.45105361938989742D-47*FCT(X)
X=.9882954286828397D2
Y=Y+.13386169421062563D-41*FCT(X)
X=.8873534041789240D2
Y=Y+.26715112192401370D-37*FCT(X)
X=.8018744697791352D2
Y=Y+.11922487600982224D-33*FCT(X)
X=.7268762809066271D2
Y=Y+.19133754944542243D-30*FCT(X)
X=.65975377287935053D2
Y=Y+.14185605454630369D-27*FCT(X)
X=.59892509162134018D2
Y=Y+.56612941303973594D-25*FCT(X)
X=.54333721333396907D2
Y=Y+.13469825866373952D-22*FCT(X)
X=.49224394987308639D2
Y=Y+.20544296737880454D-20*FCT(X)
X=.44509207995754938D2
Y=Y+.21197922901636186D-18*FCT(X)
X=.40145719771539442D2
Y=Y+.15421338333938234D-16*FCT(X)
X=.36100494805751974D2
Y=Y+.8171823443420719D-15*FCT(X)
X=.32346629153964737D2
Y=Y+.32378016577292665D-13*FCT(X)
X=.28862101816323475D2
Y=Y+.9799379288727094D-12*FCT(X)
X=.25628636022459248D2
Y=Y+.23058994918913361D-10*FCT(X)
X=.22630889013196774D2
Y=Y+.42813829710409289D-9*FCT(X)
X=.19855860940336055D2
Y=Y+.63506022266258067D-8*FCT(X)
X=.17292454336715315D2
Y=Y+.7604567879120781D-7*FCT(X)
X=.14931139755522557D2
Y=Y+.7416404578667552D-6*FCT(X)
X=.12763697986742725D2
Y=Y+.59345416128686329D-5*FCT(X)
X=.10783018632539972D2
Y=Y+.39203419679879472D-4*FCT(X)
X=.8982940924212596D1
Y=Y+.21486491880136419D-3*FCT(X)
X=.7358126733186241D1
Y=Y+.9808033066149551D-3*FCT(X)
X=.59039585041742439D1
Y=Y+.37388162946115248D-2*FCT(X)
X=.46164567697497674D1
Y=Y+.11918214834838557D-1*FCT(X)
X=.34922132730219945D1
Y=Y+.31760912509175070D-1*FCT(X)
X=.25283367064257949D1
Y=Y+.70578623865717442D-1*FCT(X)
X=.17224087764446454D1
Y=Y+.12998378628607176D0*FCT(X)
X=.10724487538178176D1
Y=Y+.19590333597288104D0*FCT(X)
X=.57688462930188643D0
Y=Y+.23521322966984801D0*FCT(X)
X=.23452610951961854D0
Y=Y+.21044310793881323D0*FCT(X)
X=.44489365833267018D-1
Y=Y+.10921834195238497D0*FCT(X)
RETURN
END