This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Where are std::sinf( float ) etc.
- From: Ed Smith-Rowland <3dw4rd at verizon dot net>
- To: libstdc++ at gcc dot gnu dot org
- Date: Wed, 28 Dec 2005 23:42:35 -0500
- Subject: Where are std::sinf( float ) etc.
I know that this is somewhat of a user question but it also impinges on
the library implementation.
As I read it, C++ is supposed to have C99 compatible math functions such as:
float std::sinf( float );
long double std::sinl( long double );
float std::cosf( float );
long double std::cosl( long double );
etc.
in addition to the usual unsuffixed overloads for float, double, and
long double.
This is based on statements in the standard to the effect that C++ is
supposed
to implement the corresponding C99 standard. I can't remember chapter
and verse. :-P
I Googled around and saw c_shadow that had these but was later removed.
In addition, TR1 is very clear that the new C99 math functions in
section 8.16.1 such as
double acosh(double x);
float acoshf(float x);
long double acoshl(long double x);
have these suffixed versions
So my questions are:
Where did these go? Did I just miss them?
Should we create a tr1 version of std_cmath.h that has these new functions?
It was looking at the TR1 draft that got me onto this.
Thanks,
Ed