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. ???
> 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]
Unicomp, Inc. +1-520-298-7212 298-7074 (fax)
7660 E. Broadway, Suite 308 888-330-6060
Tucson, AZ 85710 USA http://www.uni-comp.com
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|