[Python-Dev] 2.2.1c1 platform reports.

Martin v. Loewis martin@v.loewis.de
23 Mar 2002 00:25:55 +0100


Tim Peters <tim.one@comcast.net> writes:
> It's cute: even in C99, an implementation must treat sqrt(negative_number)
> as a domain error. However, under C99 rules:
>> On a domain error, the function returns an implementation-defined
> value; whether the integer expression errno acquires the value
> EDOM is implementation-defined.

Is that the final text? My copy says
 On a domain error, the function returns an
 implementation-defined value; if the integer expression
 math_errhandling & MATH_ERRNO is nonzero, the integer
 expression errno acquires the value EDOM; if the integer
 expression math_errhandling & MATH_ERREXCEPT is nonzero, the
 ``invalid'' floating-point exception is raised.
but it comes from a draft only (99-04). If this is what C99 says, you
actually can tell, in C, whether checking errno will help indicating
the error.
> Do that, and in the end you get a library that still honks off
> IEEE-754 fans anyway (which has its own elaborate and precise rules
> for dealing with fp exceptions).

If the C implementation also implements Annex F, IEEE-754 fans should
be satisfied, no?
Regards,
Martin

AltStyle によって変換されたページ (->オリジナル) /