1) I do not find any rule offhand in IEEE Std 754-2008 Clause 5.4.2 or elsewhere that says what happens when the "source" item is exactly the same format (and encoding) as the "sink" item. My personal assumption is that this would be a "bit-for-bit" transfer, with no reformatting at all, and that's what the COBOL rules specify. |
QUESTION: Is there a rule that specifies this?
2a) COBOL has two ways of handling data transfer. One of these is under arithmetic (e.g., COMPUTE B = A), the other is MOVE (MOVE A TO B). The results are most often the same, but edge-case handling differs. This leads to:
2b) I note that 3.1.2, Conformance, requires that a conforming (platform) implementation provides everything in Clause 5, Operations. I note also that 5.4.2, Conversion operations for floating-point formats and decimal character sequences, is a subclause under 5,4, formatOf geneal-computational operations, but is NOT a subclause of 5.4.1, Arithmetic operations, but falls under a more "universal" classification that also applies elsewhere if full conformance is to be achieved.
QUESTION: For full conformance to IEEE Std 754-2008, should the provisions of 5.4.2 and 5.5 be taken to apply "universally", even in cases in which arithmetic is not involved, in which case any other behavior or results would be considered "nonconforming", as is indicated by their placement, or is an environment that specifies behavior different from these rules for the same operands for non-arithmetic manipulation nevertheless "conforming"? My opinion is the former, others differ.