File DQH64.FT (FORTRAN source file)

Directory of image this file is from
This file as a plain text file

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-28*(FCT(X)+FCT(Z))
      X=.9895287586829539D1
      Z=-X
      Y=Y+.16797479901081592D-22*(FCT(X)+FCT(Z))
      X=.9373159549646721D21
      Z=-X
      Y=Y+.34211380112557405D-18*(FCT(X)+FCT(Z))
      X=.8907249099964770D1
      Z=-X
      Y=Y+.15573906246297638D-14*(FCT(X)+FCT(Z))
      X=.8477529083379863D1
      Z=-X
      Y=Y+.25496608991129993D-11*(FCT(X)+FCT(Z))
      X=.8073687285010225D1
      Z=-X
      Y=Y+.19291035954649669D-8*(FCT(X)+FCT(Z))
      X=.7689540164040497D1
      Z=-X
      Y=Y+.7861797788925910D-6*(FCT(X)+FCT(Z))
      X=.7321013032780949D1
      Z=-X
      Y=Y+.19117068833006428D-3*(FCT(X)+FCT(Z))
      X=.69652411205511075D1
      Z=-X
      Y=Y+.29828627842798512D-1*(FCT(X)+FCT(Z))
      X=.66201122626360274D1
      Z=-X
      Y=Y+.31522545665037814D1*(FCT(X)+FCT(Z))
      X=.62840112287748282D1
      Z=-X
      Y=Y+.23518847106758191D3*(FCT(X)+FCT(Z))
      X=.59556663267994860D1
      Z=-X
      Y=Y+.12800933913224380D5*(FCT(X)+FCT(Z))
      X=.56340521643499721D1
      Z=-X
      Y=Y+.52186237265908475D6*(FCT(X)+FCT(Z))
      X=.53183252246332709D1
      Z=-X
      Y=Y+.16283407307097204D8*(FCT(X)+FCT(Z))
      X=.50077796021987682D1
      Z=-X
      Y=Y+.39591777669477239D9*(FCT(X)+FCT(Z))
      X=.47018156474074998D1
      Z=-X
      Y=Y+.7615217250145451D10*(FCT(X)+FCT(Z))
      X=.43999171682281376D1
      Z=-X
      Y=Y+.11736167423215493D12*(FCT(X)+FCT(Z))
      X=.41016344745666567D1
      Z=-X
      Y=Y+.14651253164761094D13*(FCT(X)+FCT(Z))
      X=.38065715139453605D1
      Z=-X
      Y=Y+.14955329367272471D14*(FCT(X)+FCT(Z))
      X=.35143759357409062D1
      Z=-X
      Y=Y+.12583402510311846D15*(FCT(X)+FCT(Z))
      X=.32247312919920357D1
      Z=-X
      Y=Y+.8788499230850359D15*(FCT(X)+FCT(Z))
      X=.29373508230046218D1
      Z=-X
      Y=Y+.51259291357862747D16*(FCT(X)+FCT(Z))
      X=.26519724354306350D1
      Z=-X
      Y=Y+.25098369851306249D17*(FCT(X)+FCT(Z))
      X=.23683545886324014D1
      Z=-X
      Y=Y+.10363290995075777D18*(FCT(X)+FCT(Z))
      X=.20862728798817620D1
      Z=-X
      Y=Y+.36225869785344588D18*(FCT(X)+FCT(Z))
      X=.18055171714655449D1
      Z=-X
      Y=Y+.10756040509879137D19*(FCT(X)+FCT(Z))
      X=.15258891402098637D1
      Z=-X
      Y=Y+.27203128953688918D19*(FCT(X)+FCT(Z))
      X=.12472001569431179D1
      Z=-X
      Y=Y+.58739981964099435D19*(FCT(X)+FCT(Z))
      X=.9692694230711780D0
      Z=-X
      Y=Y+.10849834930618684D20*(FCT(X)+FCT(Z))
      X=.69192230581004458D0
      Z=-X
      Y=Y+.17168584234908370D20*(FCT(X)+FCT(Z))
      X=.41498882412107868D0
      Z=-X
      Y=Y+.23299478606267805D20*(FCT(X)+FCT(Z))
      X=.13830224498700972D0
      Z=-X
      Y=Y+.27137742494130398D20*(FCT(X)+FCT(Z))
	Y=Y*1.D-20
      RETURN
      END



Feel free to contact me, David Gesswein djg@pdp8online.com with any questions, comments on the web site, or if you have related equipment, documentation, software etc. you are willing to part with.  I am interested in anything PDP-8 related, computers, peripherals used with them, DEC or third party, or documentation. 

PDP-8 Home Page   PDP-8 Site Map   PDP-8 Site Search