# dqk15w.f

          SUBROUTINE DQK15W (F, W, P1, P2, P3, P4, KP, A, B, RESULT, ABSERR,
         +   RESABS, RESASC)
    C***BEGIN PROLOGUE  DQK15W
    C***PURPOSE  To compute I = Integral of F*W over (A,B), with error
    C                           estimate
    C                       J = Integral of ABS(F*W) over (A,B)
    C***LIBRARY   SLATEC (QUADPACK)
    C***CATEGORY  H2A2A2
    C***TYPE      DOUBLE PRECISION (QK15W-S, DQK15W-D)
    C***KEYWORDS  15-POINT GAUSS-KRONROD RULES, QUADPACK, QUADRATURE
    C***AUTHOR  Piessens, Robert
    C             Applied Mathematics and Programming Division
    C             K. U. Leuven
    C           de Doncker, Elise
    C             Applied Mathematics and Programming Division
    C             K. U. Leuven
    C***DESCRIPTION
    C
    C           Integration rules
    C           Standard fortran subroutine
    C           Double precision version
    C
    C           PARAMETERS
    C             ON ENTRY
    C              F      - Double precision
    C                       Function subprogram defining the integrand
    C                       function F(X). The actual name for F needs to be
    C                       declared E X T E R N A L in the driver program.
    C
    C              W      - Double precision
    C                       Function subprogram defining the integrand
    C                       WEIGHT function W(X). The actual name for W
    C                       needs to be declared E X T E R N A L in the
    C                       calling program.
    C
    C              P1, P2, P3, P4 - Double precision
    C                       Parameters in the WEIGHT function
    C
    C              KP     - Integer
    C                       Key for indicating the type of WEIGHT function
    C
    C              A      - Double precision
    C                       Lower limit of integration
    C
    C              B      - Double precision
    C                       Upper limit of integration
    C
    C            ON RETURN
    C              RESULT - Double precision
    C                       Approximation to the integral I
    C                       RESULT is computed by applying the 15-point
    C                       Kronrod rule (RESK) obtained by optimal addition
    C                       of abscissae to the 7-point Gauss rule (RESG).
    C
    C              ABSERR - Double precision
    C                       Estimate of the modulus of the absolute error,
    C                       which should equal or exceed ABS(I-RESULT)
    C
    C              RESABS - Double precision
    C                       Approximation to the integral of ABS(F)
    C
    C              RESASC - Double precision
    C                       Approximation to the integral of ABS(F-I/(B-A))
    C
    C***REFERENCES  (NONE)
    C***ROUTINES CALLED  D1MACH
    C***REVISION HISTORY  (YYMMDD)
    C   810101  DATE WRITTEN
    C   890531  Changed all specific intrinsics to generic.  (WRB)
    C   890531  REVISION DATE from Version 3.2
    C   891214  Prologue converted to Version 4.0 format.  (BAB)
    C***END PROLOGUE  DQK15W