> Date: Tue, 31 Oct 2000 07:29:05 -0700
> From: Walt Brainerd <[log in to unmask]>
> John Reid wrote:
> >
> > > >> The Fortran 90 standard says
> > > >>
> > > >> "In a storage association context
> > > >> ...
> > > >> A nonpointer scalar object of type double precision real or
> > > >> default complex occupies two contiguous numeric storage
> > > >> units."
>
> In this discussion of "storage association context", I don't see
> that it says real is first and imag is second. ???
Furthermore, it only applies to default precision complex, not to
non-default [read double precision] complex -- which stands to reason,
as for compatability with earlier versions of Fortran, only
default-precision complex need be supported in this regard.
The practice of using EQUIVALENCE in lieu of more
modern forms apparently is being discouraged.
> > See 4.3.1.3:
> >
> > The complex type has values that approximate the mathematical
> > complex numbers. The values of a complex type are ordered pairs
> > of real values. The first real value is called the real part, and
> > the second real value is called the imaginary part.
>
> It is not completely clear to me whether this is referring to
> storage or to the syntactic parts, e.g., when you write (1.1,2.2).
> But I don't think this is anything that any implementation will get
> "wrong".
>
> Of course, there is no requirement by the standard to store
> anything in any order (or store anything at all). There is
> the requirement to make "storage sequence" work, so that
> EQUIVALENCE works correctly, for example. But the easiest
> way to make these things work (in many situations) is to
> store them as described by "storage sequence". However,
> think, for example, of an array distributed over many processors
> where a1, a2, ... are stored in the memory of processors p1, p2, ...
> -- Walt Brainerd [log in to unmask]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|