C
C     ..................................................................
C
C        SUBROUTINE DQL24
C
C        PURPOSE
C           TO COMPUTE INTEGRAL(EXP(-X)*FCT(X), SUMMED OVER X
C                               FROM 0 TO INFINITY).
C
C        USAGE
C           CALL DQL24 (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 24-POINT GAUSSIAN-LAGUERRE
C           QUADRATURE FORMULA, WHICH INTEGRATES EXACTLY,
C           WHENEVER FCT(X) IS A POLYNOMIAL UP TO DEGREE 47.
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 DQL24(FCT,Y)
C
C
      DOUBLE PRECISION X,Y,FCT
C
      X=.8149827923394889D2
      Y=.55753457883283568D-34*FCT(X)
      X=.69962240035105030D2
      Y=Y+.40883015936806578D-29*FCT(X)
      X=.61058531447218762D2
      Y=Y+.24518188458784027D-25*FCT(X)
      X=.53608574544695070D2
      Y=Y+.36057658645529590D-22*FCT(X)
      X=.47153106445156323D2
      Y=Y+.20105174645555035D-19*FCT(X)
      X=.41451720484870767D2
      Y=Y+.53501888130100376D-17*FCT(X)
      X=.36358405801651622D2
      Y=Y+.7819800382459448D-15*FCT(X)
      X=.31776041352374723D2
      Y=Y+.68941810529580857D-13*FCT(X)
      X=.27635937174332717D2
      Y=Y+.39177365150584514D-11*FCT(X)
      X=.23887329848169733D2
      Y=Y+.15070082262925849D-9*FCT(X)
      X=.20491460082616425D2
      Y=Y+.40728589875499997D-8*FCT(X)
      X=.17417992646508979D2
      Y=Y+.7960812959133630D-7*FCT(X)
      X=.14642732289596674D2
      Y=Y+.11513158127372799D-5*FCT(X)
      X=.12146102711729766D2
      Y=Y+.12544721977993333D-4*FCT(X)
      X=.9912098015077706D1
      Y=Y+.10446121465927518D-3*FCT(X)
      X=.7927539247172152D1
      Y=Y+.67216256409354789D-3*FCT(X)
      X=.61815351187367654D1
      Y=Y+.33693490584783036D-2*FCT(X)
      X=.46650837034671708D1
      Y=Y+.13226019405120157D-1*FCT(X)
      X=.33707742642089977D1
      Y=Y+.40732478151408646D-1*FCT(X)
      X=.22925620586321903D1
      Y=Y+.9816627262991889D-1*FCT(X)
      X=.14255975908036131D1
      Y=Y+.18332268897777802D0*FCT(X)
      X=.7660969055459366D0
      Y=Y+.25880670727286980D0*FCT(X)
      X=.31123914619848373D0
      Y=Y+.25877410751742390D0*FCT(X)
      X=.59019852181507977D-1
      Y=Y+.14281197333478185D0*FCT(X)
      RETURN
      END
