* E01BHF Example Program Text * Mark 14 Revised. NAG Copyright 1989. * .. Parameters .. INTEGER NIN, NOUT PARAMETER (NIN=5,NOUT=6) INTEGER NMAX PARAMETER (NMAX=50) * .. Local Scalars .. DOUBLE PRECISION A, B, PINT INTEGER IFAIL, N, R * .. Local Arrays .. DOUBLE PRECISION D(NMAX), F(NMAX), X(NMAX) * .. External Subroutines .. EXTERNAL E01BHF * .. Executable Statements .. WRITE (NOUT,*) 'E01BHF Example Program Results' * Skip heading in data file READ (NIN,*) READ (NIN,*) N IF (N.GT.0 .AND. N.LE.NMAX) THEN DO 20 R = 1, N READ (NIN,*) X(R), F(R), D(R) 20 CONTINUE WRITE (NOUT,*) WRITE (NOUT,*) ' Integral' WRITE (NOUT,*) ' A B over (A,B)' * Read A, B pairs until end of file and compute * definite integrals 40 READ (NIN,*,END=60) A, B IFAIL = 1 * CALL E01BHF(N,X,F,D,A,B,PINT,IFAIL) * IF (IFAIL.EQ.0) THEN WRITE (NOUT,99999) A, B, PINT GO TO 40 ELSE WRITE (NOUT,*) WRITE (NOUT,99998) IFAIL END IF END IF 60 CONTINUE * 99999 FORMAT (1X,3F13.4) 99998 FORMAT (1X,' ** E01BHF returned with IFAIL = ',I5) END