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