}
template <class From, class To>
-void test_convert_neg_int(From from, const boost::mpl::true_&)
+void test_convert_neg_int(From from, const std::integral_constant<bool, true>&)
{
from = -from;
To t3(from);
BOOST_CHECK_EQUAL(From(trunc(from)), From(t4));
}
template <class From, class To>
-void test_convert_neg_int(From const&, const boost::mpl::false_&)
+void test_convert_neg_int(From const&, const std::integral_constant<bool, false>&)
{
}
template <class From, class To>
-void test_convert_imp(boost::mpl::int_<number_kind_floating_point> const&, boost::mpl::int_<number_kind_integer> const&)
+void test_convert_imp(std::integral_constant<int, number_kind_floating_point> const&, std::integral_constant<int, number_kind_integer> const&)
{
for (unsigned i = 0; i < 100; ++i)
{
To t2 = from.template convert_to<To>();
BOOST_CHECK_EQUAL(From(trunc(from)), From(t1));
BOOST_CHECK_EQUAL(From(trunc(from)), From(t2));
- test_convert_neg_int<From, To>(from, boost::mpl::bool_ < std::numeric_limits<From>::is_signed && std::numeric_limits<To>::is_signed > ());
+ test_convert_neg_int<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_rat(From from, const boost::mpl::true_&)
+void test_convert_neg_rat(From from, const std::integral_constant<bool, true>&)
{
from = -from;
To t3(from);
BOOST_CHECK_CLOSE_FRACTION(From(t4), from, tol);
}
template <class From, class To>
-void test_convert_rat_int(From const&, const boost::mpl::false_&)
+void test_convert_rat_int(From const&, const std::integral_constant<bool, false>&)
{
}
template <class From, class To>
-void test_convert_imp(boost::mpl::int_<number_kind_floating_point> const&, boost::mpl::int_<number_kind_rational> const&)
+void test_convert_imp(std::integral_constant<int, number_kind_floating_point> const&, std::integral_constant<int, number_kind_rational> const&)
{
for (unsigned i = 0; i < 100; ++i)
{
From tol = std::numeric_limits<From>::epsilon();
BOOST_CHECK_CLOSE_FRACTION(From(t1), from, tol);
BOOST_CHECK_CLOSE_FRACTION(From(t2), from, tol);
- test_convert_neg_rat<From, To>(from, boost::mpl::bool_ < std::numeric_limits<From>::is_signed && std::numeric_limits<To>::is_signed > ());
+ test_convert_neg_rat<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(From from, const boost::mpl::true_&)
+void test_convert_neg_float(From from, const std::integral_constant<bool, true>&)
{
from = -from;
To t3(from);
BOOST_CHECK_CLOSE_FRACTION(t4, answer, tol);
}
template <class From, class To>
-void test_convert_neg_float(From const&, const boost::mpl::false_&)
+void test_convert_neg_float(From const&, const std::integral_constant<bool, false>&)
{
}
template <class From, class To>
-void test_convert_imp(boost::mpl::int_<number_kind_floating_point> const&, boost::mpl::int_<number_kind_floating_point> const&)
+void test_convert_imp(std::integral_constant<int, number_kind_floating_point> const&, std::integral_constant<int, number_kind_floating_point> const&)
{
for (unsigned i = 0; i < 100; ++i)
{
To tol = (std::max)(std::numeric_limits<To>::epsilon(), To(std::numeric_limits<From>::epsilon())) * 2;
BOOST_CHECK_CLOSE_FRACTION(t1, answer, tol);
BOOST_CHECK_CLOSE_FRACTION(t2, answer, tol);
- test_convert_neg_float<From, To>(from, boost::mpl::bool_ < std::numeric_limits<From>::is_signed && std::numeric_limits<To>::is_signed > ());
+ test_convert_neg_float<From, To>(from, std::integral_constant<bool, std::numeric_limits<From>::is_signed && std::numeric_limits<To>::is_signed > ());
}
}