diff --git a/include/boost/math/concepts/real_concept.hpp b/include/boost/math/concepts/real_concept.hpp index 364581d6a..7ba2eebbb 100644 --- a/include/boost/math/concepts/real_concept.hpp +++ b/include/boost/math/concepts/real_concept.hpp @@ -66,7 +66,10 @@ public: real_concept(int c) : m_value(c){} real_concept(unsigned long c) : m_value(c){} real_concept(long c) : m_value(c){} -#if defined(BOOST_HAS_LONG_LONG) || defined(__DECCXX) || defined(__SUNPRO_CC) +#if defined(__DECCXX) || defined(__SUNPRO_CC) + real_concept(unsigned long long c) : m_value(static_cast(c)){} + real_concept(long long c) : m_value(static_cast(c)){} +#elif defined(BOOST_HAS_LONG_LONG) real_concept(boost::ulong_long_type c) : m_value(static_cast(c)){} real_concept(boost::long_long_type c) : m_value(static_cast(c)){} #elif defined(BOOST_HAS_MS_INT64) diff --git a/include/boost/math/concepts/std_real_concept.hpp b/include/boost/math/concepts/std_real_concept.hpp index a40509bf7..e0f405378 100644 --- a/include/boost/math/concepts/std_real_concept.hpp +++ b/include/boost/math/concepts/std_real_concept.hpp @@ -58,7 +58,10 @@ public: std_real_concept(int c) : m_value(c){} std_real_concept(unsigned long c) : m_value(c){} std_real_concept(long c) : m_value(c){} -#if defined(BOOST_HAS_LONG_LONG) || defined(__DECCXX) || defined(__SUNPRO_CC) +#if defined(__DECCXX) || defined(__SUNPRO_CC) + std_real_concept(unsigned long long c) : m_value(static_cast(c)){} + std_real_concept(long long c) : m_value(static_cast(c)){} +#elif defined(BOOST_HAS_LONG_LONG) std_real_concept(boost::ulong_long_type c) : m_value(static_cast(c)){} std_real_concept(boost::long_long_type c) : m_value(static_cast(c)){} #endif @@ -79,7 +82,10 @@ public: std_real_concept& operator=(unsigned int c) { m_value = c; return *this; } std_real_concept& operator=(long c) { m_value = c; return *this; } std_real_concept& operator=(unsigned long c) { m_value = c; return *this; } -#if defined(BOOST_HAS_LONG_LONG) || defined(__DECCXX) || defined(__SUNPRO_CC) +#if defined(__DECCXX) || defined(__SUNPRO_CC) + std_real_concept& operator=(unsigned long long c) { m_value = static_cast(c); return *this; } + std_real_concept& operator=(long long c) { m_value = static_cast(c); return *this; } +#elif defined(BOOST_HAS_LONG_LONG) std_real_concept& operator=(boost::long_long_type c) { m_value = static_cast(c); return *this; } std_real_concept& operator=(boost::ulong_long_type c) { m_value = static_cast(c); return *this; } #endif