C
C     ..................................................................
C
C        SUBROUTINE DQH16
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 DQH16 (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 16-POINT GAUSSIAN-HERMITE
C           QUADRATURE FORMULA, WHICH INTEGRATES EXACTLY WHENEVER
C           FCT(X) IS A POLYNOMIAL UP TO DEGREE 31.
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 DQH16(FCT,Y)
C
C
      DOUBLE PRECISION X,Y,Z,FCT
C
      X=.46887389393058184D1
      Z=-X
      Y=.26548074740111822D-9*(FCT(X)+FCT(Z))
      X=.38694479048601227D1
      Z=-X
      Y=Y+.23209808448652107D-6*(FCT(X)+FCT(Z))
      X=.31769991619799560D1
      Z=-X
      Y=Y+.27118600925378815D-4*(FCT(X)+FCT(Z))
      X=.25462021578474814D1
      Z=-X
      Y=Y+.9322840086241805D-3*(FCT(X)+FCT(Z))
      X=.19517879909162540D1
      Z=-X
      Y=Y+.12880311535509974D-1*(FCT(X)+FCT(Z))
      X=.13802585391988808D1
      Z=-X
      Y=Y+.8381004139898583D-1*(FCT(X)+FCT(Z))
      X=.8229514491446559D0
      Z=-X
      Y=Y+.28064745852853368D0*(FCT(X)+FCT(Z))
      X=.27348104613815245D0
      Z=-X
      Y=Y+.50792947901661374D0*(FCT(X)+FCT(Z))
      RETURN
      END
