From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,c4cb2c432feebd9d X-Google-Thread: 1094ba,c4cb2c432feebd9d X-Google-Attributes: gid103376,gid1094ba,public X-Google-Language: ENGLISH,ASCII Path: g2news2.google.com!postnews.google.com!j33g2000cwa.googlegroups.com!not-for-mail From: robert.corbett@sun.com Newsgroups: comp.lang.ada,comp.lang.fortran Subject: Re: Ada vs Fortran for scientific applications Date: 29 May 2006 21:55:24 -0700 Organization: http://groups.google.com Message-ID: <1148964924.497234.28220@j33g2000cwa.googlegroups.com> References: <4dd87pF18ot14U1@individual.net> <447207D6.3010408@cits1.stanford.edu> <4dg101F17acafU1@individual.net> <44730df4$1@news.meer.net> <4diimsF1b0c25U1@individual.net> <8V_cg.155757$eR6.70498@bgtnsc04-news.ops.worldnet.att.net> <646dnfYoKul8MOnZnZ2dnUVZ_tydnZ2d@comcast.com> <4e09bgF1cdqssU2@individual.net> NNTP-Posting-Host: 192.18.128.13 Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable X-Trace: posting.google.com 1148964929 29072 127.0.0.1 (30 May 2006 04:55:29 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Tue, 30 May 2006 04:55:29 +0000 (UTC) In-Reply-To: <4e09bgF1cdqssU2@individual.net> User-Agent: G2/0.2 X-HTTP-UserAgent: Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:1.7.3) Gecko/20040914,gzip(gfe),gzip(gfe) X-HTTP-Via: 1.1 S1PS Complaints-To: groups-abuse@google.com Injection-Info: j33g2000cwa.googlegroups.com; posting-host=192.18.128.13; posting-account=drIiqwwAAAArrez9N9pqypzLVd7IeAjb Xref: g2news2.google.com comp.lang.ada:4599 comp.lang.fortran:10462 Date: 2006-05-29T21:55:24-07:00 List-Id: Jan Vorbr=FCggen wrote: > > OK, but say for a certain program it is more efficient to store a > > complex array with all the real parts followed by all the imaginary > > parts, and the compiler figured this out. The "as if" rule would work > > only if there was no other way for the program/programmer to discover > > the change. If the array was in COMMON, EQUIVALENCEd, or passed to an > > external routine, this optimization most likely couldn't be done. > > Without any legal way to view the storage association, it would seem > > possible to do it. > > Precisely what I was thinking. So historic baggage is weighing Fortran do= wn > in this particular case. The cases of COMMON and EQUIVALENCE are not a serious problem, since the compiler can tell if an array is in a common block or an equivalence group. Passing the array to an external routine is a serious problem, but I do not classify passing arrays to external routines as historical baggage. Bob Corbett