ref: 37e8b94b73dde2743b74e642b8d7cba7e2775622
parent: 1457588b491615b8f1634a39419db9e7404c398f
author: Ori Bernstein <[email protected]>
date: Wed Sep 17 22:26:21 EDT 2014
Add a mandelbrot test.
--- /dev/null
+++ b/test/data/mandelbrot-expected
@@ -1,0 +1,79 @@
+ *
+ *
+ *
+ *
+ *
+ ***
+ *****
+ *****
+ ***
+ *
+ *********
+ *************
+ ***************
+ *********************
+ *********************
+ *******************
+ *******************
+ *******************
+ *******************
+ ***********************
+ *******************
+ *******************
+ *********************
+ *******************
+ *******************
+ *****************
+ ***************
+ *************
+ *********
+ *
+ ***************
+ ***********************
+ * ************************* *
+ *****************************
+ * ******************************* *
+ *********************************
+ ***********************************
+ ***************************************
+ *** ***************************************** ***
+ *************************************************
+ ***********************************************
+ *********************************************
+ *********************************************
+ ***********************************************
+ ***********************************************
+ ***************************************************
+ *************************************************
+ *************************************************
+ ***************************************************
+ ***************************************************
+ * *************************************************** *
+ ***** *************************************************** *****
+ ****** *************************************************** ******
+ ******* *************************************************** *******
+ ***********************************************************************
+ ********* *************************************************** *********
+ ****** *************************************************** ******
+ ***** *************************************************** *****
+ ***************************************************
+ ***************************************************
+ ***************************************************
+ ***************************************************
+ *************************************************
+ *************************************************
+ ***************************************************
+ ***********************************************
+ ***********************************************
+ *******************************************
+ *****************************************
+ *********************************************
+ **** ****************** ****************** ****
+ *** **************** **************** ***
+ * ************** ************** *
+ *********** ***********
+ ** ***** ***** **
+ * * * *
+
+
+
--- /dev/null
+++ b/test/mandelbrot.myr
@@ -1,0 +1,53 @@
+use std
+use bio
+
+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
+ ;;
+ ;;
+}
+
+const main = {args : byte[:][:]
+ var x : flt64, y : flt64, i
+ var f
+
+ f = bio.mkfile(1, bio.Wr)
+ 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
+ bio.write(f, "*")
+ else
+ bio.write(f, " ")
+ ;;
+ ;;
+ bio.write(f, "\n")
+ ;;
+ bio.write(f, "\n")
+ bio.close(f)
+}
--- a/test/tests
+++ b/test/tests
@@ -71,6 +71,7 @@
B fib E 21
B basicfloat E 84
B sqrt E 4
+B mandelbrot C
B log-and E 0
B log-or E 1
B str E 102