# dqk15i.f

          SUBROUTINE DQK15I (F, BOUN, INF, A, B, RESULT, ABSERR, RESABS,
         +   RESASC)
    C***BEGIN PROLOGUE  DQK15I
    C***PURPOSE  The original (infinite integration range is mapped
    C            onto the interval (0,1) and (A,B) is a part of (0,1).
    C            it is the purpose to compute
    C            I = Integral of transformed integrand over (A,B),
    C            J = Integral of ABS(Transformed Integrand) over (A,B).
    C***LIBRARY   SLATEC (QUADPACK)
    C***CATEGORY  H2A3A2, H2A4A2
    C***TYPE      DOUBLE PRECISION (QK15I-S, DQK15I-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 Rule
    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 calling program.
    C
    C              BOUN   - Double precision
    C                       Finite bound of original integration
    C                       Range (SET TO ZERO IF INF = +2)
    C
    C              INF    - Integer
    C                       If INF = -1, the original interval is
    C                                   (-INFINITY,BOUND),
    C                       If INF = +1, the original interval is
    C                                   (BOUND,+INFINITY),
    C                       If INF = +2, the original interval is
    C                                   (-INFINITY,+INFINITY) AND
    C                       The integral is computed as the sum of two
    C                       integrals, one over (-INFINITY,0) and one over
    C                       (0,+INFINITY).
    C
    C              A      - Double precision
    C                       Lower limit for integration over subrange
    C                       of (0,1)
    C
    C              B      - Double precision
    C                       Upper limit for integration over subrange
    C                       of (0,1)
    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 J
    C
    C              RESASC - Double precision
    C                       Approximation to the integral of
    C                       ABS((TRANSFORMED INTEGRAND)-I/(B-A)) over (A,B)
    C
    C***REFERENCES  (NONE)
    C***ROUTINES CALLED  D1MACH
    C***REVISION HISTORY  (YYMMDD)
    C   800101  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  DQK15I