Download tests/test_hf_decoder_cpu.py from StarAtNyte1/beam-boot: direct link, hf CLI and curl.
- Browser
- Download file 1.07 kB
-
https://huggingface.co/StarAtNyte1/beam-boot/resolve/main/tests/test_hf_decoder_cpu.py
- Command line
-
hf download hf://StarAtNyte1/beam-boot/tests/test_hf_decoder_cpu.py
-
curl -L -o test_hf_decoder_cpu.py https://huggingface.co/StarAtNyte1/beam-boot/resolve/main/tests/test_hf_decoder_cpu.py
1.07 kB
| import unittest | |
| from beamboot.hf_decoder_cpu import DecoderCPU | |
| from beamboot.large_cpu import LargeCPU, LargeRuntime | |
| class DecoderCPUTests(unittest.TestCase): | |
| def test_transition_in_stock_decoder(self): | |
| program = [('LDI', 7), ('STORE', 3), ('LDI', 2), ('ADDM', 3), | |
| ('STORE', 4), ('LOAD', 3), ('OUT', 0), ('LOAD', 4), | |
| ('OUT', 0), ('SUB', 9), ('JZ', 12), ('HALT', 0), ('HALT', 0)] | |
| actual = DecoderCPU(program) | |
| ref = LargeRuntime(LargeCPU(program)) | |
| for _ in range(30): | |
| got, expected = actual.step(), ref.step() | |
| self.assertEqual(got, expected) | |
| if got.halt: break | |
| self.assertTrue(actual.halted) | |
| def test_monitor_boots_and_adds(self): | |
| from beamboot.os import OperatingMonitor | |
| machine = OperatingMonitor(backend='decoder') | |
| self.assertEqual(machine.boot(), 'BEAM>\n') | |
| self.assertEqual(machine.version(), 'BEAMBOOT 0.1\n') | |
| self.assertEqual(machine.add(7, 8), 15) | |
| self.assertEqual(machine.add(15, 3), 2) | |