C+ C NAME: C nrQSimp C PURPOSE: C CATEGORY: C CALLING SEQUENCE: subroutine nrQSimp(Func,A,B,S) C INPUTS: C OUTPUTS: C CALLS: C nrTrapZD, Say C EXTERNAL: external Func C INCLUDE: C COMMON BLOCKS: C SIDE EFFECTS: C RESTRICTIONS: C PROCEDURE: C See Numerical Recipes C MODIFICATION HISTORY: C JUN-1993, Paul Hick (UCSD) C- real Func real A real B real S parameter (EPS = 1.E-6) parameter (JMAX = 20) OST = -1.E30 OS = -1.E30 do J=1,JMAX call nrTrapZD(Func,A,B,ST,J) S = (4.*ST-OST)/3. if (abs(S-OS) .lt. EPS*abs(OS)) return OS = S OST = ST end do call Say('nrQSimp','W','No convergence','too many steps') return end