// (C) Copyright John Maddock 2017. // Distributed under the Boost Software License, Version 1.0. (See // accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) #include #ifndef BOOST_NO_CXX14_CONSTEXPR void test_constexpr() { constexpr const boost::int64_t i = 347 * 463 * 727; constexpr const boost::int64_t j = 191 * 347 * 281; constexpr const boost::int64_t k = boost::integer::gcd(i, j); constexpr const boost::int64_t l = boost::integer::lcm(i, j); static_assert(k == 347, "Expected result not found in constexpr gcd."); static_assert(l == 6268802158037, "Expected result not found in constexpr lcm."); } #endif #ifndef BOOST_NO_CXX11_NOEXCEPT void test_noexcept() { static_assert(noexcept(boost::integer::gcd(static_cast(2), static_cast(4))), "Expected a noexcept function."); static_assert(noexcept(boost::integer::gcd(static_cast(2), static_cast(4))), "Expected a noexcept function."); static_assert(noexcept(boost::integer::gcd(static_cast(2), static_cast(4))), "Expected a noexcept function."); static_assert(noexcept(boost::integer::gcd(static_cast(2), static_cast(4))), "Expected a noexcept function."); static_assert(noexcept(boost::integer::gcd(static_cast(2), static_cast(4))), "Expected a noexcept function."); static_assert(noexcept(boost::integer::gcd(static_cast(2), static_cast(4))), "Expected a noexcept function."); static_assert(noexcept(boost::integer::gcd(static_cast(2), static_cast(4))), "Expected a noexcept function."); static_assert(noexcept(boost::integer::gcd(static_cast(2), static_cast(4))), "Expected a noexcept function."); static_assert(noexcept(boost::integer::gcd(static_cast(2), static_cast(4))), "Expected a noexcept function."); static_assert(noexcept(boost::integer::gcd(static_cast(2), static_cast(4))), "Expected a noexcept function."); static_assert(noexcept(boost::integer::gcd(static_cast(2), static_cast(4))), "Expected a noexcept function."); } #endif