* D03MAF Example Program Text * Mark 14 Revised. NAG Copyright 1989. * .. Parameters .. INTEGER SDINDX, SDDIST PARAMETER (SDINDX=100,SDDIST=20) INTEGER NOUT PARAMETER (NOUT=6) * .. Local Scalars .. DOUBLE PRECISION H INTEGER I, IFAIL, J, M, N, NB, NPTS * .. Local Arrays .. DOUBLE PRECISION DIST(4,SDDIST), PLACES(2,SDINDX) INTEGER INDX(4,SDINDX) * .. External Functions .. INTEGER ISIN EXTERNAL ISIN * .. External Subroutines .. EXTERNAL D03MAF * .. Executable Statements .. WRITE (NOUT,*) 'D03MAF Example Program Results' WRITE (NOUT,*) H = 4.0D0 M = 3 N = 5 NB = 10 IFAIL = 1 * CALL D03MAF(H,M,N,NB,NPTS,PLACES,INDX,SDINDX,ISIN,DIST,SDDIST, + IFAIL) * IF (IFAIL.EQ.0) THEN WRITE (NOUT,*) ' I X(I) Y(I)' DO 20 I = 1, NPTS WRITE (NOUT,99999) I, PLACES(1,I), PLACES(2,I) 20 CONTINUE WRITE (NOUT,*) WRITE (NOUT,*) 'INDX' DO 40 I = 1, NPTS WRITE (NOUT,99998) (INDX(J,I),J=1,4) 40 CONTINUE ELSE WRITE (NOUT,99997) IFAIL END IF * 99999 FORMAT (1X,I3,2F10.6) 99998 FORMAT (1X,4I5) 99997 FORMAT (1X,' ** D03MAF returned with IFAIL = ',I5) END * INTEGER FUNCTION ISIN(X,Y) * Circular domain * .. Scalar Arguments .. DOUBLE PRECISION X, Y * .. Executable Statements .. IF ((X-7.0D0)**2+(Y-7.0D0)**2.LE.36.0D0) THEN ISIN = 1 ELSE ISIN = 0 END IF RETURN END