Boost logo

Boost :

Subject: Re: [boost] [math] Comeau can't match math::tools::fmod_workaround
From: Mateusz Loskot (mateusz_at_[hidden])
Date: 2009-11-26 14:41:59

Mateusz Loskot wrote:
> Hi,
> I'm not sure if I should submit this issue directly to Trac, so I
> decided to post it here first. Compiling Boost.Math using Comeau +
> GCC on Linux throws error that suggests mismatch of dobule and long
> double where single type T is expected:

I've just found very similar issue in other place. It is std::pow
specialisations seem ambiguous for Comeau C/C++ compiler.

"../../../boost/math/special_functions/spherical_harmonic.hpp", line 39:
          more than one instance of overloaded function "pow" matches the
          argument list:
            function "std::pow(const std::complex<long double> &, const long
                      double &)"
            function "std::pow(const double &, const
std::complex<double> &)"
            function "std::pow(long double, long double)"
            function "std::pow(double, int)"
            function "std::pow(double, double)"
            argument types are: (double, long double)
     T leg = detail::legendre_p_imp(n, m, x, pow(fabs(sin_theta), T(m)),
          detected during:
            instantiation of "T

                      int, unsigned int, T, const Policy &) [with T=long
                      double, Policy=c_policies::c_policy]" at line 71
            instantiation of "T
                      int, T, T, const Policy &) [with T=long double,
                      Policy=c_policies::c_policy]" at line 172

I thought it may be of interest.

Best regards,

Mateusz Loskot,
Charter Member of OSGeo,

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