Jump to content

Isqrt (integer square root) of X: Difference between revisions

m
(Added non-locals version)
Line 1,152:
</lang>
This version of the core word does not require locals.
<lang>: isqrtsqrt-modrem ( n -- sqrt rem)
>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)
;
;</lang>
 
: isqrt-mod sqrt-rem swap ;</lang>
{{Out}}
<pre>
374

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.