PROGRAM MAIN IMPLICIT REAL(A-H,O-Z), INTEGER(I-N) PARAMETER (N = 2, LWA = 2*N + (6*N + 1)*2**N) DIMENSION X0(N), H(N), AS(N), VAS(N), WA(LWA) EXTERNAL FNC COMMON / BLK1 / NFCALL c c Set the values of DELTA, EPSILO, and ICO. c DATA DELTA, EPSILO, ICON / 0.625E-1, 1.0E-6, 1 / c c Set the starting values. c DATA X0 / 2* - 2000.0E0 / DATA H / 2*4000.0E0 / PRINT 9999, ( X0(J), H(J), J = 1, N ) c c Call the interface subroutine intsub(). c NFCALL = 0 CALL INTSUB ( FNC, N, X0, H, DELTA, EPSILO, ICON, INF1, & AS, VAS, INF2, WA, LWA ) IF ( INF1 .EQ. 0 ) THEN PRINT 9998 ELSE IF ( INF1 .EQ. 2 .AND. ICON .NE. 1 ) THEN PRINT 9997, N ELSE PRINT 9996, DELTA, EPSILO, (AS(J), VAS(J), J = 1, N) ENDIF NFCALL = INT( REAL( NFCALL ) / REAL( N ) ) PRINT 9995, INF1, INF2, NFCALL STOP 9999 FORMAT (//2X, 'INITIAL GUESS :', 17X, 'STEPSIZES :'// & 2( F16.7, 16X, F16.7 / ) ) 9998 FORMAT(//5X, '*** IMPROPER INPUT PARAMETERS***'//) 9997 FORMAT(//5X, '*** THE CHARACTERISTIC', I2, & '-POLYHEDRON HAS NOT BEEN COMPLETED***'//) 9996 FORMAT(//2X, 'DELTA = ', F20.18 //2X, 'EPSILO = ', F20.18 & ////2X, 'FINAL APPROXIMATE SOLUTION:', 5X, & 'VERIFICATION OF THE SOLUTION:' //9(F24.18,9X, & F24.18/ )) 9995 FORMAT (//2X, 'EXIT PARAMETERS: INF1 =', i1,1X, ', INF2 =' & i1//2X, 'NUMBER OF FUNCTION CALLS : NFCALL = ', & i4 ) END REAL FUNCTION FNC( X, IFLAG ) INTEGER IFLAG, NFCALL REAL X(2) COMMON / BLK1 / NFCALL NFCALL = NFCALL + 1 if ( iflag == 1 ) then FNC = X(1)** 2 - 4.0E0*X(2) else FNC = X(2)** 2 - 2.0E0*X(1) + 4.0E0*X(2) end if RETURN END