math.parser: fix digit> bug found by Blei
parent
38ca12e9d8
commit
90ea5796f4
|
@ -5,6 +5,22 @@ IN: math.parser.tests
|
||||||
[ f string>number ]
|
[ f string>number ]
|
||||||
unit-test
|
unit-test
|
||||||
|
|
||||||
|
[ f ]
|
||||||
|
[ ";" string>number ]
|
||||||
|
unit-test
|
||||||
|
|
||||||
|
[ f ]
|
||||||
|
[ "<>" string>number ]
|
||||||
|
unit-test
|
||||||
|
|
||||||
|
[ f ]
|
||||||
|
[ "^" string>number ]
|
||||||
|
unit-test
|
||||||
|
|
||||||
|
[ f ]
|
||||||
|
[ "789:;<=>?@" string>number ]
|
||||||
|
unit-test
|
||||||
|
|
||||||
[ f ]
|
[ f ]
|
||||||
[ "12345abcdef" string>number ]
|
[ "12345abcdef" string>number ]
|
||||||
unit-test
|
unit-test
|
||||||
|
|
|
@ -5,11 +5,10 @@ IN: math.parser
|
||||||
|
|
||||||
: digit> ( ch -- n )
|
: digit> ( ch -- n )
|
||||||
{
|
{
|
||||||
{ [ dup CHAR: 9 <= ] [ CHAR: 0 - ] }
|
{ [ dup CHAR: 9 <= ] [ CHAR: 0 - dup 0 < [ drop 255 ] when ] }
|
||||||
{ [ dup CHAR: a < ] [ CHAR: A 10 - - ] }
|
{ [ dup CHAR: a < ] [ CHAR: A 10 - - dup 10 < [ drop 255 ] when ] }
|
||||||
[ CHAR: a 10 - - ]
|
[ CHAR: a 10 - - dup 10 < [ drop 255 ] when ]
|
||||||
} cond
|
} cond ; inline
|
||||||
dup 0 < [ drop 255 ] when ; inline
|
|
||||||
|
|
||||||
<PRIVATE
|
<PRIVATE
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue