C
C     ..................................................................
C
C        SUBROUTINE DQA12
C
C        PURPOSE
C           TO COMPUTE INTEGRAL(EXP(-X)*FCT(X)/SQRT(X), SUMMED OVER X
C                               FROM 0 TO INFINITY).
C
C        USAGE
C           CALL DQA12 (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 12-POINT GENERALIZED GAUSS-
C           LAGUERRE QUADRATURE FORMULA, WHICH INTEGRATES EXACTLY
C           WHENEVER FCT(X) IS A POLYNOMIAL UP TO DEGREE 23.
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.15-16.
C
C     ..................................................................
C
      SUBROUTINE DQA12(FCT,Y)
C
C
      DOUBLE PRECISION X,Y,FCT
C
      X=.36191360360615602D2
      Y=.33287369929782177D-15*FCT(X)
      X=.27661108779846090D2
      Y=Y+.13169240486156340D-11*FCT(X)
      X=.21396755936166109D2
      Y=Y+.60925085399751278D-9*FCT(X)
      X=.16432195087675313D2
      Y=Y+.8037942349882859D-7*FCT(X)
      X=.12390447963809471D2
      Y=Y+.43164914098046673D-5*FCT(X)
      X=.9075434230961203D1
      Y=Y+.11377383272808760D-3*FCT(X)
      X=.63699753880306349D1
      Y=Y+.16473849653768349D-2*FCT(X)
      X=.41984156448784132D1
      Y=Y+.14096711620145342D-1*FCT(X)
      X=.25098480972321280D1
      Y=Y+.7489094100646149D-1*FCT(X)
      X=.12695899401039615D1
      Y=Y+.25547924356911832D0*FCT(X)
      X=.45450668156378028D0
      Y=Y+.57235907069288604D0*FCT(X)
      X=.50361889117293951D-1
      Y=Y+.8538623277373985D0*FCT(X)
      RETURN
      END
