1# /* **************************************************************************
2# * *
3# * (C) Copyright Paul Mensonides 2002.
4# * Distributed under the Boost Software License, Version 1.0. (See
5# * accompanying file LICENSE_1_0.txt or copy at
6# * http://www.boost.org/LICENSE_1_0.txt)
7# * *
8# ************************************************************************** */
9#
10# /* See http://www.boost.org for most recent version. */
11#
12# include <boost/preprocessor/config/limits.hpp>
13# include <boost/preprocessor/logical.hpp>
14# include "test.h"
15
16BEGIN BOOST_PP_NOT(0) == 1 END
17BEGIN BOOST_PP_NOT(2) == 0 END
18
19BEGIN BOOST_PP_AND(0, 0) == 0 END
20BEGIN BOOST_PP_AND(0, 3) == 0 END
21BEGIN BOOST_PP_AND(4, 0) == 0 END
22BEGIN BOOST_PP_AND(5, 6) == 1 END
23
24BEGIN BOOST_PP_OR(0, 0) == 0 END
25BEGIN BOOST_PP_OR(0, 7) == 1 END
26BEGIN BOOST_PP_OR(8, 0) == 1 END
27BEGIN BOOST_PP_OR(9, 1) == 1 END
28
29BEGIN BOOST_PP_XOR(0, 0) == 0 END
30BEGIN BOOST_PP_XOR(0, 2) == 1 END
31BEGIN BOOST_PP_XOR(3, 0) == 1 END
32BEGIN BOOST_PP_XOR(4, 5) == 0 END
33
34BEGIN BOOST_PP_NOR(0, 0) == 1 END
35BEGIN BOOST_PP_NOR(0, 6) == 0 END
36BEGIN BOOST_PP_NOR(7, 0) == 0 END
37BEGIN BOOST_PP_NOR(8, 9) == 0 END
38
39BEGIN BOOST_PP_BOOL(22) == 1 END
40BEGIN BOOST_PP_BOOL(0) == 0 END
41
42#if BOOST_PP_LIMIT_MAG == 512
43
44BEGIN BOOST_PP_NOT(283) == 0 END
45
46BEGIN BOOST_PP_AND(0, 505) == 0 END
47BEGIN BOOST_PP_AND(376, 0) == 0 END
48BEGIN BOOST_PP_AND(482, 139) == 1 END
49
50BEGIN BOOST_PP_OR(0, 274) == 1 END
51BEGIN BOOST_PP_OR(512, 0) == 1 END
52BEGIN BOOST_PP_OR(23, 386) == 1 END
53
54BEGIN BOOST_PP_XOR(0, 494) == 1 END
55BEGIN BOOST_PP_XOR(391, 0) == 1 END
56BEGIN BOOST_PP_XOR(260, 438) == 0 END
57
58BEGIN BOOST_PP_NOR(0, 455) == 0 END
59BEGIN BOOST_PP_NOR(338, 0) == 0 END
60BEGIN BOOST_PP_NOR(267, 504) == 0 END
61
62BEGIN BOOST_PP_BOOL(378) == 1 END
63
64#endif
65
66#if BOOST_PP_LIMIT_MAG == 1024
67
68BEGIN BOOST_PP_NOT(946) == 0 END
69
70BEGIN BOOST_PP_AND(0, 1002) == 0 END
71BEGIN BOOST_PP_AND(628, 0) == 0 END
72BEGIN BOOST_PP_AND(741, 110) == 1 END
73
74BEGIN BOOST_PP_OR(0, 893) == 1 END
75BEGIN BOOST_PP_OR(1024, 0) == 1 END
76BEGIN BOOST_PP_OR(23, 730) == 1 END
77
78BEGIN BOOST_PP_XOR(0, 942) == 1 END
79BEGIN BOOST_PP_XOR(641, 0) == 1 END
80BEGIN BOOST_PP_XOR(783, 869) == 0 END
81
82BEGIN BOOST_PP_NOR(0, 515) == 0 END
83BEGIN BOOST_PP_NOR(739, 0) == 0 END
84BEGIN BOOST_PP_NOR(1024, 983) == 0 END
85
86BEGIN BOOST_PP_BOOL(577) == 1 END
87
88#endif
89
90BEGIN BOOST_PP_BITAND(0, 0) == 0 END
91BEGIN BOOST_PP_BITAND(0, 1) == 0 END
92BEGIN BOOST_PP_BITAND(1, 0) == 0 END
93BEGIN BOOST_PP_BITAND(1, 1) == 1 END
94
95BEGIN BOOST_PP_BITNOR(0, 0) == 1 END
96BEGIN BOOST_PP_BITNOR(0, 1) == 0 END
97BEGIN BOOST_PP_BITNOR(1, 0) == 0 END
98BEGIN BOOST_PP_BITNOR(1, 1) == 0 END
99
100BEGIN BOOST_PP_BITOR(0, 0) == 0 END
101BEGIN BOOST_PP_BITOR(0, 1) == 1 END
102BEGIN BOOST_PP_BITOR(1, 0) == 1 END
103BEGIN BOOST_PP_BITOR(1, 1) == 1 END
104
105BEGIN BOOST_PP_BITXOR(0, 0) == 0 END
106BEGIN BOOST_PP_BITXOR(0, 1) == 1 END
107BEGIN BOOST_PP_BITXOR(1, 0) == 1 END
108BEGIN BOOST_PP_BITXOR(1, 1) == 0 END
109
110BEGIN BOOST_PP_COMPL(0) == 1 END
111BEGIN BOOST_PP_COMPL(1) == 0 END
112

source code of boost/libs/preprocessor/test/logical.cxx