ref: f762f96f07cf2dfc7b3bb745d6a767dccda0a01a
dir: /test/mandelbrot.myr/
use std const Bailout : flt64 = 16.0 const Maxiter = 1000 const mandelbrot = {x, y var cr, ci, zr, zi var tmp, zr2, zi2 var i : int cr = y - 0.5 ci = x zr = 0.0 zi = 0.0 i = 0 while true i++ tmp = zr * zi zr2 = zr * zr zi2 = zi * zi zr = zr2 - zi2 + cr zi = tmp + tmp + ci if zi2 + zr2 > Bailout -> i ;; if i > Maxiter -> 0 ;; ;; -> 0 } const main = {args : byte[:][:] var x : flt64, y : flt64, i for y = -39.0; y < 39.0; y = y + 1.0 for x = -39.0; x < 39.0; x = x + 1.0 i = mandelbrot(x/40.0, y/40.0) if i == 0 std.put("*") else std.put(" ") ;; ;; std.put("\n") ;; std.put("\n") }