Isqrt (integer square root) of X: Difference between revisions
m
→{{header|Forth}}
(Added non-locals version) |
|||
Line 1,152:
</lang>
This version of the core word does not require locals.
<lang>:
>r 0 1 begin dup r@ > 0= while 4 * repeat
begin \ find a power of 4 greater than TORS
Line 1,160:
dup 0< if drop 2/ else r> drop >r 2/ over + then swap
repeat drop r> ( sqrt rem)
;
: isqrt-mod sqrt-rem swap ;</lang>
{{Out}}
<pre>
|