ref: 04d647955b3d83e2fb3731d63887ae499809141e
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)) }