2008-07-22 05:45:03 -04:00
|
|
|
USING: accessors math math.intervals sequences classes.algebra
|
2009-05-16 01:29:21 -04:00
|
|
|
kernel tools.test compiler.tree.propagation.info arrays ;
|
2008-07-22 05:45:03 -04:00
|
|
|
IN: compiler.tree.propagation.info.tests
|
|
|
|
|
2015-07-03 12:39:59 -04:00
|
|
|
{ f } [ 0.0 -0.0 eql? ] unit-test
|
2008-07-24 00:50:21 -04:00
|
|
|
|
2015-07-03 12:39:59 -04:00
|
|
|
{ t t } [
|
2008-07-22 05:45:03 -04:00
|
|
|
0 10 [a,b] <interval-info>
|
|
|
|
5 20 [a,b] <interval-info>
|
|
|
|
value-info-intersect
|
|
|
|
[ class>> real class= ]
|
|
|
|
[ interval>> 5 10 [a,b] = ]
|
|
|
|
bi
|
|
|
|
] unit-test
|
|
|
|
|
2015-07-03 12:39:59 -04:00
|
|
|
{ float 10.0 t } [
|
2008-07-22 05:45:03 -04:00
|
|
|
10.0 <literal-info>
|
|
|
|
10.0 <literal-info>
|
|
|
|
value-info-intersect
|
|
|
|
[ class>> ] [ >literal< ] bi
|
|
|
|
] unit-test
|
|
|
|
|
2015-07-03 12:39:59 -04:00
|
|
|
{ null } [
|
2008-07-22 05:45:03 -04:00
|
|
|
10 <literal-info>
|
|
|
|
10.0 <literal-info>
|
|
|
|
value-info-intersect
|
|
|
|
class>>
|
|
|
|
] unit-test
|
|
|
|
|
2015-07-03 12:39:59 -04:00
|
|
|
{ fixnum 10 t } [
|
2008-07-22 05:45:03 -04:00
|
|
|
10 <literal-info>
|
|
|
|
10 <literal-info>
|
|
|
|
value-info-union
|
|
|
|
[ class>> ] [ >literal< ] bi
|
|
|
|
] unit-test
|
|
|
|
|
2015-07-03 12:39:59 -04:00
|
|
|
{ 3.0 t } [
|
2008-07-22 05:45:03 -04:00
|
|
|
3 3 [a,b] <interval-info> float <class-info>
|
|
|
|
value-info-intersect >literal<
|
|
|
|
] unit-test
|
|
|
|
|
2015-07-03 12:39:59 -04:00
|
|
|
{ 3 t } [
|
2008-07-22 05:45:03 -04:00
|
|
|
2 3 (a,b] <interval-info> fixnum <class-info>
|
|
|
|
value-info-intersect >literal<
|
|
|
|
] unit-test
|
2008-07-23 01:17:08 -04:00
|
|
|
|
2015-07-03 12:39:59 -04:00
|
|
|
{ T{ value-info-state f null empty-interval f f } } [
|
2008-07-23 01:17:08 -04:00
|
|
|
fixnum -10 0 [a,b] <class/interval-info>
|
|
|
|
fixnum 19 29 [a,b] <class/interval-info>
|
|
|
|
value-info-intersect
|
|
|
|
] unit-test
|
2008-07-24 01:14:13 -04:00
|
|
|
|
2015-07-03 12:39:59 -04:00
|
|
|
{ 3 t } [
|
2008-07-24 01:14:13 -04:00
|
|
|
3 <literal-info>
|
2008-07-27 03:32:40 -04:00
|
|
|
null-info value-info-union >literal<
|
2008-07-24 01:14:13 -04:00
|
|
|
] unit-test
|
2008-07-26 20:01:43 -04:00
|
|
|
|
2015-07-03 12:39:59 -04:00
|
|
|
{ } [ { } value-infos-union drop ] unit-test
|
2008-07-30 04:38:10 -04:00
|
|
|
|
|
|
|
TUPLE: test-tuple { x read-only } ;
|
|
|
|
|
2015-07-03 12:39:59 -04:00
|
|
|
{ t } [
|
2008-07-30 04:38:10 -04:00
|
|
|
f f 3 <literal-info> 3array test-tuple <tuple-info> dup
|
2008-07-30 16:37:40 -04:00
|
|
|
object-info value-info-intersect =
|
2008-07-30 04:38:10 -04:00
|
|
|
] unit-test
|
2008-11-11 09:30:14 -05:00
|
|
|
|
2015-07-03 12:39:59 -04:00
|
|
|
{ t } [
|
2008-11-11 09:30:14 -05:00
|
|
|
null-info 3 <literal-info> value-info<=
|
|
|
|
] unit-test
|
2009-08-09 00:03:45 -04:00
|
|
|
|
2015-07-03 12:39:59 -04:00
|
|
|
{ t t } [
|
2009-08-09 00:03:45 -04:00
|
|
|
f <literal-info>
|
|
|
|
fixnum 0 40 [a,b] <class/interval-info>
|
|
|
|
value-info-union
|
|
|
|
\ f class-not <class-info>
|
|
|
|
value-info-intersect
|
|
|
|
[ class>> fixnum class= ]
|
|
|
|
[ interval>> 0 40 [a,b] = ] bi
|
|
|
|
] unit-test
|