From 363d8ea45c53591bda14c6bd9fa8ddfcd47eb487 Mon Sep 17 00:00:00 2001 From: Tom Smeding Date: Tue, 5 Feb 2019 14:29:25 +0100 Subject: Initial --- genwinmasks.py | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100755 genwinmasks.py (limited to 'genwinmasks.py') diff --git a/genwinmasks.py b/genwinmasks.py new file mode 100755 index 0000000..45a9f58 --- /dev/null +++ b/genwinmasks.py @@ -0,0 +1,31 @@ +#!/usr/bin/env python3 + +masks = [] + +def gen(x, y, z, dx, dy, dz): + if dx == 0 and dy == 0 and dz == 0: return + if x + 4 * dx > 4 or y + 4 * dy > 4 or z + 4 * dz > 4: return + + n = 0 + for i in range(4): + n |= 1 << (16 * y + 4 * x + z) + x, y, z = x + dx, y + dy, z + dz + + masks.append(n) + + +for x in range(4): + for y in range(4): + for z in range(4): + for dx in range(2): + for dy in range(2): + for dz in range(2): + gen(x, y, z, dx, dy, dz) + + +masks.sort() + +print("static u64 winmasks[{}] = {{".format(len(masks))) +for i in range((len(masks) + 3) // 4): + print("\t" + " ".join(hex(n) + "ULL," for n in masks[4*i:4*i+4])) +print("};") -- cgit v1.2.3-54-g00ecf