# qc25s.f

          SUBROUTINE QC25S (F, A, B, BL, BR, ALFA, BETA, RI, RJ, RG, RH,
         +   RESULT, ABSERR, RESASC, INTEGR, NEV)
    C***BEGIN PROLOGUE  QC25S
    C***PURPOSE  To compute I = Integral of F*W over (BL,BR), with error
    C            estimate, where the weight function W has a singular
    C            behaviour of ALGEBRAICO-LOGARITHMIC type at the points
    C            A and/or B. (BL,BR) is a part of (A,B).
    C***LIBRARY   SLATEC (QUADPACK)
    C***CATEGORY  H2A2A2
    C***TYPE      SINGLE PRECISION (QC25S-S, DQC25S-D)
    C***KEYWORDS  25-POINT CLENSHAW-CURTIS INTEGRATION, 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 for integrands having ALGEBRAICO-LOGARITHMIC
    C        end point singularities
    C        Standard fortran subroutine
    C        Real version
    C
    C        PARAMETERS
    C           F      - Real
    C                    Function subprogram defining the integrand
    C                    F(X). The actual name for F needs to be declared
    C                    E X T E R N A L  in the driver program.
    C
    C           A      - Real
    C                    Left end point of the original interval
    C
    C           B      - Real
    C                    Right end point of the original interval, B.GT.A
    C
    C           BL     - Real
    C                    Lower limit of integration, BL.GE.A
    C
    C           BR     - Real
    C                    Upper limit of integration, BR.LE.B
    C
    C           ALFA   - Real
    C                    PARAMETER IN THE WEIGHT FUNCTION
    C
    C           BETA   - Real
    C                    Parameter in the weight function
    C
    C           RI,RJ,RG,RH - Real
    C                    Modified CHEBYSHEV moments for the application
    C                    of the generalized CLENSHAW-CURTIS
    C                    method (computed in subroutine DQMOMO)
    C
    C           RESULT - Real
    C                    Approximation to the integral
    C                    RESULT is computed by using a generalized
    C                    CLENSHAW-CURTIS method if B1 = A or BR = B.
    C                    in all other cases the 15-POINT KRONROD
    C                    RULE is applied, obtained by optimal addition of
    C                    Abscissae to the 7-POINT GAUSS RULE.
    C
    C           ABSERR - Real
    C                    Estimate of the modulus of the absolute error,
    C                    which should equal or exceed ABS(I-RESULT)
    C
    C           RESASC - Real
    C                    Approximation to the integral of ABS(F*W-I/(B-A))
    C
    C           INTEGR - Integer
    C                    Which determines the weight function
    C                    = 1   W(X) = (X-A)**ALFA*(B-X)**BETA
    C                    = 2   W(X) = (X-A)**ALFA*(B-X)**BETA*LOG(X-A)
    C                    = 3   W(X) = (X-A)**ALFA*(B-X)**BETA*LOG(B-X)
    C                    = 4   W(X) = (X-A)**ALFA*(B-X)**BETA*LOG(X-A)*
    C                                 LOG(B-X)
    C
    C           NEV    - Integer
    C                    Number of integrand evaluations
    C
    C***REFERENCES  (NONE)
    C***ROUTINES CALLED  QCHEB, QK15W, QWGTS
    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  QC25S