Boost logo

Boost :

From: Eric Ford (eford_at_[hidden])
Date: 2001-09-28 19:54:57

> Borland C++ 5.5.1 contains only double and long double (with the 'l'
> versions.
> There is no float overload.
> I've looked at the source files and (at least for the functions
cos/cosl and
> abs/absl that I checked) the implementation is truly double/long

Thanks for this report. Anyone else wishing to help out with reports
on other compilers, that would be appreciated. I could test the
vendor provided solaris and sgi compilers, although they're likely to
be out of date versions.
> I'm not sure if macro flags would work in all cases. How about a
> 'cmath_compatibility.hpp' header, compiler specific, that defines
all the
> missing overloads? That way, standard_functions.hpp can just pretend
all the
> overloads are present.

I worry about that allowing unexpected implicit conversions. While
that would probably be ok with Borland. On compilers that don't
provide long double versions of functions, I'm not sure this is a good
idea. I think the user should have to specify that a double precision
version is acceptable. Specialization allows for this.

Or were you planning to provide an actual implementation of the
various long double functions that were missing from libraries? I
think that would be great, but that's more than I'm willing to do.


Boost list run by bdawes at, gregod at, cpdaniel at, john at