1 USING: accessors math math.intervals sequences classes.algebra
2 kernel tools.test compiler.tree.propagation.info arrays ;
3 IN: compiler.tree.propagation.info.tests
5 [ f ] [ 0.0 -0.0 eql? ] unit-test
8 0 10 [a,b] <interval-info>
9 5 20 [a,b] <interval-info>
11 [ class>> real class= ]
12 [ interval>> 5 10 [a,b] = ]
20 [ class>> ] [ >literal< ] bi
34 [ class>> ] [ >literal< ] bi
38 3 3 [a,b] <interval-info> float <class-info>
39 value-info-intersect >literal<
43 2 3 (a,b] <interval-info> fixnum <class-info>
44 value-info-intersect >literal<
47 [ T{ value-info f null empty-interval f f } ] [
48 fixnum -10 0 [a,b] <class/interval-info>
49 fixnum 19 29 [a,b] <class/interval-info>
55 null-info value-info-union >literal<
58 [ ] [ { } value-infos-union drop ] unit-test
60 TUPLE: test-tuple { x read-only } ;
63 f f 3 <literal-info> 3array test-tuple <tuple-info> dup
64 object-info value-info-intersect =
68 null-info 3 <literal-info> value-info<=
73 fixnum 0 40 [a,b] <class/interval-info>
75 \ f class-not <class-info>
77 [ class>> fixnum class= ]
78 [ interval>> 0 40 [a,b] = ] bi