Path: utzoo!attcan!uunet!yale!cmcl2!lanl!jlg From: jlg@lanl.gov (Jim Giles) Newsgroups: comp.lang.fortran Subject: Re: IDENTIFY statement in Fortran 8x Message-ID: <8081@lanl.gov> Date: 17 Jan 89 23:11:32 GMT References: <4462@pitt.UUCP> Organization: Los Alamos National Laboratory Lines: 26 From article <4462@pitt.UUCP>, by whit@pitt.UUCP (Debbie Whitfield): > IDENTIFY /1:M/ D(I) = C(I,I+1) > > which is a pseudonym for the diagonal of an array. I am curious about > what is considered as a valid expression for describing elements of C. > Can any expression be used? What about function calls? The actual syntax of IDENTIFY was as follows: IDENTIFY (DIAG(I)=ARRAY(I,I), I=1:N) !8X standard 6.2.6.2 The allowed subscript expressions for ARRAY must be linear in I. A multi-dimensional IDENTIFY is also possible: IDENTIFY (X(I,J) = A(3*I+5,J+I,4,2*J), I=1:N, J=1:M) Each subscript expression must be linear and the subscript names must appear, at most, once in each subscript expression. Note that the subscript expressions need not contain the subscript names from the 'parent' array at all (like the constant '4' in the example). Note also that the prohi- bition against non-linear expressions also prohibits function calls. The question is moot however, since the latest standard has eliminated IDENTIFY. J. Giles