]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - usr.bin/m4/TEST/math.m4
usr.bin: Remove ancient SCCS tags.
[FreeBSD/FreeBSD.git] / usr.bin / m4 / TEST / math.m4
1 dnl A regression test for m4 C operators                (ksb,petef)
2 dnl If you think you have a short-circuiting m4, run us m4 -DSHORCIRCUIT=yes
3 dnl
4 dnl first level of precedence
5 ifelse(expr(-7),-7,,`failed -
6 ')dnl
7 ifelse(expr(- -2),2,,`failed -
8 ')dnl
9 ifelse(expr(!0),1,,`failed !
10 ')dnl
11 ifelse(expr(!7),0,,`failed !
12 ')dnl
13 ifelse(expr(~-1),0,,`failed ~
14 ')dnl
15 dnl next level of precedence
16 ifelse(expr(3*5),15,,`failed *
17 ')dnl
18 ifelse(expr(3*0),0,,`failed *
19 ')dnl
20 ifelse(expr(11/2),5,,`failed /
21 ')dnl
22 ifelse(expr(1/700),0,,`failed /
23 ')dnl
24 ifelse(expr(10%5),0,,`failed %
25 ')dnl
26 ifelse(expr(2%5),2,,`failed %
27 ')dnl
28 ifelse(expr(2%-1),0,,`failed %
29 ')dnl
30 dnl next level of precedence
31 ifelse(expr(2+2),4,,`failed +
32 ')dnl
33 ifelse(expr(2+-2),0,,`failed +
34 ')dnl
35 ifelse(expr(2- -2),4,,`failed -
36 ')dnl
37 ifelse(expr(2-2),0,,`failed -
38 ')dnl
39 dnl next level of precedence
40 ifelse(expr(1<<4),16,,`failed <<
41 ')dnl
42 ifelse(expr(16>>4),1,,`failed >>
43 ')dnl
44 dnl next level of precedence
45 ifelse(expr(4<4),0,,`failed <
46 ')dnl
47 ifelse(expr(4<5),1,,`failed <
48 ')dnl
49 ifelse(expr(4<3),0,,`failed <
50 ')dnl
51 ifelse(expr(4>4),0,,`failed >
52 ')dnl
53 ifelse(expr(4>5),0,,`failed >
54 ')dnl
55 ifelse(expr(4>3),1,,`failed >
56 ')dnl
57 ifelse(expr(4<=4),1,,`failed <=
58 ')dnl
59 ifelse(expr(4<=5),1,,`failed <=
60 ')dnl
61 ifelse(expr(4<=3),0,,`failed <=
62 ')dnl
63 ifelse(expr(4>=4),1,,`failed >=
64 ')dnl
65 ifelse(expr(4>=5),0,,`failed >=
66 ')dnl
67 ifelse(expr(4>=3),1,,`failed >=
68 ')dnl
69 dnl next level of precedence
70 ifelse(expr(1==1),1,,`failed ==
71 ')dnl
72 ifelse(expr(1==-1),0,,`failed ==
73 ')dnl
74 ifelse(expr(1!=1),0,,`failed !=
75 ')dnl
76 ifelse(expr(1!=2),1,,`failed !=
77 ')dnl
78 dnl next level of precedence
79 ifelse(expr(3&5),1,,`failed &
80 ')dnl
81 ifelse(expr(8&7),0,,`failed &
82 ')dnl
83 dnl next level of precedence
84 ifelse(expr(1^1),0,,`failed ^
85 ')dnl
86 ifelse(expr(21^5),16,,`failed ^
87 ')dnl
88 dnl next level of precedence
89 ifelse(expr(1|1),1,,`failed |
90 ')dnl
91 ifelse(expr(21|5),21,,`failed |
92 ')dnl
93 ifelse(expr(100|1),101,,`failed |
94 ')dnl
95 dnl next level of precedence
96 ifelse(expr(1&&1),1,,`failed &&
97 ')dnl
98 ifelse(expr(0&&1),0,,`failed &&
99 ')dnl
100 ifelse(expr(1&&0),0,,`failed &&
101 ')dnl
102 ifelse(SHORTCIRCUIT,`yes',`ifelse(expr(0&&10/0),0,,`failed && shortcircuit
103 ')')dnl
104 dnl next level of precedence
105 ifelse(expr(1||1),1,,`failed ||
106 ')dnl
107 ifelse(expr(1||0),1,,`failed ||
108 ')dnl
109 ifelse(expr(0||0),0,,`failed ||
110 ')dnl
111 ifelse(SHORTCIRCUIT,`yes',`ifelse(expr(1||10/0),1,,`failed || shortcircuit
112 ')')dnl
113 dnl next level of precedence
114 ifelse(expr(0 ? 2 : 5),5,,`failed ?:
115 ')dnl
116 ifelse(expr(1 ? 2 : 5),2,,`failed ?:
117 ')dnl
118 ifelse(SHORTCIRCUIT,`yes',`ifelse(expr(0 ? 10/0 : 7),7,,`failed ?: shortcircuit
119 ')')dnl
120 ifelse(SHORTCIRCUIT,`yes',`ifelse(expr(1 ? 7 : 10/0),7,,`failed ?: shortcircuit
121 ')')dnl
122 dnl operator precedence
123 ifelse(expr(!0*-2),-2,,`precedence wrong, ! *
124 ')dnl
125 ifelse(expr(~8/~2),3,,`precedence wrong ~ /
126 ')dnl
127 ifelse(expr(~-20%7),5,,`precedence wrong ~ %
128 ')dnl
129 ifelse(expr(3*2+100),106,,`precedence wrong * +
130 ')dnl
131 ifelse(expr(3+2*100),203,,`precedence wrong + *
132 ')dnl
133 ifelse(expr(2%5-6/3),0,,`precedence wrong % -
134 ')dnl
135 ifelse(expr(2/5-5%3),-2,,`precedence wrong / -
136 ')dnl
137 ifelse(expr(2+5%5+1),3,,`precedence wrong % +
138 ')dnl
139 ifelse(expr(7+9<<1),32,,`precedence wrong + <<
140 ')dnl
141 ifelse(expr(35-3>>2),8,,`precedence wrong - >>
142 ')dnl
143 ifelse(expr(9<10<<5),1,,`precedence wrong << <
144 ')dnl
145 ifelse(expr(9>10<<5),0,,`precedence wrong << >
146 ')dnl
147 ifelse(expr(32>>2<32),1,,`precedence wrong >> <
148 ')dnl
149 ifelse(expr(9<=10<<5),1,,`precedence wrong << <
150 ')dnl
151 ifelse(expr(5<<1<=20>>1),1,,`precedence wrong << <=
152 ')dnl
153 ifelse(expr(5<<1>=20>>1),1,,`precedence wrong << >=
154 ')dnl
155 ifelse(expr(0<7==5>=5),1,,`precedence wrong < ==
156 ')dnl
157 ifelse(expr(0<7!=5>=5),0,,`precedence wrong < !=
158 ')dnl
159 ifelse(expr(0>7==5>=5),0,,`precedence wrong > ==
160 ')dnl
161 ifelse(expr(0>7!=5>=5),1,,`precedence wrong > !=
162 ')dnl
163 ifelse(expr(1&7==7),1,,`precedence wrong & ==
164 ')dnl
165 ifelse(expr(0&7!=6),0,,`precedence wrong & !=
166 ')dnl
167 ifelse(expr(9&1|5),5,,`precedence wrong & |
168 ')dnl
169 ifelse(expr(9&1^5),4,,`precedence wrong & ^
170 ')dnl
171 ifelse(expr(9^1|5),13,,`precedence wrong ^ |
172 ')dnl
173 ifelse(expr(5|0&&1),1,,`precedence wrong | &&
174 ')dnl
175 ifelse(expr(5&&0||0&&5||5),1,,`precedence wrong && ||
176 ')dnl
177 ifelse(expr(0 || 1 ? 0 : 1),0,,`precedence wrong || ?:
178 ')dnl
179 ifelse(expr(5&&(0||0)&&(5||5)),0,,`precedence wrong || parens
180 ')dnl