MCPcopy
hub / github.com/fogleman/primitive / Step

Method Step

primitive/model.go:119–145  ·  view source on GitHub ↗
(shapeType ShapeType, alpha, repeat int)

Source from the content-addressed store, hash-verified

117}
118
119func (model *Model) Step(shapeType ShapeType, alpha, repeat int) int {
120 state := model.runWorkers(shapeType, alpha, 1000, 100, 16)
121 // state = HillClimb(state, 1000).(*State)
122 model.Add(state.Shape, state.Alpha)
123
124 for i := 0; i < repeat; i++ {
125 state.Worker.Init(model.Current, model.Score)
126 a := state.Energy()
127 state = HillClimb(state, 100).(*State)
128 b := state.Energy()
129 if a == b {
130 break
131 }
132 model.Add(state.Shape, state.Alpha)
133 }
134
135 // for _, w := range model.Workers[1:] {
136 // model.Workers[0].Heatmap.AddHeatmap(w.Heatmap)
137 // }
138 // SavePNG("heatmap.png", model.Workers[0].Heatmap.Image(0.5))
139
140 counter := 0
141 for _, worker := range model.Workers {
142 counter += worker.Counter
143 }
144 return counter
145}
146
147func (model *Model) runWorkers(t ShapeType, a, n, age, m int) *State {
148 wn := len(model.Workers)

Callers 1

mainFunction · 0.95

Calls 5

runWorkersMethod · 0.95
AddMethod · 0.95
HillClimbFunction · 0.85
InitMethod · 0.80
EnergyMethod · 0.65

Tested by

no test coverage detected