A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://mail.python.org/pipermail/python-dev/2002-March/021647.html below:

[Python-Dev] 2.2.1c1 platform reports.

[Python-Dev] 2.2.1c1 platform reports.Tim Peters tim.one@comcast.net
Fri, 22 Mar 2002 15:19:24 -0500
[Hye-Shik Chang, reports on a particular sqrt implementation]
> ...
>> I'll submit PR to both of FreeBSD and NetBSD.

[Michael Hudson]
> I'm not sure it's a problem.  I believe it depends on whether you
> believe in C89 or C99, for instance.

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.

So while it's mandatory that an implementation detect that sqrt(-1) is a
domain error case, there's no x-platform way defined anymore for the library
to communciate the error condition to the caller.

That's why the exception test isn't run by default:  C doesn't supply any
x-platform error facility Python can build on anymore.  Python tries to
guess whether a range error occurred ("most of the time", C99 stilll
requires that HUGE_VAL specifically get returned then), but there's no way
to guess about domain errors short of Python hard-coding its own rules about
the proper domain on a function by function basis.

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).

can't-win-without-more-work-than-anyone-will-give-it-ly y'rs  - tim




RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4