* G02EAF Example Program Text * Mark 14 Release. NAG Copyright 1989. * .. Parameters .. INTEGER NMAX, MMAX, LMAX, LDX, LDMODL PARAMETER (NMAX=20,MMAX=6,LMAX=32,LDX=NMAX,LDMODL=LMAX) INTEGER NIN, NOUT PARAMETER (NIN=5,NOUT=6) * .. Local Scalars .. INTEGER I, IFAIL, II, J, M, N, NMOD * .. Local Arrays .. DOUBLE PRECISION RSS(LMAX), WK(NMAX*(MMAX+1)), WT(NMAX), + X(LDX,MMAX), Y(NMAX) INTEGER ISX(MMAX), MRANK(LMAX), NTERMS(LMAX) CHARACTER*3 MODL(LDMODL,MMAX), VNAME(MMAX) * .. External Subroutines .. EXTERNAL G02EAF * .. Executable Statements .. WRITE (NOUT,*) 'G02EAF Example Program Results' * Skip heading in data file READ (NIN,*) READ (NIN,*) N, M IF (M.LE.MMAX .AND. N.LE.NMAX) THEN DO 20 I = 1, N READ (NIN,*) (X(I,J),J=1,M), Y(I) 20 CONTINUE READ (NIN,*) (ISX(J),J=1,M) READ (NIN,*) (VNAME(J),J=1,M) IFAIL = 1 * CALL G02EAF('M','U',N,M,X,LDX,VNAME,ISX,Y,WT,NMOD,MODL,LDMODL, + RSS,NTERMS,MRANK,WK,IFAIL) * IF (IFAIL.EQ.0) THEN WRITE (NOUT,*) WRITE (NOUT,*) 'Number of RSS RANK MODL' WRITE (NOUT,*) 'parameters' DO 40 I = 1, NMOD II = NTERMS(I) WRITE (NOUT,99999) II, RSS(I), MRANK(I), + (MODL(I,J),J=1,II) 40 CONTINUE ELSE WRITE (NOUT,*) WRITE (NOUT,99998) ' ** G02EAF returned with IFAIL = ', + IFAIL END IF END IF * 99999 FORMAT (1X,I8,F11.4,I4,3X,5(1X,A)) 99998 FORMAT (1X,A,I5) END