From 21c621d464aa8e9ce481aa57f9c7e3be0b0d8a55 Mon Sep 17 00:00:00 2001 From: Slava Pestov Date: Tue, 30 Sep 2008 18:28:11 -0500 Subject: [PATCH] Fix erg's ratio bug --- core/math/parser/parser-tests.factor | 3 +++ core/math/parser/parser.factor | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/core/math/parser/parser-tests.factor b/core/math/parser/parser-tests.factor index aad87ca995..0fb2559854 100755 --- a/core/math/parser/parser-tests.factor +++ b/core/math/parser/parser-tests.factor @@ -108,3 +108,6 @@ unit-test [ -1.0/0.0 ] [ "-1/0." string>number ] unit-test [ "-0.0" ] [ -0.0 number>string ] unit-test + +[ "-3/4" ] [ -3/4 number>string ] unit-test +[ "-1-1/4" ] [ -5/4 number>string ] unit-test diff --git a/core/math/parser/parser.factor b/core/math/parser/parser.factor index a126bbea8e..0134693761 100755 --- a/core/math/parser/parser.factor +++ b/core/math/parser/parser.factor @@ -105,7 +105,7 @@ GENERIC# >base 1 ( n radix -- str ) base) ( n -- str ) radix get >base ; +: (>base) ( n -- str ) radix get positive>base ; PRIVATE> @@ -123,7 +123,7 @@ M: integer >base M: ratio >base [ dup 0 < negative? set - 1 /mod + abs 1 /mod [ dup zero? [ drop "" ] [ (>base) sign append ] if ] [ [ numerator (>base) ]