Imported Upstream version 1.72.0
[platform/upstream/boost.git] / libs / multiprecision / test / test_mixed_cpp_bin_float.cpp
1 ///////////////////////////////////////////////////////////////
2 //  Copyright 2012 John Maddock. Distributed under the Boost
3 //  Software License, Version 1.0. (See accompanying file
4 //  LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt
5
6 #ifdef _MSC_VER
7 #define _SCL_SECURE_NO_WARNINGS
8 #endif
9
10 #include <boost/multiprecision/cpp_bin_float.hpp>
11 #include "test_mixed.hpp"
12
13 int main()
14 {
15 #ifndef BOOST_NO_EXCEPTIONS
16    try
17    {
18 #endif
19       typedef boost::multiprecision::number<boost::multiprecision::cpp_bin_float<100>, boost::multiprecision::et_on>  big_type1;
20       typedef boost::multiprecision::number<boost::multiprecision::cpp_bin_float<50>, boost::multiprecision::et_on>   small_type1;
21       typedef boost::multiprecision::number<boost::multiprecision::cpp_bin_float<100>, boost::multiprecision::et_off> big_type2;
22       typedef boost::multiprecision::number<boost::multiprecision::cpp_bin_float<50>, boost::multiprecision::et_off>  small_type2;
23
24       test<big_type1, small_type1>();
25       test<big_type2, small_type2>();
26       test<big_type1, small_type2>();
27       test<big_type2, small_type1>();
28 #ifndef BOOST_NO_EXCEPTIONS
29    }
30    catch (const std::exception& e)
31    {
32       std::cout << "Failed with unexpected exception: " << e.what() << std::endl;
33       return 1;
34    }
35 #endif
36    return boost::report_errors();
37 }