Fix test failures from ratio/complex built-in removal
parent
663db67b23
commit
964fbd0a24
|
@ -26,7 +26,7 @@ IN: compiler.tests.codegen
|
|||
|
||||
[ 2 3 4 ] [ 3 [ 2 swap 4 ] compile-call ] unit-test
|
||||
|
||||
[ { 1 2 3 } { 1 4 3 } 6 6 ]
|
||||
[ { 1 2 3 } { 1 4 3 } 2 2 ]
|
||||
[ { 1 2 3 } { 1 4 3 } [ over tag over tag ] compile-call ]
|
||||
unit-test
|
||||
|
||||
|
|
|
@ -70,18 +70,10 @@ DEFER: <literal-info>
|
|||
dup literal>> class >>class
|
||||
dup literal>> dup real? [ [a,a] >>interval ] [
|
||||
[ [-inf,inf] >>interval ] dip
|
||||
{
|
||||
{ [ dup complex? ] [
|
||||
[ real-part <literal-info> ]
|
||||
[ imaginary-part <literal-info> ] bi
|
||||
2array >>slots
|
||||
] }
|
||||
{ [ dup tuple? ] [
|
||||
[ tuple-slots [ <literal-info> ] map ] [ class ] bi
|
||||
read-only-slots >>slots
|
||||
] }
|
||||
[ drop ]
|
||||
} cond
|
||||
dup tuple? [
|
||||
[ tuple-slots [ <literal-info> ] map ] [ class ] bi
|
||||
read-only-slots >>slots
|
||||
] [ drop ] if
|
||||
] if ; inline
|
||||
|
||||
: init-value-info ( info -- info )
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
! Copyright (C) 2008 Slava Pestov.
|
||||
! Copyright (C) 2008, 2009 Slava Pestov.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: fry assocs arrays byte-arrays strings accessors sequences
|
||||
kernel slots classes.algebra classes.tuple classes.tuple.private
|
||||
|
@ -8,9 +8,6 @@ IN: compiler.tree.propagation.slots
|
|||
|
||||
! Propagation of immutable slots and array lengths
|
||||
|
||||
! Revisit this code when delegation is removed and when complex
|
||||
! numbers become tuples.
|
||||
|
||||
UNION: fixed-length-sequence array byte-array string ;
|
||||
|
||||
: sequence-constructor? ( word -- ? )
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
IN: generic.math.tests
|
||||
USING: generic.math math tools.test ;
|
||||
USING: generic.math math tools.test kernel ;
|
||||
|
||||
! Test math-combination
|
||||
[ [ [ >float ] dip ] ] [ \ real \ float math-upgrade ] unit-test
|
||||
|
@ -7,10 +7,15 @@ USING: generic.math math tools.test ;
|
|||
[ [ [ >bignum ] dip ] ] [ \ fixnum \ bignum math-upgrade ] unit-test
|
||||
[ [ >float ] ] [ \ float \ integer math-upgrade ] unit-test
|
||||
|
||||
[ number ] [ \ number \ float math-class-max ] unit-test
|
||||
[ float ] [ \ real \ float math-class-max ] unit-test
|
||||
[ fixnum ] [ \ fixnum \ null math-class-max ] unit-test
|
||||
[ bignum ] [ \ fixnum \ bignum math-class-max ] unit-test
|
||||
[ number ] [ \ fixnum \ number math-class-max ] unit-test
|
||||
[ number ] [ number float math-class-max ] unit-test
|
||||
[ number ] [ float number math-class-max ] unit-test
|
||||
[ float ] [ real float math-class-max ] unit-test
|
||||
[ float ] [ float real math-class-max ] unit-test
|
||||
[ fixnum ] [ fixnum null math-class-max ] unit-test
|
||||
[ fixnum ] [ null fixnum math-class-max ] unit-test
|
||||
[ bignum ] [ fixnum bignum math-class-max ] unit-test
|
||||
[ bignum ] [ bignum fixnum math-class-max ] unit-test
|
||||
[ number ] [ fixnum number math-class-max ] unit-test
|
||||
[ number ] [ number fixnum math-class-max ] unit-test
|
||||
|
||||
|
||||
|
|
|
@ -22,11 +22,11 @@ PREDICATE: math-class < class
|
|||
|
||||
: math-precedence ( class -- pair )
|
||||
[
|
||||
{ null fixnum bignum ratio float complex object } bootstrap-words
|
||||
swap [ class<= ] curry find drop
|
||||
{ fixnum integer rational real number object } bootstrap-words
|
||||
swap [ swap class<= ] curry find drop -1 or
|
||||
] [
|
||||
{ null fixnum integer rational real number object } bootstrap-words
|
||||
swap [ swap class<= ] curry find drop
|
||||
{ fixnum bignum ratio float complex object } bootstrap-words
|
||||
swap [ class<= ] curry find drop -1 or
|
||||
] bi 2array ;
|
||||
|
||||
: (math-upgrade) ( max class -- quot )
|
||||
|
|
Loading…
Reference in New Issue