5 * Revision 1.1.1.1 1996/04/01 15:03:23 mclareni
10 SUBROUTINE DIVON (D,UMINUS,UPLUS,ERROR,NMAX,FUN1,ERRINT)
12 REAL UMINUS(D),UPLUS(D),ERROR
13 COMMON /ANSWER/ FINTGL,SPRD,DUMMY(5),NRGN,MAXRGN /FUNN/ NFUN,MO(2)
14 COMMON /Z0001/ ERR,NMIN,MCOUNT /SAMPLE/ NPT /PRSTOP/ NSTOP
15 COMMON /PRINT/ IPRINT /ZEETRM/ ITRMF
18 C INITIALISATION OF CONSTANTS
23 IF(IPRINT.LE.0) GOTO 20
25 10 FORMAT('0--- DIVON --- ',I5,' FUNCTION EVALUATIONS SPECIFIED.')
27 30 IF(IPRINT.LE.0) GOTO 80
28 WRITE(6,40) IDATE,D,ERROR,NMAX
29 40 FORMAT('1--- DIVON --- DIVONNE4 (',A8,') MULTIPLE INTEGRATION'/
30 11X,I2,' DIMENSIONS, ERROR =',G13.5,', NMAX = ',I8)
32 50 FORMAT('0INTEGRATION LIMITS :')
34 WRITE(6,60) I,UMINUS(I),UPLUS(I)
35 60 FORMAT(' X(',I2,') :',G13.5,' TO',G14.5)
41 CALL PARTN(D,UMINUS,UPLUS,0.0,NMAX)
42 IF(NFUN+2*NPT*NRGN.LE.NMAX) GOTO 110
43 IF(IPRINT.LE.0) GOTO 100
45 90 FORMAT('0--- DIVON --- NOT ENOUGH FUNCTION EVALUATIONS LEFT'
46 1/' FOR MORE PRECISE INTEGRAL ESTIMATE.')
51 IF(ERR.GT.0.0) ERRR=ERRR*FINTGL
52 NINT=MIN(MAX(2.0*NPT,SPRD*FAC/ERRR),REAL(NMAX-NFUN)/NRGN)+.5
53 IF(IPRINT.LE.0) GOTO 130
55 120 FORMAT('0--- DIVON --- INTEGRAL AND ERROR ESTIMATE WITH',I6,
56 1 ' POINTS / REGION :')
57 130 CALL INTGRL(D,0,NINT,FUN1,ERRINT)