54 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Factor
		
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Factor
		
	
	
| USING: tools.test compiler.tree.propagation.recursive
 | |
| math.intervals kernel math literals layouts ;
 | |
| IN: compiler.tree.propagation.recursive.tests
 | |
| 
 | |
| [ T{ interval f { 0 t } { 1/0. t } } ] [
 | |
|     T{ interval f { 1 t } { 1 t } }
 | |
|     T{ interval f { 0 t } { 0 t } }
 | |
|     integer generalize-counter-interval
 | |
| ] unit-test
 | |
| 
 | |
| [ T{ interval f { 0 t } { $[ most-positive-fixnum ] t } } ] [
 | |
|     T{ interval f { 1 t } { 1 t } }
 | |
|     T{ interval f { 0 t } { 0 t } }
 | |
|     fixnum generalize-counter-interval
 | |
| ] unit-test
 | |
| 
 | |
| [ T{ interval f { -1/0. t } { 10 t } } ] [
 | |
|     T{ interval f { -1 t } { -1 t } }
 | |
|     T{ interval f { 10 t } { 10 t } }
 | |
|     integer generalize-counter-interval
 | |
| ] unit-test
 | |
| 
 | |
| [ T{ interval f { $[ most-negative-fixnum ] t } { 10 t } } ] [
 | |
|     T{ interval f { -1 t } { -1 t } }
 | |
|     T{ interval f { 10 t } { 10 t } }
 | |
|     fixnum generalize-counter-interval
 | |
| ] unit-test
 | |
| 
 | |
| [ t ] [
 | |
|     T{ interval f { -268435456 t } { 268435455 t } }
 | |
|     T{ interval f { 1 t } { 268435455 t } }
 | |
|     over
 | |
|     integer generalize-counter-interval =
 | |
| ] unit-test
 | |
| 
 | |
| [ t ] [
 | |
|     T{ interval f { -268435456 t } { 268435455 t } }
 | |
|     T{ interval f { 1 t } { 268435455 t } }
 | |
|     over
 | |
|     fixnum generalize-counter-interval =
 | |
| ] unit-test
 | |
| 
 | |
| [ full-interval ] [
 | |
|     T{ interval f { -5 t } { 3 t } }
 | |
|     T{ interval f { 2 t } { 11 t } }
 | |
|     integer generalize-counter-interval
 | |
| ] unit-test
 | |
| 
 | |
| [ $[ fixnum-interval ] ] [
 | |
|     T{ interval f { -5 t } { 3 t } }
 | |
|     T{ interval f { 2 t } { 11 t } }
 | |
|     fixnum generalize-counter-interval
 | |
| ] unit-test
 |