Where are std::sinf( float ) etc.

Howard Hinnant hhinnant@apple.com
Thu Dec 29 20:41:00 GMT 2005


Many pardons if my inquiry ruffled any feathers.  That was not my  
intent.

On Dec 29, 2005, at 3:05 PM, Gabriel Dos Reis wrote:

> In this specific case, it appears to me that you're operating under
> the (mistaken) assumption that we selectively merged the C99 math part
> of TR1 into the libstdc++.  The C99 math stuff particularly hit
> libstdc++ long before TR1 was initiated or completed (have to dig to
> see the exact dates).

The first C99 compatibility paper to appear before the LWG is dated  
March 2002.  The first TR1 draft was published in Oct. '03.  The  
technology to disambiguate the math functions using "restricted  
templates" didn't exist prior to early 2002.  I personally argued in  
committee that we include the "fortran overloading rules" as part of  
the C99 compatibility package in the 2003 time frame.

> Don't judge old facts based on new legislations.
> (retroactive laws are harmful :-)

Given the emergence of the enabling technology, the C99 compatibility  
proposals on the committee, the initiation of TR1, and the appearance  
of this work in gcc all happened close to the same time frame, I did  
not suspect they were completely unrelated.  My bad.

> As to overloads for std::cosf (note the suffix), I find the
> justificaton for them as "C99 compatibility" as dubious.

Interesting.

-Howard



More information about the Libstdc++ mailing list