ref: dfc57771d78d1bc4e4e9ad9494f05554f96f9841
dir: /test/sqrt.myr/
use std
const abs = {d
if d < 0.0
-> -d
else
-> d
;;
}
const Eps = 0.00001
const Maxiter = 20
const sqrt = {x : flt64
var val
var iter
var i;
val = 1.0;
for i = 0; i < Maxiter; i++
iter = 0.5*(val + x/val)
if abs(val - iter) < Eps
-> val;
;;
val = iter;
;;
-> val
}
const main = {
std.exit(sqrt(20.0) castto(int))
}