On Tue, Sep 30, 2008 at 12:24 AM, Robert Kern <robert.kern@gmail.com> wrote:
On Tue, Sep 30, 2008 at 00:46, Nathan Bell <wnbell@gmail.com> wrote:
> On Tue, Sep 30, 2008 at 1:20 AM, Robert Kern <robert.kern@gmail.com> wrote:
>>
>> F.9.9.2 The fmax functions
>> 1 If just one argument is a NaN, the fmax functions return the other
>> argument (if both arguments are NaNs, the functions return a NaN).
>> 2 The body of the fmax function might be
>> {return (isgreaterequal(x, y) ||
>>  isnan(y)) ? x : y; }
>>
>> If we want to follow C99 semantics rather than our own
>> NaN-always-propagates semantics, then we should do this instead.
>>
>
> +1 for NaN-always-propagates since we have explicit variants for the
> alternative semantics.
>
> Users are more likely to remember that "NaNs always propagate" than
> "as stated in the C99 standard...".

OTOH, Python 2.6 and up will be following to the C99 standard as
closely as possible. I would prefer to keep up with them. It's true
that "as stated in the C99 standard" is more difficult to remember,
but "NaNs always propagate" is probably not going to be consistent
with everything we actually implement, no matter how hard we try.

I wonder how much of the Python stuff we can steal^W borrow. I assume the Python license is compatible with numpy?

Chuck