C+ C NAME: C nrQRomo C CATEGORY: C CALLING SEQUENCE: real function nrQRomo(Func,A,B,Choose) C INPUTS: C OUTPUTS: C CALLS: C Say, Choose, nrPolInt C PROCEDURE: C Available choices for Choose are MidPnt, MidInf, MidSql, MidSqu C See Numerical Recipes, Par. 4.4, p. 116) C MODIFICATION HISTORY: C JUN-1993, Paul Hick (UCSD) C- real Func real A real B parameter (EPS = 1.E-6) parameter (JMax = 14) parameter (JMaxP = JMax+1) parameter (K = 5) parameter (KM = K-1) real S(JMaxP) real H(JMaxP) H(1) = 1. do J=1,JMax call Choose(Func, A,B,S(J),J) if (J .ge. K) then call nrPolInt(K,H(J-KM),S(J-KM),0.,nrQRomo,DSS) if ((DSS .eq. 0. .and. nrQRomo .eq. 0.) .or. abs(DSS) .lt. EPS*abs(nrQRomo)) return end if S(J+1) = S(J) H(J+1) = H(J)/9. end do call Say('nrQRomo','W','No convergence','too many steps') return end