More working code generation

This commit is contained in:
Ian Gulliver
2021-11-20 19:32:44 -10:00
parent a5a4c49e37
commit 8097d6d24f
6 changed files with 68 additions and 1 deletions

View File

@@ -12,7 +12,8 @@ func (def *Definition) Grow() {
log.Print("Starting grow run...")
// TODO: Score should be number of output criteria, not number of Samples
for high_score < len(def.Samples) {
progs := 0
for ; high_score < len(def.Samples); progs++ {
prog := gen.RandProgram(def.GlobalMemorySize, def.FunctionMemorySize, def.InstructionLimit)
score, err := def.Score(prog)
@@ -31,6 +32,8 @@ func (def *Definition) Grow() {
log.Printf("New high score %d / %d:\n%s", high_score, len(def.Samples), src)
}
}
log.Printf("%d programs tested", progs)
}
func (def *Definition) Score(prog *vm.Program) (int, error) {