1 USING: tools.test compiler.tree.propagation.recursive
2 math.intervals kernel math literals layouts ;
3 IN: compiler.tree.propagation.recursive.tests
5 [ T{ interval f { 0 t } { 1/0. t } } ] [
6 T{ interval f { 1 t } { 1 t } }
7 T{ interval f { 0 t } { 0 t } }
8 integer generalize-counter-interval
11 [ T{ interval f { 0 t } { $[ most-positive-fixnum ] t } } ] [
12 T{ interval f { 1 t } { 1 t } }
13 T{ interval f { 0 t } { 0 t } }
14 fixnum generalize-counter-interval
17 [ T{ interval f { -1/0. t } { 10 t } } ] [
18 T{ interval f { -1 t } { -1 t } }
19 T{ interval f { 10 t } { 10 t } }
20 integer generalize-counter-interval
23 [ T{ interval f { $[ most-negative-fixnum ] t } { 10 t } } ] [
24 T{ interval f { -1 t } { -1 t } }
25 T{ interval f { 10 t } { 10 t } }
26 fixnum generalize-counter-interval
30 T{ interval f { 1 t } { 268435455 t } }
31 T{ interval f { -268435456 t } { 268435455 t } } tuck
32 integer generalize-counter-interval =
36 T{ interval f { 1 t } { 268435455 t } }
37 T{ interval f { -268435456 t } { 268435455 t } } tuck
38 fixnum generalize-counter-interval =
42 T{ interval f { -5 t } { 3 t } }
43 T{ interval f { 2 t } { 11 t } }
44 integer generalize-counter-interval
47 [ $[ fixnum-interval ] ] [
48 T{ interval f { -5 t } { 3 t } }
49 T{ interval f { 2 t } { 11 t } }
50 fixnum generalize-counter-interval