JTC1/SC22/WG14
N680
Document Number: WG14 N680/J11 97-043
C9X Revision Proposal
=====================
Title: scalbn
Author: Fred J. Tydeman
Author Affiliation: Tydeman Consulting
Postal Address: 3711 Del Robles Dr., Austin, TX 78727-1814
E-mail Address: tydeman@tybor.com
Telephone Number: +1 (512) 255-8696
Fax Number: +1 (512) 255-8696
Sponsor: X3J11
Date: 1997-04-26
Document History: Correction to WG14/N657 item 6.
Proposal Category:
__ Editorial change/non-normative contribution
_Y Correction
__ New feature
__ Addition to obsolescent feature list
__ Addition to Future Directions
__ Other (please specify) ______________________________
Area of Standard Affected:
__ Environment
__ Language
__ Preprocessor
_Y Library
__ Macro/typedef/tag name
__ Function
__ Header
__ Other (please specify) ______________________________
Prior Art: X/Open XPG_______________________________________
Target Audience: All users.
Related Documents (if any): WG14/N657 item 6_______________
Proposal Attached: _Y Yes __ No, but what's your interest?
Abstract: Correct scalbn to be type generic on just the
floating-point type.
Proposal:
In section 7.6.6.y The scalbn function.
Change:
scalbnf( float, int )
scalbn ( double, int )
scalbnl( long double, long int )
to:
scalblnf( float, long int )
scalbln ( double, long int )
scalblnl( long double, long int )
An alternative is to change scalbn to:
scalbnf( float, int )
scalbn ( double, int )
scalbnl( long double, int )
and add a new function:
scalblnf( float, long int )
scalbln ( double, long int )
scalblnl( long double, long int )
Rationale:
The current scalbn (i.e. what we approved at Kona) is not a
true type generic function since the float and double
versions take an int second argument, but the long double
version takes a long int second argument.
The proposal is to not add X/Open's scalbn (with its int
second argument) to C9X, but, to instead add a scalbln
with a long int second argument.
The alternative is to add both scalbln and X/Open's scalbn.
The three people on the review committee each had a
different suggestion: leave it as is, add just the long
int version, and add both int and long int versions.