Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 26s
Newton's method for square root:
let sqrt_newton x =
let g = ref 1.0 in
for _ = 1 to 20 do
g := (!g +. x /. !g) /. 2.0
done;
!g
20 iterations is more than enough to converge for x=2 — result is
~1.414213562. Multiplied by 1000 and int_of_float'd: 1414.
First baseline exercising:
- for _ = 1 to N do ... done (wildcard loop variable)
- pure float arithmetic with +. /.
- the int_of_float truncate-toward-zero fix from iter 117
38 baseline programs total.
11 lines
153 B
OCaml
11 lines
153 B
OCaml
let sqrt_newton x =
|
|
let g = ref 1.0 in
|
|
for _ = 1 to 20 do
|
|
g := (!g +. x /. !g) /. 2.0
|
|
done;
|
|
!g
|
|
|
|
;;
|
|
|
|
int_of_float (sqrt_newton 2.0 *. 1000.0)
|