> Date: Thu, 24 Aug 2000 20:08:39 +0010
> From: [log in to unmask]
> Harvey Richardson 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."
> >>>
> >>> so you could use COMMON or EQUIVALENCE to have a real arrays
> >>> mapped to the complex array.
Only if the COMPLEX variable is of default precision.
> >>In which order are the real and imaginary parts of each complex number stored?
> >
> >I don't know but I'll answer the question "which of the numeric
> >storage units contain the real and imaginary parts?"...
> >
> >For Fortran 77 the first is real and the second imaginary.
> >
> >When I wrote the above I did not realise that the Fortran 90 standard
> >does not contain the text that states this in the Fortran 77 standard
> >(4.6). At least I (and others) couldn't find it.
>
> I think one of the others who expressed a similar view to yours was Richard
> Maine.
>
> If this is true about the "oversight" in the F90/F95(?) standard, then
> potentially a lot of code could be broken by a new "compiler vendor kid on the
> block" and maintaining compliance to the standard.
>
> Be they good practices or not, many engineering programs have been written with
> equivalence to the real and imaginary parts of complex numbers. I can remember
> instances from my youth, when good programming practices were those that used
> every devious trick I could invent.
>
> If this is an oversight (and before BG decides to go into the new "standard" BG
> Fortran compiler), is there a mechanism to correct this before potential harm?
>
> Regards, Paddy
>
> Paddy O'Brien,
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|