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
