]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/qvm/test/deduce_scalar_test.cpp
update sources to v12.2.4
[ceph.git] / ceph / src / boost / libs / qvm / test / deduce_scalar_test.cpp
1 //Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
2
3 //Distributed under the Boost Software License, Version 1.0. (See accompanying
4 //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
5
6 #include <boost/qvm/deduce_scalar.hpp>
7
8 template <class T,class U>
9 struct same_type;
10
11 template <class T>
12 struct
13 same_type<T,T>
14 {
15 };
16
17 template <class A,class B,class R>
18 struct
19 check
20 {
21 same_type<typename boost::qvm::deduce_scalar<A,B>::type,R> a;
22 same_type<typename boost::qvm::deduce_scalar<B,A>::type,R> b;
23 };
24
25 int
26 main()
27 {
28 check<signed char,signed char,signed char>();
29 check<signed char,signed short,signed short>();
30 check<signed char,signed int,signed int>();
31 check<signed char,signed long,signed long>();
32 check<signed char,unsigned char,unsigned char>();
33 check<signed char,unsigned short,unsigned short>();
34 check<signed char,unsigned int,unsigned int>();
35 check<signed char,unsigned long,unsigned long>();
36 check<signed char,float,float>();
37 check<signed char,double,double>();
38 check<signed short,signed short,signed short>();
39 check<signed short,signed int,signed int>();
40 check<signed short,signed long,signed long>();
41 check<signed short,unsigned short,unsigned short>();
42 check<signed short,unsigned int,unsigned int>();
43 check<signed short,unsigned long,unsigned long>();
44 check<signed short,float,float>();
45 check<signed short,double,double>();
46 check<signed int,signed int,signed int>();
47 check<signed int,signed long,signed long>();
48 check<signed int,unsigned int,unsigned int>();
49 check<signed int,unsigned long,unsigned long>();
50 check<signed int,float,float>();
51 check<signed int,double,double>();
52 check<signed long,signed long,signed long>();
53 check<signed long,unsigned long,unsigned long>();
54 check<signed long,float,float>();
55 check<signed long,double,double>();
56 check<unsigned char,unsigned char,unsigned char>();
57 check<unsigned char,unsigned short,unsigned short>();
58 check<unsigned char,unsigned int,unsigned int>();
59 check<unsigned char,unsigned long,unsigned long>();
60 check<unsigned char,float,float>();
61 check<unsigned char,double,double>();
62 check<unsigned short,unsigned short,unsigned short>();
63 check<unsigned short,unsigned int,unsigned int>();
64 check<unsigned short,unsigned long,unsigned long>();
65 check<unsigned short,float,float>();
66 check<unsigned short,double,double>();
67 check<unsigned int,unsigned int,unsigned int>();
68 check<unsigned int,unsigned long,unsigned long>();
69 check<unsigned int,float,float>();
70 check<unsigned int,double,double>();
71 check<unsigned long,unsigned long,unsigned long>();
72 check<unsigned long,float,float>();
73 check<unsigned long,double,double>();
74 check<float,float,float>();
75 check<float,double,double>();
76 check<double,double,double>();
77 }