Boost logo

Boost :

Subject: Re: [boost] [math] Comeau can't match math::tools::fmod_workaround
From: John Maddock (john_at_[hidden])
Date: 2009-11-29 06:26:41


>> It's easy enough to disable long double support in Boost.Math, it's just
>> a case of working out what macros the std lib sets when it's not
>> available so we can hook into that. Is __NO_LONG_DOUBLE_MATH defined
>> after including math.h by any chance?
>
> No, this macro is not defined.
>
> I contacted with Comeau team and, as they are always helpful, I've
> received a quick fix for this issue. It is possible to compile using
> Comeau with gcc/g++ compatibility mode [1] enabled.
>
> [1] http://www.comeaucomputing.com/4.3.0/minor/linux/compat.html
>
> In this mode g++ built-in functions are available, so it is possible to
> define missing fabs for Linux-specific configuration in which toolset
> includes Comeau frontend + GNU C++ compiler + GLIBC:
>
> #if defined(__linux__) && defined(__COMO__) \
> && defined(__GNUG__) && defined(__GLIBC__)
> namespace std {
> inline long double fabs(long double value)
> { return __builtin_fabsl(value); }
> }
> #endif
>
> I've confirmed using the simple test program that this option works.

Right, that could be a workaround for that one function, but isn't the whole
lot of the long double functions missing?

John.


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