[Cfp-interest] format - subgroup meeting 20091130 notes

Jim Thomas jwthomas at cup.hp.com
Mon Nov 30 15:23:53 PST 2009


Please send me any corrections or additions.

-Jim

*** Notes from Formats subgroup meeting 30 Nov 2009 ***

Present were Mathew, Fred, Ian, Liang-Kai, Steve, and Jim.

We discussed the papers posted on the Formats subgroup wiki page: 
Formats.htm (first five sections) and FORMAT2.TXT. We came to working 
decisions on several issues and clarified others:

Provide support for the specific types, outside the traditional float, 
double, long double nomenclature.
Issue: Add support for user remapping of float, double, and long double?

Names for 754 interchange types:
    _BinaryN
    _DecimalN
where N is the width, and other format parameters are implied as in 754.
Note: This scheme is just for 754 types.
Note: This is the scheme used in the Decimal FP TR.

Name for complex and imaginary types:
    _BinaryN_Complex
    _BinaryN_Imaginary
    _DecimalN_Complex
    _DecimalN_Imaginary
Issue: Or _Complex_BinaryN, etc.?
Note: Each type name is a single token.

Macros BINN_IS_ARITH (DECN_IS_ARITH) declare that the implementation 
supports _BinaryN (_DecimalN) as an arithmetic type, including full 
library support.
Issue: Do we need another category for support of 754 Clause 5, but not 
full library support?

Issue: Should _Binary128 be required? As an arithmetic type?
Issue: Should _Binary16 be required?

Macros BINN_MANT_DIG, etc. (DECN_MANT_DIG, etc.) provide the <float.h> 
style macros for _BinaryN (_DecimalN).

Constant suffixes bN and BN (dN and DN) designate _BinaryN (_DecimalN) 
constants.

Macros PRI[aefg]BN and SCN[aefg]BN (PRI[aefg]DN and SCN[aefg]DN) could 
define printf and scanf specifiers for _BinaryN (_DecimalN).
Issue: Would it be better to specify the specifiers directly (rather 
than through macros)? Proposal needed.

Extended nomenclature is obtained by adding an 'x' or 'X' to the names 
for the base type that is being extended:
    type names: _BinaryNx
    macros: BINNX_MANT_DIG (DECNX_MANT_DIG), etc.
    constant suffixes: bNx and BNx (dNx and DNx)
    I/O specifier macros: PRI[aefg]BNX and SCN[aefg]BNX (PRI[aefg]DNX 
and SCN[aefg]DNX)
where N indicates a base type.

Issue: What is needed for designating widest, fastest, etc. types?

   
   






More information about the Cfp-interest mailing list