add simple rng test

This commit is contained in:
2021-11-07 10:36:49 +01:00
parent 0a8f4e1d8f
commit f0474a3bbc
2 changed files with 25 additions and 2 deletions

23
random.cwa Normal file
View File

@@ -0,0 +1,23 @@
import "env.memory" memory(4);
fn random() -> i32 {
let seed = !0;
seed = seed ^ (seed << 13);
seed = seed ^ (seed >> 17);
seed = seed ^ (seed << 5);
!0 = seed;
seed * 625341585
}
fn seed(s: i32) {
!0 = (s + (s >>> 31)) * 2060714111;
}
export fn tic(time: i32) {
let i: i32;
loop pixels {
seed(i + time / 10);
i?120 = random();
branch_if (i := i + 1) < 320*256: pixels
}
}

View File

@@ -1,6 +1,6 @@
import "env.memory" memory(4); import "env.memory" memory(4);
import "math.sin" fn sin(f32) -> f32; import "env.sin" fn sin(f32) -> f32;
import "math.atan2" fn atan2(f32, f32) -> f32; import "env.atan2" fn atan2(f32, f32) -> f32;
export fn tic(time: i32) { export fn tic(time: i32) {
let i: i32; let i: i32;