Skip to content

Commit 3cf9165

Browse files
committed
overall fix
1 parent ed04475 commit 3cf9165

File tree

3 files changed

+18
-9
lines changed

3 files changed

+18
-9
lines changed

polyominomodel/_polyomino_builder.py

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ def PolyominoBuilder(genotype,build_strategy='random'):
2323

2424
if build_strategy=='dfs' or build_strategy=='bfs':
2525
possible_grid_order=[]
26+
else:
27+
build_strategy='random'
2628

2729
def placeTile(tType,position,orientation):
2830
POLYOMINO_GRID[position]=(tType,orientation)
@@ -45,19 +47,27 @@ def identifyValidNeighbour(position,centerType,centerOrientation,checkPosition,i
4547
if bindingEdge!=0 and cycleList(tile,cycNum)[oppositeBindingEdgeIndex]==InteractionMatrix(bindingEdge):
4648
POSSIBLE_GRID[checkPosition].append((i,cycNum))
4749
if build_strategy=='dfs' or build_strategy=='bfs':
48-
possible_grid_order.append(checkPosition)
50+
if checkPosition not in possible_grid_order:
51+
possible_grid_order.append(checkPosition)
52+
else:
53+
if build_strategy=='dfs':
54+
possible_grid_order.remove(checkPosition)
55+
possible_grid_order.append(checkPosition)
56+
else:
57+
pass
4958

5059
placement=placeTile(0,(0,0),0)
5160
identifyValidNeighbours((0,0))
5261
yield placement,copy(POSSIBLE_GRID)
5362
while len(POSSIBLE_GRID)>0:
5463
if build_strategy=='random':
5564
newPolyominoPosition,newPolyominoDetails=choice([(position, tileDetail) for position, tileDetails in POSSIBLE_GRID.iteritems() for tileDetail in tileDetails])
56-
if build_strategy=='dfs':
65+
elif build_strategy=='dfs':
5766
newPolyominoPosition,newPolyominoDetails= (possible_grid_order[-1],POSSIBLE_GRID[possible_grid_order.pop()][-1])
58-
if build_strategy=='bfs':
67+
elif build_strategy=='bfs':
5968
newPolyominoPosition,newPolyominoDetails= (possible_grid_order[0],POSSIBLE_GRID[possible_grid_order.pop(0)][0])
6069

70+
6171
POSSIBLE_GRID.pop(newPolyominoPosition)
6272
placement= placeTile(newPolyominoDetails[0],newPolyominoPosition,newPolyominoDetails[1])
6373
identifyValidNeighbours(newPolyominoPosition)

polyominomodel/_version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
__version__ = '0.4.5'
1+
__version__ = '0.5.0'

setup.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import sys
22
import os
3-
from setuptools.command.test import test as TestCommand
3+
4+
from distutils.cmd import Command
45
from distutils.core import setup
56
from distutils.extension import Extension
67
from sys import platform
@@ -23,8 +24,7 @@
2324
exec(open(os.path.join(here, 'polyominomodel/_version.py')).read())
2425

2526

26-
27-
class PyTest(TestCommand):
27+
class PyTest(Command):
2828
user_options = [('pytest-args=', 'a', "Arguments to pass to pytest")]
2929

3030
def initialize_options(self):
@@ -50,8 +50,7 @@ def run_tests(self):
5050
description = 'Various polyomino methods',
5151
long_description = open('README.md').read(),
5252
license = 'LICENSE.txt',
53-
platforms = ["posix"],
54-
zip_safe = False,
53+
platforms = ["linux","osx"],
5554
url = "https://github.com/IcyHawaiian/SLAM",
5655
ext_modules = [Extension("polyominomodel.CLAM",sources=['src/graph_methods.cpp','src/graph_analysis.cpp','src/polyomino_wrapper.cpp'],include_dirs = ['src/includes'],extra_compile_args=extra_compile_arguments,extra_link_args=extra_link_arguments,language='c++11')],
5756
headers = ['src/includes/graph_analysis.hpp','src/includes/graph_methods.hpp','src/includes/xorshift.hpp']

0 commit comments

Comments
 (0)