diff --git a/sprout/algorithm/find_symmetric_difference.hpp b/sprout/algorithm/find_symmetric_difference.hpp index cf196228..a1c36ee6 100644 --- a/sprout/algorithm/find_symmetric_difference.hpp +++ b/sprout/algorithm/find_symmetric_difference.hpp @@ -55,7 +55,7 @@ namespace sprout { InputIterator1 last1, InputIterator2 last2, Compare comp, typename std::iterator_traits::difference_type n ) { - return sprout::tuples::get<2>(current) || sprout::tuples::get<0>(current) == last1 ? current + return sprout::tuples::get<2>(current) || sprout::tuples::get<0>(current) == last1 || sprout::tuples::get<1>(current) == last2 ? current : sprout::detail::find_symmetric_difference_impl( sprout::detail::find_symmetric_difference_impl_1( current, diff --git a/sprout/random/uniform_int_distribution.hpp b/sprout/random/uniform_int_distribution.hpp index 3a34acd8..05f3b783 100644 --- a/sprout/random/uniform_int_distribution.hpp +++ b/sprout/random/uniform_int_distribution.hpp @@ -18,6 +18,9 @@ #include #include #include +#ifdef SPROUT_WORKAROUND_NOT_TERMINATE_RECURSIVE_CONSTEXPR_FUNCTION_TEMPLATE +# include +#endif namespace sprout { namespace random { diff --git a/sprout/random/uniform_real_distribution.hpp b/sprout/random/uniform_real_distribution.hpp index 79b64d29..73f1b531 100644 --- a/sprout/random/uniform_real_distribution.hpp +++ b/sprout/random/uniform_real_distribution.hpp @@ -16,6 +16,9 @@ #include #include #include +#ifdef SPROUT_WORKAROUND_NOT_TERMINATE_RECURSIVE_CONSTEXPR_FUNCTION_TEMPLATE +# include +#endif namespace sprout { namespace random {