     number-parse boa
     0 ; inline
 
-: (next-digit) ( i number-parse n digit-quot end-quot -- number/f )
+: (next-digit) ( i number-parse n digit-quot end-quot -- n/f )
     [ 2over length>> < ] 2dip
     [ [ 2over str>> nth-unsafe >fixnum [ 1 + >fixnum ] 3dip ] prepose ] dip if ; inline
 
-: require-next-digit ( i number-parse n quot -- number/f )
+: require-next-digit ( i number-parse n quot -- n/f )
     [ 3drop f ] (next-digit) ; inline
 
-: next-digit ( i number-parse n quot -- number/f )
+: next-digit ( i number-parse n quot -- n/f )
     [ 2nip ] (next-digit) ; inline
 
-: add-digit ( i number-parse n digit quot -- number/f )
+: add-digit ( i number-parse n digit quot -- n/f )
     [ [ dup radix>> ] [ * ] [ + ] tri* ] dip next-digit ; inline
 
 : digit-in-radix ( number-parse n char -- number-parse n digit ? )


: ((pow)) ( base x -- base^x )
    iota 1 rot [ nip * ] curry reduce ; inline
: (pow) ( base x -- base^x )
    dup 0 >= [ ((pow)) ] [ [ recip ] [ neg ] bi* ((pow)) ] if ; inline

: add-mantissa-digit ( float-parse i number-parse n digit quot -- float-parse' number/f )
    [ [ inc-point ] 4dip ] dip add-digit ; inline

: make-float-dec-exponent ( float-parse n/f -- float/f )

! (c)2009 Joe Groff bsd license
USING: accessors combinators kernel kernel.private math
namespaces sequences sequences.private splitting strings make ;
IN: math.parser

