diff options
| author | Jan Tuomi <jans.tuomi@gmail.com> | 2023-04-11 14:38:51 +0300 |
|---|---|---|
| committer | Jan Tuomi <jans.tuomi@gmail.com> | 2023-04-11 14:38:51 +0300 |
| commit | dd3c90011ab33717e4c4175cd6804ae86582135f (patch) | |
| tree | 60519868e7c329eef0dd5eb22026e8c6ed85245a /src/test_alu.py | |
| parent | da14e7ca7f31cb4b9a975dbe349fb4d385592b9c (diff) | |
Refactor folder
Diffstat (limited to 'src/test_alu.py')
| -rwxr-xr-x | src/test_alu.py | 48 |
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) |
