On 12/30/19 6:55 PM, David Mertz wrote:
> The order he generates is very close to the IEEE total order, the difference are:

    > 1) It doesn't seperate -0 for +0, which shouldn't matter for
    most applications.
    > 2) It doesn't provide an order between NaNs, but unless you are
    taking special measures to distinguish the NaNs anyway, that
    doesn't really matter.

    And it also doesn’t distinguish equal but distinct-bit-pattern
    subnormal values.


This is more in the category of "things that definitely do not matter", but I had forgotten about subnomal floating-point values.  How does IEEE totalOrder mandate ordering those vs. equivalent normal numbers?

So yes, my implementation of totalOrder probably has another incompleteness for the IEEE spec.  It was THREE LINES of code, and I never claimed the goal was useful even if done correctly.

IEEE BINARY floating point doesn't have subnormal values the equivalent of normal numbers. The binary format has an assumed leading one to the mantissa for exponents greater than 0 (and less than all ones which are the Infinities and NaNs). This assumed one makes multiple representations for most values impossible, it one happens for 0, having +0 and -0. The first level of the ordering is the basic value of the number, which provides a total order for all finite numbers but 0 in the binary format.

Other floating point bases, like decimal floating point or hex based, don't have a consistent leading digit, so it isn't omitted, and you could have subnormal values if the leading digit is 0. The clause on handling different representations really just apply to those non-binary formats.

--
Richard Damon
_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/python-ideas@python.org/message/RZQ7KDPCXYRU3NP3DTWPNR7TXW54K3V7/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to