@@ -40,6 +40,13 @@ SCENARIO(
40
40
auto val11 = from_integer (11 , type);
41
41
auto val12 = from_integer (12 , type);
42
42
auto val13 = from_integer (13 , type);
43
+ auto val1minus = from_integer (-1 , type);
44
+ auto val2minus = from_integer (-2 , type);
45
+ auto val3minus = from_integer (-3 , type);
46
+ auto val4minus = from_integer (-4 , type);
47
+ auto val5minus = from_integer (-5 , type);
48
+ auto val8minus = from_integer (-8 , type);
49
+ auto val10minus = from_integer (-10 , type);
43
50
44
51
auto config = vsd_configt::constant_domain ();
45
52
config.context_tracking .data_dependency_context = false ;
@@ -312,69 +319,68 @@ SCENARIO(
312
319
EXPECT_MODIFIED (merged, {interval_3minus_3, interval_2_4});
313
320
}
314
321
}
315
- /*
316
- WHEN("merging [-3, -1] with [-4, -2]")
322
+ WHEN (" merging {-3, -1} with {-4, -2}" )
317
323
{
318
- auto op1 = make_value_set(val3minus, val1minus, environment, ns);
319
- auto op2 = make_value_set(val4minus, val2minus, environment, ns);
324
+ auto op1 = make_value_set ({ val3minus, val1minus} , environment, ns);
325
+ auto op2 = make_value_set ({ val4minus, val2minus} , environment, ns);
320
326
321
327
auto merged = widening_merge (op1, op2);
322
328
323
- THEN("widen lower bound - [-8, -1] ")
329
+ THEN (" widen lower bound - { [-8, -4], -3, -2, -1} " )
324
330
{
325
- EXPECT_MODIFIED(merged, val8minus, val1minus);
326
- }
327
- }
328
- WHEN("merging [-4, -2] with [-3, -1]")
329
- {
330
- auto op1 = make_value_set(val4minus, val2minus, environment, ns);
331
- auto op2 = make_value_set(val3minus, val1minus, environment, ns);
332
-
333
- auto merged = widening_merge(op1, op2);
334
-
335
- THEN("widen upper bound - [-4, 3]")
336
- {
337
- EXPECT_MODIFIED(merged, val4minus, val3);
331
+ EXPECT_MODIFIED (
332
+ merged,
333
+ {constant_interval_exprt (val8minus, val4minus),
334
+ val3minus,
335
+ val2minus,
336
+ val1minus});
338
337
}
339
338
}
340
- WHEN("merging [-2 , -1] with [-5 , -4] ")
339
+ WHEN (" merging {[-3 , -1]} with {[-4 , -2]} " )
341
340
{
342
- auto op1 = make_value_set(val2minus, val1minus, environment, ns);
343
- auto op2 = make_value_set(val5minus, val4minus, environment, ns);
341
+ auto interval31minus = constant_interval_exprt (val3minus, val1minus);
342
+ auto interval42minus = constant_interval_exprt (val4minus, val2minus);
343
+ auto op1 = make_value_set (interval31minus, environment, ns);
344
+ auto op2 = make_value_set (interval42minus, environment, ns);
344
345
345
346
auto merged = widening_merge (op1, op2);
346
347
347
- THEN("widen lower bound - [-10 , -1] ")
348
+ THEN (" widen lower bound - {[-8 , -2], [-3, -1]} " )
348
349
{
349
- EXPECT_MODIFIED(merged, val10minus, val1minus);
350
+ EXPECT_MODIFIED (
351
+ merged,
352
+ {constant_interval_exprt (val8minus, val2minus), interval31minus});
350
353
}
351
354
}
352
- WHEN("merging [-5 , -4] with [-2 , -1] ")
355
+ WHEN (" merging {-3 , -1} with {[-4 , -2]} " )
353
356
{
354
- auto op1 = make_value_set(val5minus, val4minus, environment, ns);
355
- auto op2 = make_value_set(val2minus, val1minus, environment, ns);
357
+ auto interval42minus = constant_interval_exprt (val4minus, val2minus);
358
+ auto op1 = make_value_set ({val3minus, val1minus}, environment, ns);
359
+ auto op2 = make_value_set (interval42minus, environment, ns);
356
360
357
361
auto merged = widening_merge (op1, op2);
358
362
359
- THEN("widen upper bound - [-5, 4] ")
363
+ THEN (" widen lower bound - {[-8, -2], -1} " )
360
364
{
361
- EXPECT_MODIFIED(merged, val5minus, val4);
365
+ EXPECT_MODIFIED (
366
+ merged, {constant_interval_exprt (val8minus, val2minus), val1minus});
362
367
}
363
368
}
364
- WHEN("merging [-3, -2] with [-5 , -1] ")
369
+ WHEN (" merging { [-3, -1]} with {-4 , -2} " )
365
370
{
366
- auto op1 = make_value_set(val3minus, val2minus, environment, ns);
367
- auto op2 = make_value_set(val5minus, val1minus, environment, ns);
371
+ auto interval31minus = constant_interval_exprt (val3minus, val1minus);
372
+ auto op1 = make_value_set (interval31minus, environment, ns);
373
+ auto op2 = make_value_set ({val4minus, val2minus}, environment, ns);
368
374
369
375
auto merged = widening_merge (op1, op2);
370
-
371
- THEN("result is widen both bounds - [-10, 4]")
376
+ THEN (" widen lower bound - {[-8, -4], [-3, -1], -2}" )
372
377
{
373
- EXPECT_MODIFIED(merged, val10minus, val4);
378
+ EXPECT_MODIFIED (
379
+ merged,
380
+ {constant_interval_exprt (val8minus, val4minus),
381
+ interval31minus,
382
+ val2minus});
374
383
}
375
384
}
376
-
377
- value_sets with intervals too
378
- */
379
385
}
380
386
}
0 commit comments