def test_123_fusion(): pack = TileScopePack.row_and_col_placements(row_only=True).make_fusion( tracked=True) css = TileScope("123", pack) spec = css.auto_search(status_update=30) spec = spec.expand_verified() assert isinstance(spec, CombinatorialSpecification) assert [spec.count_objects_of_size(i) for i in range(20)] == [ 1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 742900, 2674440, 9694845, 35357670, 129644790, 477638700, 1767263190, ] av = Av([Perm((0, 1, 2))]) for i in range(10): assert set(av.of_length(i)) == set( gp.patt for gp in spec.generate_objects_of_size(i)) assert spec.random_sample_object_of_size(i).patt in av
def test_domino(): domino = Tiling(obstructions=[ GriddedPerm((0, 2, 1), [(0, 0), (0, 0), (0, 0)]), GriddedPerm((1, 0, 2), [(0, 1), (0, 1), (0, 1)]), GriddedPerm((0, 2, 1, 3), [(0, 0), (0, 1), (0, 0), (0, 1)]), ]) tilescope = TileScope( domino, TileScopePack.row_and_col_placements().make_fusion(tracked=True, component=True), ) spec = tilescope.auto_search() assert isinstance(spec, CombinatorialSpecification) assert [spec.count_objects_of_size(i) for i in range(15)] == [ 1, 2, 6, 22, 91, 408, 1938, 9614, 49335, 260130, 1402440, 7702632, 42975796, 243035536, 1390594458, ]
def test_123_fusion(): pack = TileScopePack.row_and_col_placements(row_only=True).make_fusion(tracked=True) css = TileScope("123", pack) spec = css.auto_search(status_update=30) assert isinstance(spec, CombinatorialSpecification) assert [spec.count_objects_of_size(i) for i in range(20)] == [ 1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 742900, 2674440, 9694845, 35357670, 129644790, 477638700, 1767263190, ]
from permuta import Perm from tilings import GriddedPerm, Tiling from tilings import strategies as strat from tilings.strategies.fusion import ComponentFusionStrategy, FusionStrategy from tilings.strategy_pack import TileScopePack from tilings.tilescope import TileScope point_placements = TileScopePack.point_placements() all_the_strategies_verify_database = TileScopePack.all_the_strategies( ).make_database() all_the_strategies_fusion = TileScopePack.all_the_strategies().make_fusion( tracked=False) point_placements_fusion = point_placements.make_fusion(tracked=False) point_placements_component_fusion = point_placements.make_fusion( component=True, tracked=False) row_placements_fusion = TileScopePack.row_and_col_placements( row_only=True).make_fusion(tracked=True) row_and_col_placements_component_fusion_fusion = ( TileScopePack.row_and_col_placements().make_fusion( component=True, tracked=False).make_fusion(tracked=False)) reginsenc = TileScopePack.regular_insertion_encoding(3) @pytest.mark.timeout(20) def test_132(): searcher = TileScope("132", point_placements) spec = searcher.auto_search(smallest=True) assert isinstance(spec, CombinatorialSpecification) @pytest.mark.timeout(20) def test_132_genf():