[Python-Dev] == on object tests identity in 3.x

Ian Kelly ian.g.kelly at gmail.com
Tue Jul 8 17:53:04 EDT 2014


On Tue, Jul 8, 2014 at 2:10 PM, Anders J. Munch <2014 at 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



More information about the Python-list mailing list