20 April 2007 Document Number: J4/07-0084 Page 1 of 2 COBOL Technical Committee Subject: Eliminate Usage Float-Decimal-7; Change Float-Binary-9 to Float-Binary-7 Author: Charles C. Stevens References: 1. 2. Working Draft 1.7, 28 March 2007 IEEE 754r draft, dated 4 October 2006 Previous Version: 1. 07-0030, Eliminate Usage Float-Decimal-7; Change Float-Binary-9 to Float-Binary-7 (Stevens) PROPOSED REVISION: Eliminate all references to Float-Decimal-7 from the Working Draft. Replace all references to FLOAT-BINARY-9 with FLOAT-BINARY-7. JUSTIFICATION: The authors of IEC 754r originally included Decimal32 as a Basic Interchange floating-point format in the early drafts of this document. Later refinements of this draft changed this to a Basic Storage floating-point format, for which implementors are not required to provide arithmetic support. IEEE 754r now provides for three Basic Binary Interchange formats and two Basic Decimal Interchange formats, rather than three of each. As the utility of Decimal32 (called Float-Decimal-7 in the COBOL draft) is marginal at best in COBOL because of its seven-digit precision, and as IEEE 754r no longer provides for full support for this format, the draft COBOL standard is being revised to eliminate the requirement of direct support for the format. It was also noted, while researching this issue, that items declared USAGE FLOAT-BINARY-9 are capable of representing values whose precision is seven digits, but not reliably eight or more digits. Thus, the title for this usage is misleading and should be changed. DISCUSSION: This matter was brought up in correspondence among Michael Cowlishaw, William Klein, and the author after the completion of INCITS/J4 Meeting #259. PROPOSED CHANGES TO BASE DOCUMENT: 20 April 2007 Document Number: J4/07-0084 Page 2 of 2 1) Page 122, 8.5.2.10, Numeric category, rule 2: Change in part to read “ … float-extended, floatbinary-7, float-binary-16, float-binary-34, float-decimal-16 or float-decimal-34.” 2) Page 154, 8.9, Reserved words: Change “FLOAT-BINARY-9” to read “FLOAT-BINARY-7”. 3) Page 154, 8.9, Reserved Words: Delete “FLOAT-DECIMAL-7”. 4) Page 402, 13.16.59.1, USAGE clause, General Format: Change “FLOAT-BINARY-9” to read “FLOAT-BINARY-7”. 5) Page 402, 13.16.59.1, USAGE clause, General Format: Delete “FLOAT-DECIMAL-7”. 6) Page 405, 13.16.59.3, USAGE clause, General rules: Change General rule 13 in part to read “The FLOAT-BINARY-7 phrase specifies … format specified as the 32-bit binary interchange floatingpoint format (‘Binary32’) in IEEE P754 … ” Ensure that the associated index entry reflects this change. 7) Page 405, 13.16.59.3, USAGE clause, General rules: Change General rule 14 in part to “… format specified as the 64-bit binary interchange floating-point format (‘Binary64’) in IEEE P754…”. 8) Page 405, 13.16.59.3, USAGE clause, General rules: Change General rule 15 in part to read “… format specified as the 128-bit binary interchange floating-point format (‘Binary128’) in IEEE P754 …”. 9) Page 405, 13.16.59.3, USAGE clause, General rules: Delete General rule 16 (which begins “The FLOAT-DECIMAL-7 clause …”. Ensure that the associated index entry is also deleted. 10) Page 405, 13.16.59.3, USAGE clause, General rules: Change General rule 17 (now 16) in part to read “… format specified as the 64-bit decimal interchange floating-point format (‘Decimal64’) using the decimal encoding as specified in IEEE P754 …”. 11) Page 405, 13.16.59.3, USAGE clause, General rules: Change General rule 18 (now 17) in part to read “… format specified as the 128-bit decimal interchange floating-point format (‘Decimal128’) using the decimal encoding as specified in IEEE P754 …”. 12) Page 760, A.3, Processor-dependent language element list: Change item 9 in part to read “The usages FLOAT-BINARY-7, FLOAT-BINARY-16 …”. 13) Page 760, A.3, Processor-dependent language element list: Change Item 10 in part to read “The usages FLOAT-DECIMAL-16 and FLOAT-DECIMAL-34 are dependent … basic decimal floatingpoint formats Decimal64 and Decimal128 …” . 14) Page 894, E.1, Substantive changes potentially affecting existing programs, Item 2: Delete “FLOAT-DECIMAL-7” from the list of reserved words added in this draft of the standard. 15) Page 894, E.1, Substantive changes potentially affecting existing programs, Item 2: Change “FLOAT-BINARY-9” to “FLOAT-BINARY-7” in the list of reserved words added in this draft of the standard.