}
template <class From, class To>
-void test_convert_neg_val(From from, const boost::mpl::true_&)
+void test_convert_neg_val(From from, const std::integral_constant<bool, true>&)
{
from = -from;
typename component_type<From>::type answer = numerator(from) / denominator(from);
BOOST_CHECK_EQUAL(answer.str(), t4.str());
}
template <class From, class To>
-void test_convert_neg_val(From const&, const boost::mpl::false_&)
+void test_convert_neg_val(From const&, const std::integral_constant<bool, false>&)
{
}
template <class From, class To>
-void test_convert_imp(boost::mpl::int_<number_kind_rational> const&, boost::mpl::int_<number_kind_integer> const&)
+void test_convert_imp(std::integral_constant<int, number_kind_rational> const&, std::integral_constant<int, number_kind_integer> const&)
{
int bits_wanted = (std::min)((std::min)(std::numeric_limits<From>::digits, std::numeric_limits<To>::digits), 2000);
To t2 = from.template convert_to<To>();
BOOST_CHECK_EQUAL(answer.str(), t1.str());
BOOST_CHECK_EQUAL(answer.str(), t2.str());
- test_convert_neg_val<From, To>(from, boost::mpl::bool_ < std::numeric_limits<From>::is_signed && std::numeric_limits<To>::is_signed > ());
+ test_convert_neg_val<From, To>(from, std::integral_constant<bool, std::numeric_limits<From>::is_signed && std::numeric_limits<To>::is_signed > ());
}
}
template <class From, class To>
-void test_convert_neg_float_val(From from, To const& tol, const boost::mpl::true_&)
+void test_convert_neg_float_val(From from, To const& tol, const std::integral_constant<bool, true>&)
{
from = -from;
To answer = To(numerator(from)) / To(denominator(from));
BOOST_CHECK_CLOSE_FRACTION(answer, t4, tol);
}
template <class From, class To>
-void test_convert_neg_float_val(From const&, To const&, const boost::mpl::false_&)
+void test_convert_neg_float_val(From const&, To const&, const std::integral_constant<bool, false>&)
{
}
template <class From, class To>
-void test_convert_imp(boost::mpl::int_<number_kind_rational> const&, boost::mpl::int_<number_kind_floating_point> const&)
+void test_convert_imp(std::integral_constant<int, number_kind_rational> const&, std::integral_constant<int, number_kind_floating_point> const&)
{
int bits_wanted = (std::min)((std::min)(std::numeric_limits<From>::digits, std::numeric_limits<To>::digits), 2000);
tol *= 2;
BOOST_CHECK_CLOSE_FRACTION(answer, t1, tol);
BOOST_CHECK_CLOSE_FRACTION(answer, t2, tol);
- test_convert_neg_float_val<From, To>(from, tol, boost::mpl::bool_ < std::numeric_limits<From>::is_signed && std::numeric_limits<To>::is_signed > ());
+ test_convert_neg_float_val<From, To>(from, tol, std::integral_constant<bool, std::numeric_limits<From>::is_signed && std::numeric_limits<To>::is_signed > ());
}
}
template <class From, class To>
-void test_convert_neg_rat_val(From from, const boost::mpl::true_&)
+void test_convert_neg_rat_val(From from, const std::integral_constant<bool, true>&)
{
from = -from;
To t3(from);
BOOST_CHECK_EQUAL(from.str(), t4.str());
}
template <class From, class To>
-void test_convert_neg_rat_val(From const&, const boost::mpl::false_&)
+void test_convert_neg_rat_val(From const&, const std::integral_constant<bool, false>&)
{
}
template <class From, class To>
-void test_convert_imp(boost::mpl::int_<number_kind_rational> const&, boost::mpl::int_<number_kind_rational> const&)
+void test_convert_imp(std::integral_constant<int, number_kind_rational> const&, std::integral_constant<int, number_kind_rational> const&)
{
int bits_wanted = (std::min)((std::min)(std::numeric_limits<From>::digits, std::numeric_limits<To>::digits), 2000);
To t2 = from.template convert_to<To>();
BOOST_CHECK_EQUAL(from.str(), t1.str());
BOOST_CHECK_EQUAL(from.str(), t2.str());
- test_convert_neg_rat_val<From, To>(from, boost::mpl::bool_ < std::numeric_limits<From>::is_signed && std::numeric_limits<To>::is_signed > ());
+ test_convert_neg_rat_val<From, To>(from, std::integral_constant<bool, std::numeric_limits<From>::is_signed && std::numeric_limits<To>::is_signed > ());
}
}