On Tue, Jul 8, 2014 at 2:10 PM, Anders J. Munch <2...@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 -- https://mail.python.org/mailman/listinfo/python-list