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'
suffix)
> 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
double.

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
separate
> '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.

Thanks,
E


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk