@@ -137,7 +137,70 @@ struct
137
137
ignore (Interval. eval_binary (Interval. of_int 2 ) Eq (Interval. of_int 3 ));
138
138
ignore (Interval. eval_binary (Interval. of_int 2 ) Ne (Interval. of_int 3 ))
139
139
140
-
140
+ let test_eval_binary_lt _ =
141
+ assert_equal (Interval. of_int 1 ) (Interval. eval_binary (Interval. of_int 2 ) Lt (Interval. of_int 3 ));
142
+ assert_equal (Interval. of_int 0 ) (Interval. eval_binary (Interval. of_int 2 ) Lt (Interval. of_int 2 ));
143
+ assert_equal (Interval. of_int 0 ) (Interval. eval_binary (Interval. of_int 3 ) Lt (Interval. of_int 2 ));
144
+
145
+ assert_equal (Interval. of_interval (0 , 1 )) (Interval. eval_binary (Interval. of_int 2 ) Lt (Interval. of_interval (0 , 5 )));
146
+ assert_equal (Interval. of_interval (0 , 1 )) (Interval. eval_binary (Interval. of_interval (0 , 5 )) Lt (Interval. of_int 2 ));
147
+
148
+ assert_equal (Interval. of_int 1 ) (Interval. eval_binary (Interval. of_int 2 ) Lt (Interval. of_interval (3 , 5 )));
149
+ assert_equal (Interval. of_int 0 ) (Interval. eval_binary (Interval. of_interval (3 , 5 )) Lt (Interval. of_int 2 ));
150
+ assert_equal (Interval. of_int 0 ) (Interval. eval_binary (Interval. of_int 2 ) Lt (Interval. of_interval (- 1 , 1 )));
151
+ assert_equal (Interval. of_int 1 ) (Interval. eval_binary (Interval. of_interval (- 1 , 1 )) Lt (Interval. of_int 2 ));
152
+
153
+ assert_equal (Interval. of_interval (0 , 1 )) (Interval. eval_binary (Interval. of_interval (2 , 6 )) Lt (Interval. of_interval (3 , 7 )));
154
+ assert_equal (Interval. of_interval (0 , 1 )) (Interval. eval_binary (Interval. of_interval (0 , 10 )) Lt (Interval. of_interval (2 , 4 )));
155
+ assert_equal (Interval. of_interval (0 , 1 )) (Interval. eval_binary (Interval. of_interval (2 , 4 )) Lt (Interval. of_interval (0 , 10 )));
156
+ assert_equal (Interval. of_interval (0 , 1 )) (Interval. eval_binary (Interval. of_interval (0 , 2 )) Lt (Interval. of_interval (- 1 , 1 )));
157
+ assert_equal (Interval. of_interval (0 , 1 )) (Interval. eval_binary (Interval. of_interval (- 1 , 1 )) Lt (Interval. of_interval (0 , 2 )));
158
+
159
+ assert_equal (Interval. of_int 1 ) (Interval. eval_binary (Interval. of_interval (- 1 , 1 )) Lt (Interval. of_interval (3 , 5 )));
160
+ assert_equal (Interval. of_int 0 ) (Interval. eval_binary (Interval. of_interval (3 , 5 )) Lt (Interval. of_interval (- 1 , 1 )))
161
+
162
+ let test_eval_binary_gt _ =
163
+ assert_equal (Interval. of_int 0 ) (Interval. eval_binary (Interval. of_int 2 ) Gt (Interval. of_int 3 ));
164
+ assert_equal (Interval. of_int 0 ) (Interval. eval_binary (Interval. of_int 2 ) Gt (Interval. of_int 2 ));
165
+ assert_equal (Interval. of_int 1 ) (Interval. eval_binary (Interval. of_int 3 ) Gt (Interval. of_int 2 ));
166
+
167
+ assert_equal (Interval. of_interval (0 , 1 )) (Interval. eval_binary (Interval. of_int 2 ) Gt (Interval. of_interval (0 , 5 )));
168
+ assert_equal (Interval. of_interval (0 , 1 )) (Interval. eval_binary (Interval. of_interval (0 , 5 )) Gt (Interval. of_int 2 ));
169
+
170
+ assert_equal (Interval. of_int 0 ) (Interval. eval_binary (Interval. of_int 2 ) Gt (Interval. of_interval (3 , 5 )));
171
+ assert_equal (Interval. of_int 1 ) (Interval. eval_binary (Interval. of_interval (3 , 5 )) Gt (Interval. of_int 2 ));
172
+ assert_equal (Interval. of_int 1 ) (Interval. eval_binary (Interval. of_int 2 ) Gt (Interval. of_interval (- 1 , 1 )));
173
+ assert_equal (Interval. of_int 0 ) (Interval. eval_binary (Interval. of_interval (- 1 , 1 )) Gt (Interval. of_int 2 ));
174
+
175
+ assert_equal (Interval. of_interval (0 , 1 )) (Interval. eval_binary (Interval. of_interval (2 , 6 )) Gt (Interval. of_interval (3 , 7 )));
176
+ assert_equal (Interval. of_interval (0 , 1 )) (Interval. eval_binary (Interval. of_interval (0 , 10 )) Gt (Interval. of_interval (2 , 4 )));
177
+ assert_equal (Interval. of_interval (0 , 1 )) (Interval. eval_binary (Interval. of_interval (2 , 4 )) Gt (Interval. of_interval (0 , 10 )));
178
+ assert_equal (Interval. of_interval (0 , 1 )) (Interval. eval_binary (Interval. of_interval (0 , 2 )) Gt (Interval. of_interval (- 1 , 1 )));
179
+ assert_equal (Interval. of_interval (0 , 1 )) (Interval. eval_binary (Interval. of_interval (- 1 , 1 )) Gt (Interval. of_interval (0 , 2 )));
180
+
181
+ assert_equal (Interval. of_int 0 ) (Interval. eval_binary (Interval. of_interval (- 1 , 1 )) Gt (Interval. of_interval (3 , 5 )));
182
+ assert_equal (Interval. of_int 1 ) (Interval. eval_binary (Interval. of_interval (3 , 5 )) Gt (Interval. of_interval (- 1 , 1 )))
183
+
184
+ let test_eval_binary_eq _ =
185
+ assert_equal (Interval. of_int 1 ) (Interval. eval_binary (Interval. of_int 2 ) Eq (Interval. of_int 2 ));
186
+ assert_equal (Interval. of_int 0 ) (Interval. eval_binary (Interval. of_int 2 ) Eq (Interval. of_int 3 ));
187
+
188
+ assert_equal (Interval. of_interval (0 , 1 )) (Interval. eval_binary (Interval. of_int 2 ) Eq (Interval. of_interval (0 , 5 )));
189
+ assert_equal (Interval. of_interval (0 , 1 )) (Interval. eval_binary (Interval. of_interval (0 , 5 )) Eq (Interval. of_int 2 ));
190
+
191
+ assert_equal (Interval. of_int 0 ) (Interval. eval_binary (Interval. of_int 2 ) Eq (Interval. of_interval (3 , 5 )));
192
+ assert_equal (Interval. of_int 0 ) (Interval. eval_binary (Interval. of_interval (3 , 5 )) Eq (Interval. of_int 2 ));
193
+ assert_equal (Interval. of_int 0 ) (Interval. eval_binary (Interval. of_int 2 ) Eq (Interval. of_interval (- 1 , 1 )));
194
+ assert_equal (Interval. of_int 0 ) (Interval. eval_binary (Interval. of_interval (- 1 , 1 )) Eq (Interval. of_int 2 ));
195
+
196
+ assert_equal (Interval. of_interval (0 , 1 )) (Interval. eval_binary (Interval. of_interval (2 , 6 )) Eq (Interval. of_interval (2 , 6 )));
197
+ assert_equal (Interval. of_interval (0 , 1 )) (Interval. eval_binary (Interval. of_interval (0 , 10 )) Eq (Interval. of_interval (2 , 4 )));
198
+ assert_equal (Interval. of_interval (0 , 1 )) (Interval. eval_binary (Interval. of_interval (2 , 4 )) Eq (Interval. of_interval (0 , 10 )));
199
+ assert_equal (Interval. of_interval (0 , 1 )) (Interval. eval_binary (Interval. of_interval (0 , 2 )) Eq (Interval. of_interval (- 1 , 1 )));
200
+ assert_equal (Interval. of_interval (0 , 1 )) (Interval. eval_binary (Interval. of_interval (- 1 , 1 )) Eq (Interval. of_interval (0 , 2 )));
201
+
202
+ assert_equal (Interval. of_int 0 ) (Interval. eval_binary (Interval. of_interval (- 1 , 1 )) Eq (Interval. of_interval (3 , 5 )));
203
+ assert_equal (Interval. of_int 0 ) (Interval. eval_binary (Interval. of_interval (3 , 5 )) Eq (Interval. of_interval (- 1 , 1 )))
141
204
142
205
let test_exclude _ =
143
206
assert_equal (Interval. of_interval (3 , 5 )) (Interval. exclude 6 (Interval. of_interval (3 , 6 )));
@@ -159,7 +222,9 @@ struct
159
222
" sub" > :: test_eval_binary_sub;
160
223
" mul" > :: test_eval_binary_mul;
161
224
" comparison" > :: test_eval_binary_comparison;
162
-
225
+ " lt" > :: test_eval_binary_lt;
226
+ " gt" > :: test_eval_binary_gt;
227
+ " eq" > :: test_eval_binary_eq;
163
228
];
164
229
" exclude" > :: test_exclude;
165
230
]
0 commit comments