1
package body Sqrt is
2
3
function Isqrt(N: Natural) return Natural
4
is
5
R: Natural;
6
begin
7
R := 0;
8
loop
9
--# assert R * R <= N;
10
exit when N - R * R < 2 * R + 1;
11
R := R + 1;
12
end loop;
13
return R;
14
end Isqrt;
15
16
end Sqrt;