mapFolding 0.9.4__py3-none-any.whl → 0.9.5__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- mapFolding/__init__.py +41 -7
- mapFolding/basecamp.py +100 -9
- mapFolding/beDRY.py +7 -15
- mapFolding/dataBaskets.py +12 -0
- mapFolding/datatypes.py +4 -4
- mapFolding/oeis.py +2 -7
- mapFolding/someAssemblyRequired/RecipeJob.py +97 -3
- mapFolding/someAssemblyRequired/Z0Z_makeSomeModules.py +112 -12
- mapFolding/someAssemblyRequired/__init__.py +26 -28
- mapFolding/someAssemblyRequired/_theTypes.py +13 -19
- mapFolding/someAssemblyRequired/_tool_Make.py +4 -6
- mapFolding/someAssemblyRequired/_tool_Then.py +17 -22
- mapFolding/someAssemblyRequired/_toolboxAntecedents.py +32 -15
- mapFolding/someAssemblyRequired/_toolboxContainers.py +124 -29
- mapFolding/someAssemblyRequired/makeJobTheorem2Numba.py +274 -0
- mapFolding/someAssemblyRequired/synthesizeNumbaJob.py +3 -2
- mapFolding/someAssemblyRequired/toolboxNumba.py +3 -27
- mapFolding/someAssemblyRequired/transformationTools.py +8 -120
- mapFolding/syntheticModules/daoOfMapFolding.py +74 -0
- mapFolding/syntheticModules/dataPacking.py +1 -1
- mapFolding/syntheticModules/theorem2Numba.py +2 -8
- mapFolding/syntheticModules/theorem2Trimmed.py +43 -0
- {mapfolding-0.9.4.dist-info → mapfolding-0.9.5.dist-info}/METADATA +1 -1
- {mapfolding-0.9.4.dist-info → mapfolding-0.9.5.dist-info}/RECORD +29 -27
- tests/test_computations.py +1 -1
- mapFolding/Z0Z_flowControl.py +0 -117
- {mapfolding-0.9.4.dist-info → mapfolding-0.9.5.dist-info}/WHEEL +0 -0
- {mapfolding-0.9.4.dist-info → mapfolding-0.9.5.dist-info}/entry_points.txt +0 -0
- {mapfolding-0.9.4.dist-info → mapfolding-0.9.5.dist-info}/licenses/LICENSE +0 -0
- {mapfolding-0.9.4.dist-info → mapfolding-0.9.5.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
from mapFolding.dataBaskets import MapFoldingState
|
|
2
|
+
|
|
3
|
+
def count(state: MapFoldingState) -> MapFoldingState:
|
|
4
|
+
while state.leaf1ndex > 4:
|
|
5
|
+
if state.leafBelow[0] == 1:
|
|
6
|
+
if state.leaf1ndex > state.leavesTotal:
|
|
7
|
+
state.groupsOfFolds += 1
|
|
8
|
+
else:
|
|
9
|
+
state.dimensionsUnconstrained = state.dimensionsTotal
|
|
10
|
+
state.gap1ndexCeiling = state.gapRangeStart[state.leaf1ndex - 1]
|
|
11
|
+
state.indexDimension = 0
|
|
12
|
+
while state.indexDimension < state.dimensionsTotal:
|
|
13
|
+
state.leafConnectee = state.connectionGraph[state.indexDimension, state.leaf1ndex, state.leaf1ndex]
|
|
14
|
+
if state.leafConnectee == state.leaf1ndex:
|
|
15
|
+
state.dimensionsUnconstrained -= 1
|
|
16
|
+
else:
|
|
17
|
+
while state.leafConnectee != state.leaf1ndex:
|
|
18
|
+
state.gapsWhere[state.gap1ndexCeiling] = state.leafConnectee
|
|
19
|
+
if state.countDimensionsGapped[state.leafConnectee] == 0:
|
|
20
|
+
state.gap1ndexCeiling += 1
|
|
21
|
+
state.countDimensionsGapped[state.leafConnectee] += 1
|
|
22
|
+
state.leafConnectee = state.connectionGraph[state.indexDimension, state.leaf1ndex, state.leafBelow[state.leafConnectee]]
|
|
23
|
+
state.indexDimension += 1
|
|
24
|
+
state.indexMiniGap = state.gap1ndex
|
|
25
|
+
while state.indexMiniGap < state.gap1ndexCeiling:
|
|
26
|
+
state.gapsWhere[state.gap1ndex] = state.gapsWhere[state.indexMiniGap]
|
|
27
|
+
if state.countDimensionsGapped[state.gapsWhere[state.indexMiniGap]] == state.dimensionsUnconstrained:
|
|
28
|
+
state.gap1ndex += 1
|
|
29
|
+
state.countDimensionsGapped[state.gapsWhere[state.indexMiniGap]] = 0
|
|
30
|
+
state.indexMiniGap += 1
|
|
31
|
+
while state.gap1ndex == state.gapRangeStart[state.leaf1ndex - 1]:
|
|
32
|
+
state.leaf1ndex -= 1
|
|
33
|
+
state.leafBelow[state.leafAbove[state.leaf1ndex]] = state.leafBelow[state.leaf1ndex]
|
|
34
|
+
state.leafAbove[state.leafBelow[state.leaf1ndex]] = state.leafAbove[state.leaf1ndex]
|
|
35
|
+
state.gap1ndex -= 1
|
|
36
|
+
state.leafAbove[state.leaf1ndex] = state.gapsWhere[state.gap1ndex]
|
|
37
|
+
state.leafBelow[state.leaf1ndex] = state.leafBelow[state.leafAbove[state.leaf1ndex]]
|
|
38
|
+
state.leafBelow[state.leafAbove[state.leaf1ndex]] = state.leaf1ndex
|
|
39
|
+
state.leafAbove[state.leafBelow[state.leaf1ndex]] = state.leaf1ndex
|
|
40
|
+
state.gapRangeStart[state.leaf1ndex] = state.gap1ndex
|
|
41
|
+
state.leaf1ndex += 1
|
|
42
|
+
state.groupsOfFolds *= 2
|
|
43
|
+
return state
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
mapFolding/
|
|
2
|
-
mapFolding/
|
|
3
|
-
mapFolding/
|
|
4
|
-
mapFolding/beDRY.py,sha256=sTqg_xq3_c4Djer8HRg41ERhDulcl1ZgU4_RMksuv6c,15975
|
|
1
|
+
mapFolding/__init__.py,sha256=vIUZ4w4Hr12xPhSXIrnoG7-jg59VeEl5KbaOfmMRjTA,5403
|
|
2
|
+
mapFolding/basecamp.py,sha256=hs7hlTmbX7KTjI_eIRVU4xn7HR4l448SIpHk1cKDwRk,8071
|
|
3
|
+
mapFolding/beDRY.py,sha256=JQ7T9v4aKzweGjvpzyghyq4N9l3Wf9HZco_K_DWoiW0,15368
|
|
5
4
|
mapFolding/daoOfMapFolding.py,sha256=ncTIiBfTsM8SNVx9qefZ0bBcBtviWLSk4iPv3Z9nGiE,5442
|
|
6
|
-
mapFolding/dataBaskets.py,sha256=
|
|
7
|
-
mapFolding/datatypes.py,sha256
|
|
8
|
-
mapFolding/oeis.py,sha256=
|
|
5
|
+
mapFolding/dataBaskets.py,sha256=80ALoRqaOfNEgz8QTdDJPsyVBnm8MkWLtRHD3DPPoRw,5073
|
|
6
|
+
mapFolding/datatypes.py,sha256=-TdXqAlEWEwUP_VUb9-X5pvaBBedbZOQbBuu5j1ZoTA,962
|
|
7
|
+
mapFolding/oeis.py,sha256=zHk5Mygd7qpDj1NYXsvY_l3e8jg3tHDQ1Cpt6NrWiuc,17019
|
|
9
8
|
mapFolding/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
10
9
|
mapFolding/theDao.py,sha256=kc3rzTX3yts0PxgPCXFbgWvaqsBexsiU5ib2pzpvID0,10019
|
|
11
10
|
mapFolding/theSSOT.py,sha256=rbv8esQeBG6uLWpFZu_ncMA4zIuQG3lj4FZNzC_6JGI,16138
|
|
@@ -22,36 +21,39 @@ mapFolding/reference/total_countPlus1vsPlusN.py,sha256=yJZAVLVdoXqHag2_N6_6CT-Q6
|
|
|
22
21
|
mapFolding/reference/jobsCompleted/__init__.py,sha256=TU93ZGUW1xEkT6d9mQFn_rp5DvRy0ZslEB2Q6MF5ZDc,2596
|
|
23
22
|
mapFolding/reference/jobsCompleted/[2x19]/p2x19.py,sha256=_tvYtfzMWVo2VtUbIAieoscb4N8FFflgTdW4-ljBUuA,19626
|
|
24
23
|
mapFolding/reference/jobsCompleted/p2x19/p2x19.py,sha256=eZEw4Me4ocTt6VXoK2-Sbd5SowZtxRIbN9dZmc7OCVg,6395
|
|
25
|
-
mapFolding/someAssemblyRequired/RecipeJob.py,sha256=
|
|
26
|
-
mapFolding/someAssemblyRequired/Z0Z_makeSomeModules.py,sha256=
|
|
27
|
-
mapFolding/someAssemblyRequired/__init__.py,sha256=
|
|
28
|
-
mapFolding/someAssemblyRequired/_theTypes.py,sha256=
|
|
29
|
-
mapFolding/someAssemblyRequired/_tool_Make.py,sha256=
|
|
30
|
-
mapFolding/someAssemblyRequired/_tool_Then.py,sha256
|
|
24
|
+
mapFolding/someAssemblyRequired/RecipeJob.py,sha256=6RD4F4Yde7K-Rz0F4IokQ62BVzRSx4vCCYY4H-Dfug4,10190
|
|
25
|
+
mapFolding/someAssemblyRequired/Z0Z_makeSomeModules.py,sha256=ctR-0wwGpDSHfa7pF4dhJwbWzptADWb4m6AQeN9KabA,15677
|
|
26
|
+
mapFolding/someAssemblyRequired/__init__.py,sha256=fIdXu8UVLp2ccGdaQO41qmlfa87tWRgevGJH2xSdUkY,4570
|
|
27
|
+
mapFolding/someAssemblyRequired/_theTypes.py,sha256=CUw-8_6tyOU6q3r_Fe5PQsvRdw04LQ2bDuTg1X1XRtk,5002
|
|
28
|
+
mapFolding/someAssemblyRequired/_tool_Make.py,sha256=Ou2EGtMe1SCv_v_s0tEMVz_VlXgGhyk9nZxipQ5Ez_0,7651
|
|
29
|
+
mapFolding/someAssemblyRequired/_tool_Then.py,sha256=8gdAQ7NPHzS6Q_NERbjzA3JtyO2N62jOmiDOx9Tq1l8,6168
|
|
31
30
|
mapFolding/someAssemblyRequired/_toolboxAST.py,sha256=Wm0XUqqxKbwu1kIQ1F6iXEP2z25qmr1JsZ2CeWMBtLg,2376
|
|
32
|
-
mapFolding/someAssemblyRequired/_toolboxAntecedents.py,sha256=
|
|
33
|
-
mapFolding/someAssemblyRequired/_toolboxContainers.py,sha256=
|
|
31
|
+
mapFolding/someAssemblyRequired/_toolboxAntecedents.py,sha256=i1jOdK1nJlA0blbVlCWJf-CeHyPgUf7QMQSFm1BrhQ8,16682
|
|
32
|
+
mapFolding/someAssemblyRequired/_toolboxContainers.py,sha256=Qtf1vGPIYQ9g2bOiupkm_-T4Qsr7p14SSI9eXcmT54M,30125
|
|
34
33
|
mapFolding/someAssemblyRequired/_toolboxPython.py,sha256=1K7IzqzmHNTaPA6qTo73GZYHCIQRYI2Rn8aYJ3VelqY,7873
|
|
35
34
|
mapFolding/someAssemblyRequired/getLLVMforNoReason.py,sha256=9RPU6vK_eUg64GtVFI_nZnvUryXw8gfHJs9NyDYHIvg,2745
|
|
36
|
-
mapFolding/someAssemblyRequired/
|
|
37
|
-
mapFolding/someAssemblyRequired/
|
|
38
|
-
mapFolding/someAssemblyRequired/
|
|
35
|
+
mapFolding/someAssemblyRequired/makeJobTheorem2Numba.py,sha256=rVsBWkRr9biR_kMRwkn8z4gGHu3hKwigZ-WoSC1nkEA,13830
|
|
36
|
+
mapFolding/someAssemblyRequired/synthesizeNumbaJob.py,sha256=bhCCEBEPco2gwaaieH3SADZnFyQBrvBYOzZs9-cyXAs,15597
|
|
37
|
+
mapFolding/someAssemblyRequired/toolboxNumba.py,sha256=MkVmX844CDnEpodY5sasAYjK4gBbO9icoRhvX241Ipc,8965
|
|
38
|
+
mapFolding/someAssemblyRequired/transformationTools.py,sha256=UikTtBxW2LfGpMiOirDUB928V-OcHPTXsO1KTxAL1O0,29326
|
|
39
39
|
mapFolding/syntheticModules/__init__.py,sha256=evVFqhCGa-WZKDiLcnQWjs-Bj34eRnfSLqz_d7dFYZY,83
|
|
40
|
-
mapFolding/syntheticModules/
|
|
40
|
+
mapFolding/syntheticModules/daoOfMapFolding.py,sha256=cfWPABtXyCxJ0BwPI7rhfLh_2UYV_XKAL8lJ4GLNXaQ,5896
|
|
41
|
+
mapFolding/syntheticModules/dataPacking.py,sha256=J4WLJzQTOAm2d8itzWWSixTUcCGQl4KuEfqrzkb2tJQ,2294
|
|
41
42
|
mapFolding/syntheticModules/initializeCount.py,sha256=nWSlJMMfIM3DvZxMn6ISQusUJqRYAjKQyLF5hwLEdBQ,3119
|
|
42
43
|
mapFolding/syntheticModules/numbaCount.py,sha256=zM-bp07c9tEDdvidwzZ_bJTd0JC0VUkYEEiHG--P1tQ,15525
|
|
43
44
|
mapFolding/syntheticModules/theorem2.py,sha256=9jrbZNNX4BWYZW1S0JjvRY2k7RU7I1RNUMV7JdCt1ZY,3017
|
|
44
|
-
mapFolding/syntheticModules/theorem2Numba.py,sha256
|
|
45
|
-
|
|
45
|
+
mapFolding/syntheticModules/theorem2Numba.py,sha256=-cKjNyxgUMFhEyFVs0VJ7hw4LfrV0WSNK5tPYbQ1oNU,3369
|
|
46
|
+
mapFolding/syntheticModules/theorem2Trimmed.py,sha256=DHW3NxBdtABQYBKm2WRvfQ5kzc2_UwGI2h4ePuYEJoM,2685
|
|
47
|
+
mapfolding-0.9.5.dist-info/licenses/LICENSE,sha256=NxH5Y8BdC-gNU-WSMwim3uMbID2iNDXJz7fHtuTdXhk,19346
|
|
46
48
|
tests/__init__.py,sha256=5VhHf0JJ2_DSh58zJ0rR5UkpoCon-0IkdljspTCzZ04,1950
|
|
47
49
|
tests/conftest.py,sha256=x8zMZQyTss3sn0GwHm_TSRwD9_LVlR8l_qF8r43Vxl4,14178
|
|
48
|
-
tests/test_computations.py,sha256=
|
|
50
|
+
tests/test_computations.py,sha256=5sg1PpSp6aeOrXZeO5NwWK5ipPAe49wVKC2J7yT5MFg,6524
|
|
49
51
|
tests/test_filesystem.py,sha256=T2DkjBoI3lW6tCxd5BilPmUFrVukNKLjOOZVZxLM560,3004
|
|
50
52
|
tests/test_oeis.py,sha256=uxvwmgbnylSDdsVJfuAT0LuYLbIVFwSgdLxHm-xUGBM,5043
|
|
51
53
|
tests/test_other.py,sha256=UMlK4JPInalpOZuPvTnUrgXWCJOxAw-OsPs6CxMR254,3753
|
|
52
54
|
tests/test_tasks.py,sha256=tOQc4uomKXGwWnENfbcThaVa1XofwXNCkGZbg4yS6VI,2833
|
|
53
|
-
mapfolding-0.9.
|
|
54
|
-
mapfolding-0.9.
|
|
55
|
-
mapfolding-0.9.
|
|
56
|
-
mapfolding-0.9.
|
|
57
|
-
mapfolding-0.9.
|
|
55
|
+
mapfolding-0.9.5.dist-info/METADATA,sha256=Wxvk-PufaaR_0jvSlJjgBYKoEzZi15KtZipJdP7XOAE,7502
|
|
56
|
+
mapfolding-0.9.5.dist-info/WHEEL,sha256=pxyMxgL8-pra_rKaQ4drOZAegBVuX-G_4nRHjjgWbmo,91
|
|
57
|
+
mapfolding-0.9.5.dist-info/entry_points.txt,sha256=F3OUeZR1XDTpoH7k3wXuRb3KF_kXTTeYhu5AGK1SiOQ,146
|
|
58
|
+
mapfolding-0.9.5.dist-info/top_level.txt,sha256=1gP2vFaqPwHujGwb3UjtMlLEGN-943VSYFR7V4gDqW8,17
|
|
59
|
+
mapfolding-0.9.5.dist-info/RECORD,,
|
tests/test_computations.py
CHANGED
|
@@ -102,7 +102,7 @@ if __name__ == '__main__':
|
|
|
102
102
|
def test_algorithmSourceParallel(mapShapeTestParallelization: tuple[int, ...], useAlgorithmSourceDispatcher: None) -> None:
|
|
103
103
|
standardizedEqualToCallableReturn(getFoldsTotalKnown(mapShapeTestParallelization), countFolds, mapShapeTestParallelization, None, 'maximum', None)
|
|
104
104
|
|
|
105
|
-
@pytest.mark.parametrize('flow', ['daoOfMapFolding', 'theorem2', 'theorem2numba'])
|
|
105
|
+
@pytest.mark.parametrize('flow', ['daoOfMapFolding', 'theorem2', 'theorem2Trimmed', 'theorem2numba'])
|
|
106
106
|
def test_flowControl(mapShapeTestCountFolds: tuple[int, ...], flow: Literal['daoOfMapFolding'] | Literal['theorem2'] | Literal['theorem2numba']) -> None:
|
|
107
107
|
standardizedEqualToCallableReturn(getFoldsTotalKnown(mapShapeTestCountFolds), countFolds, None, None, None, None, mapShapeTestCountFolds, None, None, flow)
|
|
108
108
|
|
mapFolding/Z0Z_flowControl.py
DELETED
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
from collections.abc import Sequence
|
|
2
|
-
from mapFolding import (
|
|
3
|
-
ComputationState,
|
|
4
|
-
getPathFilenameFoldsTotal,
|
|
5
|
-
outfitCountFolds,
|
|
6
|
-
saveFoldsTotal,
|
|
7
|
-
saveFoldsTotalFAILearly,
|
|
8
|
-
setProcessorLimit,
|
|
9
|
-
The,
|
|
10
|
-
validateListDimensions,
|
|
11
|
-
)
|
|
12
|
-
from os import PathLike
|
|
13
|
-
from pathlib import PurePath
|
|
14
|
-
|
|
15
|
-
def countFolds(listDimensions: Sequence[int] | None = None
|
|
16
|
-
, pathLikeWriteFoldsTotal: PathLike[str] | PurePath | None = None
|
|
17
|
-
, computationDivisions: int | str | None = None
|
|
18
|
-
, CPUlimit: int | float | bool | None = None
|
|
19
|
-
# , * I need to improve `standardizedEqualToCallableReturn` so it will work with keyword arguments
|
|
20
|
-
, mapShape: tuple[int, ...] | None = None
|
|
21
|
-
, oeisID: str | None = None
|
|
22
|
-
, oeis_n: int | None = None
|
|
23
|
-
, flow: str | None = None
|
|
24
|
-
) -> int:
|
|
25
|
-
|
|
26
|
-
# mapShape =====================================================================
|
|
27
|
-
|
|
28
|
-
if mapShape:
|
|
29
|
-
pass
|
|
30
|
-
else:
|
|
31
|
-
if oeisID and oeis_n:
|
|
32
|
-
from mapFolding.oeis import settingsOEIS
|
|
33
|
-
try:
|
|
34
|
-
mapShape = settingsOEIS[oeisID]['getMapShape'](oeis_n)
|
|
35
|
-
except KeyError:
|
|
36
|
-
pass
|
|
37
|
-
if not mapShape and listDimensions:
|
|
38
|
-
mapShape = validateListDimensions(listDimensions)
|
|
39
|
-
|
|
40
|
-
if mapShape is None:
|
|
41
|
-
raise ValueError(f"""I received these values:
|
|
42
|
-
`{listDimensions = }`,
|
|
43
|
-
`{mapShape = }`,
|
|
44
|
-
`{oeisID = }` and `{oeis_n = }`,
|
|
45
|
-
but I was unable to select a map for which to count the folds.""")
|
|
46
|
-
|
|
47
|
-
# task division instructions ===============================================
|
|
48
|
-
|
|
49
|
-
if computationDivisions:
|
|
50
|
-
# NOTE `The.concurrencyPackage`
|
|
51
|
-
concurrencyLimit: int = setProcessorLimit(CPUlimit, The.concurrencyPackage)
|
|
52
|
-
from mapFolding.beDRY import getLeavesTotal, getTaskDivisions
|
|
53
|
-
leavesTotal: int = getLeavesTotal(mapShape)
|
|
54
|
-
taskDivisions = getTaskDivisions(computationDivisions, concurrencyLimit, leavesTotal)
|
|
55
|
-
del leavesTotal
|
|
56
|
-
else:
|
|
57
|
-
concurrencyLimit = 1
|
|
58
|
-
taskDivisions = 0
|
|
59
|
-
|
|
60
|
-
# memorialization instructions ===========================================
|
|
61
|
-
|
|
62
|
-
if pathLikeWriteFoldsTotal is not None:
|
|
63
|
-
pathFilenameFoldsTotal = getPathFilenameFoldsTotal(mapShape, pathLikeWriteFoldsTotal)
|
|
64
|
-
saveFoldsTotalFAILearly(pathFilenameFoldsTotal)
|
|
65
|
-
else:
|
|
66
|
-
pathFilenameFoldsTotal = None
|
|
67
|
-
|
|
68
|
-
# Flow control until I can figure out a good way ===============================
|
|
69
|
-
|
|
70
|
-
if flow == 'daoOfMapFolding':
|
|
71
|
-
from mapFolding.dataBaskets import MapFoldingState
|
|
72
|
-
mapFoldingState: MapFoldingState = MapFoldingState(mapShape)
|
|
73
|
-
|
|
74
|
-
from mapFolding.daoOfMapFolding import doTheNeedful
|
|
75
|
-
mapFoldingState = doTheNeedful(mapFoldingState)
|
|
76
|
-
foldsTotal = mapFoldingState.foldsTotal
|
|
77
|
-
|
|
78
|
-
elif flow == 'theorem2' and any((dimension > 2 for dimension in mapShape)):
|
|
79
|
-
from mapFolding.dataBaskets import MapFoldingState
|
|
80
|
-
mapFoldingState: MapFoldingState = MapFoldingState(mapShape)
|
|
81
|
-
|
|
82
|
-
from mapFolding.syntheticModules.initializeCount import initializeGroupsOfFolds
|
|
83
|
-
mapFoldingState = initializeGroupsOfFolds(mapFoldingState)
|
|
84
|
-
|
|
85
|
-
from mapFolding.syntheticModules.theorem2 import count
|
|
86
|
-
mapFoldingState = count(mapFoldingState)
|
|
87
|
-
|
|
88
|
-
foldsTotal = mapFoldingState.foldsTotal
|
|
89
|
-
|
|
90
|
-
elif (flow == 'theorem2Numba' or taskDivisions == 0) and any((dimension > 2 for dimension in mapShape)):
|
|
91
|
-
from mapFolding.dataBaskets import MapFoldingState
|
|
92
|
-
mapFoldingState: MapFoldingState = MapFoldingState(mapShape)
|
|
93
|
-
|
|
94
|
-
from mapFolding.syntheticModules.initializeCount import initializeGroupsOfFolds
|
|
95
|
-
mapFoldingState = initializeGroupsOfFolds(mapFoldingState)
|
|
96
|
-
|
|
97
|
-
from mapFolding.syntheticModules.dataPacking import doTheNeedful
|
|
98
|
-
mapFoldingState = doTheNeedful(mapFoldingState)
|
|
99
|
-
|
|
100
|
-
foldsTotal = mapFoldingState.foldsTotal
|
|
101
|
-
|
|
102
|
-
# NOTE treat this as a default?
|
|
103
|
-
# flow based on `The` and `ComputationState` ====================================
|
|
104
|
-
|
|
105
|
-
else:
|
|
106
|
-
computationStateInitialized: ComputationState = outfitCountFolds(mapShape, computationDivisions, concurrencyLimit)
|
|
107
|
-
computationStateComplete: ComputationState = The.dispatcher(computationStateInitialized)
|
|
108
|
-
|
|
109
|
-
computationStateComplete.getFoldsTotal()
|
|
110
|
-
foldsTotal = computationStateComplete.foldsTotal
|
|
111
|
-
|
|
112
|
-
# Follow memorialization instructions ===========================================
|
|
113
|
-
|
|
114
|
-
if pathFilenameFoldsTotal is not None:
|
|
115
|
-
saveFoldsTotal(pathFilenameFoldsTotal, foldsTotal)
|
|
116
|
-
|
|
117
|
-
return foldsTotal
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|