ref: 78ef9193ce11d95dd93d49f875ac27f79858ace0
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)) }