giles
e8a0c86de0
Test, Build, and Deploy / test-build-deploy (push) Failing after 23s
ocaml: phase 5.1 int_sqrt.ml baseline (Newton integer sqrt, 12+14+1000+1 = 1027)
...
Newton's method on integers, converging when y >= x:
let isqrt n =
if n < 2 then n
else
let x = ref n in
let y = ref ((!x + 1) / 2) in
while !y < !x do
x := !y;
y := (!x + n / !x) / 2
done;
!x
Test cases:
isqrt 144 = 12 (perfect square)
isqrt 200 = 14 (floor of sqrt(200) ~= 14.14)
isqrt 1000000 = 1000
isqrt 2 = 1
sum = 1027
Companion to newton_sqrt.ml (iter 124, float Newton). Tests integer
division semantics from iter 94 and a while-until-convergence loop.
88 baseline programs total.
2026-05-09 17:55:07 +00:00
..
2026-05-09 08:50:12 +00:00
2026-05-09 12:14:32 +00:00
2026-05-08 19:57:09 +00:00
2026-05-09 12:34:36 +00:00
2026-05-09 06:15:03 +00:00
2026-05-09 06:59:22 +00:00
2026-05-09 12:52:55 +00:00
2026-05-09 12:24:48 +00:00
2026-05-08 21:05:32 +00:00
2026-05-09 11:19:23 +00:00
2026-05-09 13:02:17 +00:00
2026-05-09 09:15:00 +00:00
2026-05-09 02:24:45 +00:00
2026-05-09 10:40:49 +00:00
2026-05-08 17:52:49 +00:00
2026-05-09 00:13:11 +00:00
2026-05-08 16:53:44 +00:00
2026-05-08 13:44:28 +00:00
2026-05-09 10:21:11 +00:00
2026-05-09 16:28:15 +00:00
2026-05-09 01:47:27 +00:00
2026-05-08 13:44:28 +00:00
2026-05-09 12:04:42 +00:00
2026-05-09 17:55:07 +00:00
2026-05-08 15:01:04 +00:00
2026-05-09 11:09:23 +00:00
2026-05-08 13:33:24 +00:00
2026-05-09 17:36:24 +00:00
2026-05-09 15:53:47 +00:00
2026-05-08 17:44:07 +00:00
2026-05-09 11:52:19 +00:00
2026-05-09 06:05:31 +00:00
2026-05-09 01:11:53 +00:00
2026-05-09 11:42:52 +00:00
2026-05-09 09:34:40 +00:00
2026-05-09 17:45:52 +00:00
2026-05-09 14:40:22 +00:00
2026-05-09 13:30:46 +00:00
2026-05-09 08:21:19 +00:00
2026-05-09 15:02:13 +00:00
2026-05-09 17:55:07 +00:00
2026-05-09 07:41:01 +00:00
2026-05-09 10:07:12 +00:00
2026-05-08 19:49:08 +00:00
2026-05-09 00:23:58 +00:00
2026-05-08 13:33:24 +00:00
2026-05-09 15:42:01 +00:00
2026-05-09 11:00:00 +00:00
2026-05-09 15:22:28 +00:00
2026-05-08 19:10:49 +00:00
2026-05-09 05:00:50 +00:00
2026-05-09 17:24:53 +00:00
2026-05-09 15:11:46 +00:00
2026-05-08 13:33:24 +00:00
2026-05-09 14:52:13 +00:00
2026-05-08 18:43:19 +00:00
2026-05-09 08:29:01 +00:00
2026-05-08 13:33:24 +00:00
2026-05-09 10:31:22 +00:00
2026-05-09 16:03:22 +00:00
2026-05-09 16:13:05 +00:00
2026-05-09 09:57:18 +00:00
2026-05-09 16:38:09 +00:00
2026-05-09 07:19:52 +00:00
2026-05-08 20:49:26 +00:00
2026-05-09 17:15:47 +00:00
2026-05-09 14:21:24 +00:00
2026-05-09 09:24:41 +00:00
2026-05-09 12:44:02 +00:00
2026-05-08 19:04:04 +00:00
2026-05-08 13:44:28 +00:00
2026-05-08 23:40:36 +00:00
2026-05-09 08:39:56 +00:00
2026-05-09 16:47:56 +00:00
2026-05-09 09:47:25 +00:00
2026-05-09 00:13:11 +00:00
2026-05-09 06:47:47 +00:00
2026-05-09 07:31:33 +00:00
2026-05-09 02:16:18 +00:00
2026-05-09 16:56:46 +00:00
2026-05-09 13:46:40 +00:00
2026-05-08 13:33:24 +00:00
2026-05-09 14:00:49 +00:00
2026-05-09 17:06:10 +00:00
2026-05-09 15:32:11 +00:00
2026-05-09 13:15:05 +00:00
2026-05-09 05:44:35 +00:00
2026-05-09 08:11:07 +00:00
2026-05-08 16:11:03 +00:00
2026-05-09 08:01:21 +00:00
2026-05-09 14:30:55 +00:00
2026-05-09 11:33:30 +00:00