diff --git a/core/math/parser/parser-tests.factor b/core/math/parser/parser-tests.factor index b1b17e489f..529a4fdc1b 100644 --- a/core/math/parser/parser-tests.factor +++ b/core/math/parser/parser-tests.factor @@ -191,8 +191,8 @@ unit-test [ 1 0 >base ] must-fail [ 1 -1 >base ] must-fail [ 2+1/2 -1 >base ] [ invalid-radix? ] must-fail-with -[ 123.456 8 >base ] [ invalid-base? ] must-fail-with -[ 123.456 2 >base ] [ invalid-base? ] must-fail-with +[ 123.456 8 >base ] [ invalid-radix? ] must-fail-with +[ 123.456 2 >base ] [ invalid-radix? ] must-fail-with [ "0/0." ] [ 0.0 0.0 / number>string ] unit-test diff --git a/core/math/parser/parser.factor b/core/math/parser/parser.factor index 244caf3259..ccadd376ed 100644 --- a/core/math/parser/parser.factor +++ b/core/math/parser/parser.factor @@ -13,11 +13,9 @@ IN: math.parser ERROR: invalid-radix radix ; -ERROR: invalid-base n base ; - base dup [ 0 = ] find drop head >string fix-float ; -: float>base ( n base -- str ) +: float>base ( n radix -- str ) { { 16 [ float>hex ] } { 10 [ "%.16g" format-float ] } - [ invalid-base ] + [ invalid-radix ] } case ; inline PRIVATE>