diff --git a/include/boost/math/concepts/real_concept.hpp b/include/boost/math/concepts/real_concept.hpp index 2d64d181e..92a37bfe2 100644 --- a/include/boost/math/concepts/real_concept.hpp +++ b/include/boost/math/concepts/real_concept.hpp @@ -246,7 +246,15 @@ inline std::basic_ostream& operator<<(std::basic_ostream inline std::basic_istream& operator>>(std::basic_istream& is, real_concept& a) { +#if defined(BOOST_MSVC) && defined(__SGI_STL_PORT) + // + // STLPort 5.1.4 has a problem reading long doubles from strings, + // see http://sourceforge.net/tracker/index.php?func=detail&aid=1811043&group_id=146814&atid=766244 + // + double v; +#else long double v; +#endif is >> v; a = v; return is;