-
Bug
-
Resolution: Done
-
Minor
-
None
-
None
IEEE 754-1985 Defines special floating point values for NaN and Inf. Each of these types includes the sign bit, which should be preserved in the body of a message containing an AMQP float or double type.
Artemis strips the sign from the NaN encoding in both 32- and 64-bit floating point numbers (although it does not have this issue with inf). For 32-bit numbers:
-NaN (0xffc00000) is returned as NaN (0x7fc00000)
and similarly for 64-bit:
-NaN(0xfff8000000000000) is returned as NaN (0x7ff8000000000000)
While it is true that mathematically and logically, there is no significance to the sign for this value, nevertheless this represents an altering of the intended message body by the broker.