Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #74214
| References | (6 earlier) <CAPTjJmpvyvw81fY899mkuaui2d4u4dXr=2Vtz9z+JusOS=7DkA@mail.gmail.com> <8761j8thf5.fsf@uwakimon.sk.tsukuba.ac.jp> <20140708165745.GJ13014@ando> <53BC5053.1010904@jmunch.dk> <CALwzid=cgKrW2XYUvb2WGtJj8Z4SwcXfOHzTt0BT_hZ=AOU=sw@mail.gmail.com> |
|---|---|
| From | Ian Kelly <ian.g.kelly@gmail.com> |
| Date | 2014-07-08 16:05 -0600 |
| Subject | Re: [Python-Dev] == on object tests identity in 3.x |
| Newsgroups | comp.lang.python |
| Message-ID | <mailman.11665.1404857194.18130.python-list@python.org> (permalink) |
On Tue, Jul 8, 2014 at 3:53 PM, Ian Kelly <ian.g.kelly@gmail.com> wrote:
> On Tue, Jul 8, 2014 at 2:10 PM, Anders J. Munch <2014@jmunch.dk> wrote:
>> Steven D'Aprano wrote:
>>> - Keeping reflexivity for NANs would have implied some pretty nasty
>>> things, e.g. if log(-3) == log(-5), then -3 == -5.
>>
>>
>>>>> log(-3)
>> Traceback (most recent call last):
>> File "<stdin>", line 1, in <module>
>> ValueError: math domain error
>>
>> You were perhaps referring to the log functions in C and Fortran, not
>> math.log?
>> The tradeoffs are different in those languages, so choices the IEEE-754
>> committee made with C and Fortran in mind may be less relevant for Python.
>
>>>> import ctypes
>>>> libm = ctypes.cdll.LoadLibrary("libm.so.6")
>>>> log = libm.log
>>>> log.argtypes = [ctypes.c_double]
>>>> log.restype = ctypes.c_double
>>>> log(-3)
> nan
>>>> log(-5)
> nan
>>>> log(-3) == log(-5)
> False
Also, numpy provides more control over floating-point error handling
than straight Python does, and I think (but can't presently test) that
numpy.log(-3) will return nan by default.
Back to comp.lang.python | Previous | Next — Next in thread | Find similar | Unroll thread
Re: [Python-Dev] == on object tests identity in 3.x Ian Kelly <ian.g.kelly@gmail.com> - 2014-07-08 16:05 -0600 Re: [Python-Dev] == on object tests identity in 3.x Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-07-09 01:04 +0000
csiph-web