parent
							
								
									2c5014e74e
								
							
						
					
					
						commit
						69f35b36aa
					
				| 
						 | 
					@ -75,11 +75,12 @@ TUPLE: float-parse
 | 
				
			||||||
    [ drop 2.0 swap exponent>> (pow) * ] 2tri ; inline
 | 
					    [ drop 2.0 swap exponent>> (pow) * ] 2tri ; inline
 | 
				
			||||||
 | 
					
 | 
				
			||||||
: ?make-float ( float-parse n/f -- float/f )
 | 
					: ?make-float ( float-parse n/f -- float/f )
 | 
				
			||||||
 | 
					    { float-parse object } declare
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        { [ dup not ] [ 2drop f ] }
 | 
					        { [ dup not ] [ 2drop f ] }
 | 
				
			||||||
        { [ over radix>> 10 = ] [ make-float-dec-exponent ] }
 | 
					        { [ over radix>> 10 = ] [ make-float-dec-exponent ] }
 | 
				
			||||||
        [ make-float-bin-exponent ]
 | 
					        [ make-float-bin-exponent ]
 | 
				
			||||||
    } cond ; inline
 | 
					    } cond ;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
: ?neg ( n/f -- -n/f )
 | 
					: ?neg ( n/f -- -n/f )
 | 
				
			||||||
    [ neg ] [ f ] if* ; inline
 | 
					    [ neg ] [ f ] if* ; inline
 | 
				
			||||||
| 
						 | 
					@ -176,7 +177,8 @@ DEFER: @neg-digit
 | 
				
			||||||
    } case ; inline
 | 
					    } case ; inline
 | 
				
			||||||
 | 
					
 | 
				
			||||||
: ->denominator ( i number-parse n -- n/f )
 | 
					: ->denominator ( i number-parse n -- n/f )
 | 
				
			||||||
    @split [ @denom-first-digit ] require-next-digit ?make-ratio ; inline
 | 
					    { fixnum number-parse integer } declare
 | 
				
			||||||
 | 
					    @split [ @denom-first-digit ] require-next-digit ?make-ratio ;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
: @num-digit-or-punc ( i number-parse n char -- n/f )
 | 
					: @num-digit-or-punc ( i number-parse n char -- n/f )
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					@ -190,7 +192,8 @@ DEFER: @neg-digit
 | 
				
			||||||
    digit-in-radix [ [ @num-digit-or-punc ] add-digit ] [ @abort ] if ;
 | 
					    digit-in-radix [ [ @num-digit-or-punc ] add-digit ] [ @abort ] if ;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
: ->numerator ( i number-parse n -- n/f )
 | 
					: ->numerator ( i number-parse n -- n/f )
 | 
				
			||||||
    @split [ @num-digit ] require-next-digit ?add-ratio ; inline
 | 
					    { fixnum number-parse integer } declare
 | 
				
			||||||
 | 
					    @split [ @num-digit ] require-next-digit ?add-ratio ;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
: @pos-digit-or-punc ( i number-parse n char -- n/f )
 | 
					: @pos-digit-or-punc ( i number-parse n char -- n/f )
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue