Free polyominoes enumeration: Difference between revisions

m
→‎{{header|Go}}: Minor simplifications. Added comment about use of intermediate set .
(Added Go)
m (→‎{{header|Go}}: Minor simplifications. Added comment about use of intermediate set .)
Line 609:
func (po polyomino) newPoints() polyomino {
pset := po.toPointset()
m := make(pointset)
for _, p := range po {
pts := p.contiguous()
for _, pt := range pts {
if _, ok := !pset[pt]; !ok {
m[pt] = true // using an intermediate set is about 15% faster!
}
}
Line 655:
for _, po := range r {
for _, po2 := range po.newPolys() {
if s := po2.String(); !m[s] {
if _, ok := m[s]; !ok {
polys = append(polys, po2)
m[s] = true
9,482

edits