math.parser: slightly faster ((pow)).
parent
5c23f10e50
commit
ccddbebf94
|
@ -58,9 +58,14 @@ TUPLE: float-parse
|
|||
[ store-exponent ] [ drop f ] if* ; inline
|
||||
|
||||
: ((pow)) ( base x -- base^x )
|
||||
iota 1 rot [ nip * ] curry reduce ; inline
|
||||
[ 1 ] 2dip
|
||||
[ dup zero? ] [
|
||||
dup odd? [ [ [ * ] keep ] [ 1 - ] bi* ] when
|
||||
[ sq ] [ 2/ ] bi*
|
||||
] until 2drop ; inline
|
||||
|
||||
: (pow) ( base x -- base^x )
|
||||
integer>fixnum-strict
|
||||
dup 0 >= [ ((pow)) ] [ [ recip ] [ neg ] bi* ((pow)) ] if ; inline
|
||||
|
||||
: add-mantissa-digit ( float-parse i number-parse n digit quot -- float-parse' n/f )
|
||||
|
|
Loading…
Reference in New Issue