aboutsummaryrefslogtreecommitdiffstats
path: root/src/test_alu.py
diff options
context:
space:
mode:
authorJan Tuomi <jans.tuomi@gmail.com>2023-04-11 14:38:51 +0300
committerJan Tuomi <jans.tuomi@gmail.com>2023-04-11 14:38:51 +0300
commitdd3c90011ab33717e4c4175cd6804ae86582135f (patch)
tree60519868e7c329eef0dd5eb22026e8c6ed85245a /src/test_alu.py
parentda14e7ca7f31cb4b9a975dbe349fb4d385592b9c (diff)
Refactor folder
Diffstat (limited to 'src/test_alu.py')
-rwxr-xr-xsrc/test_alu.py48
1 files changed, 0 insertions, 48 deletions
diff --git a/src/test_alu.py b/src/test_alu.py
deleted file mode 100755
index af30443..0000000
--- a/src/test_alu.py
+++ /dev/null
@@ -1,48 +0,0 @@
-#!/usr/bin/env python3
-
-from test_utils import *
-
-def make_alu_table() -> str:
- alu = ALU()
- n = 10000
- alu.generate_cases(n)
- alu.process()
- print(f"[test] running {n} ALU test cases")
- return alu.to_table().strip()
-
-class ALU(TestGroup):
- def __init__(self):
- TestGroup.__init__(self, [
- Param("A", 0x0, 0xffff),
- Param("B", 0x0, 0xffff),
- Param("S", 0, 7),
- ], [
- "Y",
- "FLAGS",
- ])
-
- def process(self):
- new_cases = []
- for kase in self.cases:
- S = kase["S"]
- A = kase["A"]
- B = kase["B"]
- kase["FLAGS"] = "x"
-
- match S:
- case 0: Y = 0
- case 1: Y = (B - A) & 0xFFFF
- case 2: Y = (A - B) & 0xFFFF
- case 3: Y = (A + B) & 0xFFFF
- case 4: Y = (A ^ B) & 0xFFFF
- case 5: Y = (A | B) & 0xFFFF
- case 6: Y = (A & B) & 0xFFFF
- case 7: Y = 0xffff
-
- kase["Y"] = Y
- new_cases.append(kase)
-
- self.cases = new_cases
-
-table = make_alu_table()
-run_test("ALU", table)