Start exercising grow code, breaking the VM

This commit is contained in:
Ian Gulliver
2021-11-20 19:17:35 -10:00
parent 510680d6c5
commit f6a598a559
6 changed files with 107 additions and 12 deletions

24
grow/sample.go Normal file
View File

@@ -0,0 +1,24 @@
package main
import "github.com/firestuff/subcoding/vm"
type Sample struct {
GlobalMemoryInputs map[uint64]uint64 `yaml:"global_memory_inputs"`
GlobalMemoryOutputs map[uint64]uint64 `yaml:"global_memory_outputs"`
}
func (s *Sample) SetInputs(state *vm.State) {
for i, val := range s.GlobalMemoryInputs {
state.GlobalMemory().WriteUnsigned(i, val)
}
}
func (s *Sample) OutputsMatch(state *vm.State) bool {
for i, val := range s.GlobalMemoryOutputs {
if state.GlobalMemory().MustReadUnsigned(i) != val {
return false
}
}
return true
}