Add mandelbrot example; Update game-of-life example

This commit is contained in:
dcodeIO
2018-04-19 17:32:23 +02:00
parent 350befee9b
commit 485c3fd9b2
30 changed files with 2069 additions and 980 deletions

View File

@ -0,0 +1,19 @@
export function update(width: u32, height: u32, max: u32): void {
var translateX = width / 1.6;
var translateY = height / 2.0;
var scale = 4.0 / width;
for (let y: u32 = 0; y < height; ++y) {
let imaginary = (y - translateY) * scale;
for (let x: u32 = 0; x < width; ++x) {
let real = (x - translateX) * scale;
let iteration = <u32>0;
for (let ix = 0.0, iy = 0.0; ix * ix + iy * iy <= 4.0; ++iteration) {
let t = ix * ix - iy * iy + real;
iy = 2.0 * ix * iy + imaginary;
ix = t;
if (++iteration >= max) break;
}
store<u8>(y * width + x, iteration * 255 / max);
}
}
}

View File

@ -0,0 +1,6 @@
{
"extends": "../../../std/assembly.d.ts",
"include": [
"./**/*.ts"
]
}