This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]