12 Apr
2016
12 Apr
'16
3:49 p.m.
On 04/12/2016 04:51 PM, Peter Dimov wrote:
Bjorn Reese wrote:
While the interoperability problems surrounding NaN payloads are caused by serialization, ...
I'm not sure that this is true. If the sender and the receiver are both IEEE, the serialization and the deserialization cannot be the source of interoperability problems because they just transfer the bits from point A to point B.
The purpose of serialization is to transform values between C++ types and types defined by a serialization protocol. If the protocol designer opts for IEEE 754 floats, then the protocol should specify all aspects that IEEE 754 does not; this includes endianness and the semantics of NaN payloads.