Path: utzoo!utgpu!water!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!rutgers!cmcl2!lanl!jlg
From: jlg@lanl.gov (Jim Giles)
Newsgroups: comp.lang.fortran
Subject: Re: intrinsic functions, math operators (was: i++, i+=1, i=i+1)
Message-ID: <3957@lanl.gov>
Date: 21 Sep 88 19:02:30 GMT
References: <1028@amelia.nas.nasa.gov>
Organization: Los Alamos National Laboratory
Lines: 21

From article <1028@amelia.nas.nasa.gov>, by fouts@lemming.nas.nasa.gov.nas.nasa.gov (Marty Fouts):
>    which ANSI committee you are refering to (C?) The proposal is *not*
>    for intrinsic functions, but for required library functions.
>    Implementation left to the implementer.

Look again.  There are a number of functions which the committee says
the processor is allowed to optimize or expand in-line.  The rationale
document recommends that the in-line expansion be passed to the processor
as a macro in one of the default includes - but (as far as I know) this
is not the _required_ way of in-line expansion.

Furthermore, if implementation were left to the implementor, _many_
functions would be implemented by the compiler - they're easier to do
that way (if you really want them to be optimized).  If I were writing
a C compiler, I would certainly do pow() in-line.  What you claim is that
the ANSI C committee is listing a group of required functions and that
these are _required_ to be implemented in a library form.  I don't think
this is true.

J. Giles
Los Alamos