mapFolding 0.16.2__py3-none-any.whl → 0.16.4__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.
Files changed (66) hide show
  1. easyRun/NOTcountingFolds.py +6 -5
  2. easyRun/countFolds.py +1 -1
  3. easyRun/generateAllModules.py +14 -0
  4. easyRun/meanders.py +1 -1
  5. mapFolding/__init__.py +1 -0
  6. mapFolding/_theSSOT.py +3 -2
  7. mapFolding/_theTypes.py +3 -0
  8. mapFolding/algorithms/A086345.py +75 -0
  9. mapFolding/algorithms/oeisIDbyFormula.py +2 -2
  10. mapFolding/algorithms/symmetricFolds.py +36 -0
  11. mapFolding/basecamp.py +80 -149
  12. mapFolding/dataBaskets.py +123 -5
  13. mapFolding/filesystemToolkit.py +4 -32
  14. mapFolding/oeis.py +5 -12
  15. mapFolding/reference/A086345Wu.py +25 -0
  16. mapFolding/reference/matrixMeandersAnalysis/signatures.py +3 -0
  17. mapFolding/someAssemblyRequired/A007822/A007822rawMaterials.py +10 -45
  18. mapFolding/someAssemblyRequired/A007822/_asynchronousAnnex.py +51 -0
  19. mapFolding/someAssemblyRequired/A007822/makeA007822AsynchronousModules.py +36 -195
  20. mapFolding/someAssemblyRequired/A007822/makeA007822Modules.py +42 -44
  21. mapFolding/someAssemblyRequired/RecipeJob.py +78 -18
  22. mapFolding/someAssemblyRequired/__init__.py +3 -8
  23. mapFolding/someAssemblyRequired/_toolkitContainers.py +32 -3
  24. mapFolding/someAssemblyRequired/infoBooth.py +40 -23
  25. mapFolding/someAssemblyRequired/makeJobTheorem2Numba.py +74 -153
  26. mapFolding/someAssemblyRequired/makeJobTheorem2codon.py +56 -88
  27. mapFolding/someAssemblyRequired/makingModules_count.py +10 -12
  28. mapFolding/someAssemblyRequired/makingModules_doTheNeedful.py +6 -68
  29. mapFolding/someAssemblyRequired/{mapFolding → mapFoldingModules}/makeMapFoldingModules.py +24 -30
  30. mapFolding/someAssemblyRequired/meanders/makeMeandersModules.py +8 -6
  31. mapFolding/someAssemblyRequired/toolkitMakeModules.py +2 -2
  32. mapFolding/someAssemblyRequired/toolkitNumba.py +1 -1
  33. mapFolding/someAssemblyRequired/transformationTools.py +10 -12
  34. mapFolding/syntheticModules/A007822/algorithm.py +45 -50
  35. mapFolding/syntheticModules/A007822/asynchronous.py +91 -34
  36. mapFolding/syntheticModules/A007822/initializeState.py +15 -21
  37. mapFolding/syntheticModules/A007822/theorem2.py +16 -22
  38. mapFolding/syntheticModules/A007822/theorem2Numba.py +20 -26
  39. mapFolding/syntheticModules/A007822/theorem2Trimmed.py +17 -23
  40. mapFolding/syntheticModules/countParallelNumba.py +3 -7
  41. mapFolding/syntheticModules/daoOfMapFoldingNumba.py +1 -2
  42. mapFolding/syntheticModules/meanders/bigInt.py +9 -9
  43. mapFolding/syntheticModules/theorem2Numba.py +28 -9
  44. mapFolding/syntheticModules/theorem2Trimmed.py +1 -1
  45. mapFolding/tests/test_computations.py +1 -1
  46. {mapfolding-0.16.2.dist-info → mapfolding-0.16.4.dist-info}/METADATA +4 -1
  47. {mapfolding-0.16.2.dist-info → mapfolding-0.16.4.dist-info}/RECORD +52 -61
  48. mapFolding/_dataPacking.py +0 -68
  49. mapFolding/reference/meandersDumpingGround/A005316intOptimized.py +0 -122
  50. mapFolding/reference/meandersDumpingGround/A005316optimized128bit.py +0 -79
  51. mapFolding/reference/meandersDumpingGround/matrixMeandersBaseline.py +0 -65
  52. mapFolding/reference/meandersDumpingGround/matrixMeandersBaselineAnnex.py +0 -84
  53. mapFolding/reference/meandersDumpingGround/matrixMeandersSimpleQueue.py +0 -90
  54. mapFolding/syntheticModules/A007822/algorithmNumba.py +0 -94
  55. mapFolding/syntheticModules/A007822/asynchronousAnnex.py +0 -66
  56. mapFolding/syntheticModules/A007822/asynchronousAnnexNumba.py +0 -70
  57. mapFolding/syntheticModules/A007822/asynchronousNumba.py +0 -79
  58. mapFolding/syntheticModules/A007822/asynchronousTheorem2.py +0 -65
  59. mapFolding/syntheticModules/A007822/asynchronousTrimmed.py +0 -56
  60. mapFolding/syntheticModules/dataPacking.py +0 -26
  61. mapFolding/syntheticModules/dataPackingA007822.py +0 -92
  62. /mapFolding/someAssemblyRequired/{mapFolding → mapFoldingModules}/__init__.py +0 -0
  63. {mapfolding-0.16.2.dist-info → mapfolding-0.16.4.dist-info}/WHEEL +0 -0
  64. {mapfolding-0.16.2.dist-info → mapfolding-0.16.4.dist-info}/entry_points.txt +0 -0
  65. {mapfolding-0.16.2.dist-info → mapfolding-0.16.4.dist-info}/licenses/LICENSE +0 -0
  66. {mapfolding-0.16.2.dist-info → mapfolding-0.16.4.dist-info}/top_level.txt +0 -0
@@ -1,79 +0,0 @@
1
- from mapFolding.dataBaskets import (
2
- Array1DElephino, Array1DLeavesTotal, Array3DLeavesTotal, DatatypeElephino, DatatypeFoldsTotal, DatatypeLeavesTotal,
3
- MapFoldingState)
4
- from mapFolding.syntheticModules.A007822.asynchronousAnnex import (
5
- filterAsymmetricFolds, getSymmetricFoldsTotal, initializeConcurrencyManager)
6
- from mapFolding.syntheticModules.A007822.initializeState import transitionOnGroupsOfFolds
7
- from numba import jit
8
-
9
- @jit(cache=True, error_model='numpy', fastmath=True, forceinline=True)
10
- def count(groupsOfFolds: DatatypeFoldsTotal, gap1ndex: DatatypeElephino, gap1ndexCeiling: DatatypeElephino, indexDimension: DatatypeLeavesTotal, indexMiniGap: DatatypeElephino, leaf1ndex: DatatypeLeavesTotal, leafConnectee: DatatypeLeavesTotal, dimensionsUnconstrained: DatatypeLeavesTotal, countDimensionsGapped: Array1DLeavesTotal, gapRangeStart: Array1DElephino, gapsWhere: Array1DLeavesTotal, leafAbove: Array1DLeavesTotal, leafBelow: Array1DLeavesTotal, connectionGraph: Array3DLeavesTotal, dimensionsTotal: DatatypeLeavesTotal, leavesTotal: DatatypeLeavesTotal) -> tuple[DatatypeFoldsTotal, DatatypeElephino, DatatypeElephino, DatatypeLeavesTotal, DatatypeElephino, DatatypeLeavesTotal, DatatypeLeavesTotal, DatatypeLeavesTotal, Array1DLeavesTotal, Array1DElephino, Array1DLeavesTotal, Array1DLeavesTotal, Array1DLeavesTotal, Array3DLeavesTotal, DatatypeLeavesTotal, DatatypeLeavesTotal]:
11
- while leaf1ndex > 4:
12
- if leafBelow[0] == 1:
13
- if leaf1ndex > leavesTotal:
14
- filterAsymmetricFolds(leafBelow)
15
- else:
16
- dimensionsUnconstrained = dimensionsTotal
17
- gap1ndexCeiling = gapRangeStart[leaf1ndex - 1]
18
- indexDimension = 0
19
- while indexDimension < dimensionsTotal:
20
- leafConnectee = connectionGraph[indexDimension, leaf1ndex, leaf1ndex]
21
- if leafConnectee == leaf1ndex:
22
- dimensionsUnconstrained -= 1
23
- else:
24
- while leafConnectee != leaf1ndex:
25
- gapsWhere[gap1ndexCeiling] = leafConnectee
26
- if countDimensionsGapped[leafConnectee] == 0:
27
- gap1ndexCeiling += 1
28
- countDimensionsGapped[leafConnectee] += 1
29
- leafConnectee = connectionGraph[indexDimension, leaf1ndex, leafBelow[leafConnectee]]
30
- indexDimension += 1
31
- indexMiniGap = gap1ndex
32
- while indexMiniGap < gap1ndexCeiling:
33
- gapsWhere[gap1ndex] = gapsWhere[indexMiniGap]
34
- if countDimensionsGapped[gapsWhere[indexMiniGap]] == dimensionsUnconstrained:
35
- gap1ndex += 1
36
- countDimensionsGapped[gapsWhere[indexMiniGap]] = 0
37
- indexMiniGap += 1
38
- while gap1ndex == gapRangeStart[leaf1ndex - 1]:
39
- leaf1ndex -= 1
40
- leafBelow[leafAbove[leaf1ndex]] = leafBelow[leaf1ndex]
41
- leafAbove[leafBelow[leaf1ndex]] = leafAbove[leaf1ndex]
42
- gap1ndex -= 1
43
- leafAbove[leaf1ndex] = gapsWhere[gap1ndex]
44
- leafBelow[leaf1ndex] = leafBelow[leafAbove[leaf1ndex]]
45
- leafBelow[leafAbove[leaf1ndex]] = leaf1ndex
46
- leafAbove[leafBelow[leaf1ndex]] = leaf1ndex
47
- gapRangeStart[leaf1ndex] = gap1ndex
48
- leaf1ndex += 1
49
- return (groupsOfFolds, gap1ndex, gap1ndexCeiling, indexDimension, indexMiniGap, leaf1ndex, leafConnectee, dimensionsUnconstrained, countDimensionsGapped, gapRangeStart, gapsWhere, leafAbove, leafBelow, connectionGraph, dimensionsTotal, leavesTotal)
50
-
51
- def doTheNeedful(state: MapFoldingState, maxWorkers: int | None=None) -> MapFoldingState:
52
- state = transitionOnGroupsOfFolds(state)
53
- initializeConcurrencyManager(maxWorkers, state.groupsOfFolds)
54
- state.groupsOfFolds = 0
55
- mapShape: tuple[DatatypeLeavesTotal, ...] = state.mapShape
56
- groupsOfFolds: DatatypeFoldsTotal = state.groupsOfFolds
57
- gap1ndex: DatatypeElephino = state.gap1ndex
58
- gap1ndexCeiling: DatatypeElephino = state.gap1ndexCeiling
59
- indexDimension: DatatypeLeavesTotal = state.indexDimension
60
- indexLeaf: DatatypeLeavesTotal = state.indexLeaf
61
- indexMiniGap: DatatypeElephino = state.indexMiniGap
62
- leaf1ndex: DatatypeLeavesTotal = state.leaf1ndex
63
- leafConnectee: DatatypeLeavesTotal = state.leafConnectee
64
- dimensionsUnconstrained: DatatypeLeavesTotal = state.dimensionsUnconstrained
65
- countDimensionsGapped: Array1DLeavesTotal = state.countDimensionsGapped
66
- gapRangeStart: Array1DElephino = state.gapRangeStart
67
- gapsWhere: Array1DLeavesTotal = state.gapsWhere
68
- leafAbove: Array1DLeavesTotal = state.leafAbove
69
- leafBelow: Array1DLeavesTotal = state.leafBelow
70
- leafComparison: Array1DLeavesTotal = state.leafComparison
71
- connectionGraph: Array3DLeavesTotal = state.connectionGraph
72
- dimensionsTotal: DatatypeLeavesTotal = state.dimensionsTotal
73
- leavesTotal: DatatypeLeavesTotal = state.leavesTotal
74
- groupsOfFolds, gap1ndex, gap1ndexCeiling, indexDimension, indexMiniGap, leaf1ndex, leafConnectee, dimensionsUnconstrained, countDimensionsGapped, gapRangeStart, gapsWhere, leafAbove, leafBelow, connectionGraph, dimensionsTotal, leavesTotal = count(groupsOfFolds, gap1ndex, gap1ndexCeiling, indexDimension, indexMiniGap, leaf1ndex, leafConnectee, dimensionsUnconstrained, countDimensionsGapped, gapRangeStart, gapsWhere, leafAbove, leafBelow, connectionGraph, dimensionsTotal, leavesTotal)
75
- groupsOfFolds = getSymmetricFoldsTotal()
76
- groupsOfFolds *= 2
77
- groupsOfFolds = (groupsOfFolds + 1) // 2
78
- state = MapFoldingState(mapShape=mapShape, groupsOfFolds=groupsOfFolds, gap1ndex=gap1ndex, gap1ndexCeiling=gap1ndexCeiling, indexDimension=indexDimension, indexLeaf=indexLeaf, indexMiniGap=indexMiniGap, leaf1ndex=leaf1ndex, leafConnectee=leafConnectee, dimensionsUnconstrained=dimensionsUnconstrained, countDimensionsGapped=countDimensionsGapped, gapRangeStart=gapRangeStart, gapsWhere=gapsWhere, leafAbove=leafAbove, leafBelow=leafBelow, leafComparison=leafComparison)
79
- return state
@@ -1,65 +0,0 @@
1
- from mapFolding.dataBaskets import MapFoldingState
2
- from mapFolding.syntheticModules.A007822.asynchronousAnnexNumba import (
3
- filterAsymmetricFolds, getSymmetricFoldsTotal,
4
- initializeConcurrencyManager)
5
- from mapFolding.syntheticModules.A007822.initializeState import \
6
- transitionOnGroupsOfFolds
7
-
8
-
9
- def count(state: MapFoldingState) -> MapFoldingState:
10
- while state.leaf1ndex > 4:
11
- if state.leafBelow[0] == 1:
12
- if state.leaf1ndex > state.leavesTotal:
13
- filterAsymmetricFolds(state.leafBelow)
14
- else:
15
- state.dimensionsUnconstrained = state.dimensionsTotal
16
- state.gap1ndexCeiling = state.gapRangeStart[state.leaf1ndex - 1]
17
- state.indexDimension = 0
18
- while state.indexDimension < state.dimensionsTotal:
19
- state.leafConnectee = state.connectionGraph[state.indexDimension, state.leaf1ndex, state.leaf1ndex]
20
- if state.leafConnectee == state.leaf1ndex:
21
- state.dimensionsUnconstrained -= 1
22
- else:
23
- while state.leafConnectee != state.leaf1ndex:
24
- state.gapsWhere[state.gap1ndexCeiling] = state.leafConnectee
25
- if state.countDimensionsGapped[state.leafConnectee] == 0:
26
- state.gap1ndexCeiling += 1
27
- state.countDimensionsGapped[state.leafConnectee] += 1
28
- state.leafConnectee = state.connectionGraph[state.indexDimension, state.leaf1ndex, state.leafBelow[state.leafConnectee]]
29
- state.indexDimension += 1
30
- if not state.dimensionsUnconstrained:
31
- state.indexLeaf = 0
32
- while state.indexLeaf < state.leaf1ndex:
33
- state.gapsWhere[state.gap1ndexCeiling] = state.indexLeaf
34
- state.gap1ndexCeiling += 1
35
- state.indexLeaf += 1
36
- state.indexMiniGap = state.gap1ndex
37
- while state.indexMiniGap < state.gap1ndexCeiling:
38
- state.gapsWhere[state.gap1ndex] = state.gapsWhere[state.indexMiniGap]
39
- if state.countDimensionsGapped[state.gapsWhere[state.indexMiniGap]] == state.dimensionsUnconstrained:
40
- state.gap1ndex += 1
41
- state.countDimensionsGapped[state.gapsWhere[state.indexMiniGap]] = 0
42
- state.indexMiniGap += 1
43
- while state.gap1ndex == state.gapRangeStart[state.leaf1ndex - 1]:
44
- state.leaf1ndex -= 1
45
- state.leafBelow[state.leafAbove[state.leaf1ndex]] = state.leafBelow[state.leaf1ndex]
46
- state.leafAbove[state.leafBelow[state.leaf1ndex]] = state.leafAbove[state.leaf1ndex]
47
- state.gap1ndex -= 1
48
- state.leafAbove[state.leaf1ndex] = state.gapsWhere[state.gap1ndex]
49
- state.leafBelow[state.leaf1ndex] = state.leafBelow[state.leafAbove[state.leaf1ndex]]
50
- state.leafBelow[state.leafAbove[state.leaf1ndex]] = state.leaf1ndex
51
- state.leafAbove[state.leafBelow[state.leaf1ndex]] = state.leaf1ndex
52
- state.gapRangeStart[state.leaf1ndex] = state.gap1ndex
53
- state.leaf1ndex += 1
54
- else:
55
- state.groupsOfFolds = getSymmetricFoldsTotal()
56
- state.groupsOfFolds *= 2
57
- state.groupsOfFolds = (state.groupsOfFolds + 1) // 2
58
- return state
59
-
60
- def doTheNeedful(state: MapFoldingState, maxWorkers: int | None=None) -> MapFoldingState:
61
- state = transitionOnGroupsOfFolds(state)
62
- initializeConcurrencyManager(maxWorkers, state.groupsOfFolds)
63
- state.groupsOfFolds = 0
64
- state = count(state)
65
- return state
@@ -1,56 +0,0 @@
1
- from mapFolding.dataBaskets import MapFoldingState
2
- from mapFolding.syntheticModules.A007822.asynchronousAnnexNumba import (
3
- filterAsymmetricFolds, getSymmetricFoldsTotal, initializeConcurrencyManager)
4
- from mapFolding.syntheticModules.A007822.initializeState import transitionOnGroupsOfFolds
5
-
6
- def count(state: MapFoldingState) -> MapFoldingState:
7
- while state.leaf1ndex > 4:
8
- if state.leafBelow[0] == 1:
9
- if state.leaf1ndex > state.leavesTotal:
10
- filterAsymmetricFolds(state.leafBelow)
11
- else:
12
- state.dimensionsUnconstrained = state.dimensionsTotal
13
- state.gap1ndexCeiling = state.gapRangeStart[state.leaf1ndex - 1]
14
- state.indexDimension = 0
15
- while state.indexDimension < state.dimensionsTotal:
16
- state.leafConnectee = state.connectionGraph[state.indexDimension, state.leaf1ndex, state.leaf1ndex]
17
- if state.leafConnectee == state.leaf1ndex:
18
- state.dimensionsUnconstrained -= 1
19
- else:
20
- while state.leafConnectee != state.leaf1ndex:
21
- state.gapsWhere[state.gap1ndexCeiling] = state.leafConnectee
22
- if state.countDimensionsGapped[state.leafConnectee] == 0:
23
- state.gap1ndexCeiling += 1
24
- state.countDimensionsGapped[state.leafConnectee] += 1
25
- state.leafConnectee = state.connectionGraph[state.indexDimension, state.leaf1ndex, state.leafBelow[state.leafConnectee]]
26
- state.indexDimension += 1
27
- state.indexMiniGap = state.gap1ndex
28
- while state.indexMiniGap < state.gap1ndexCeiling:
29
- state.gapsWhere[state.gap1ndex] = state.gapsWhere[state.indexMiniGap]
30
- if state.countDimensionsGapped[state.gapsWhere[state.indexMiniGap]] == state.dimensionsUnconstrained:
31
- state.gap1ndex += 1
32
- state.countDimensionsGapped[state.gapsWhere[state.indexMiniGap]] = 0
33
- state.indexMiniGap += 1
34
- while state.gap1ndex == state.gapRangeStart[state.leaf1ndex - 1]:
35
- state.leaf1ndex -= 1
36
- state.leafBelow[state.leafAbove[state.leaf1ndex]] = state.leafBelow[state.leaf1ndex]
37
- state.leafAbove[state.leafBelow[state.leaf1ndex]] = state.leafAbove[state.leaf1ndex]
38
- state.gap1ndex -= 1
39
- state.leafAbove[state.leaf1ndex] = state.gapsWhere[state.gap1ndex]
40
- state.leafBelow[state.leaf1ndex] = state.leafBelow[state.leafAbove[state.leaf1ndex]]
41
- state.leafBelow[state.leafAbove[state.leaf1ndex]] = state.leaf1ndex
42
- state.leafAbove[state.leafBelow[state.leaf1ndex]] = state.leaf1ndex
43
- state.gapRangeStart[state.leaf1ndex] = state.gap1ndex
44
- state.leaf1ndex += 1
45
- else:
46
- state.groupsOfFolds = getSymmetricFoldsTotal()
47
- state.groupsOfFolds *= 2
48
- state.groupsOfFolds = (state.groupsOfFolds + 1) // 2
49
- return state
50
-
51
- def doTheNeedful(state: MapFoldingState, maxWorkers: int | None=None) -> MapFoldingState:
52
- state = transitionOnGroupsOfFolds(state)
53
- initializeConcurrencyManager(maxWorkers, state.groupsOfFolds)
54
- state.groupsOfFolds = 0
55
- state = count(state)
56
- return state
@@ -1,26 +0,0 @@
1
- from mapFolding.dataBaskets import Array1DElephino, Array1DLeavesTotal, Array3DLeavesTotal, DatatypeElephino, DatatypeFoldsTotal, DatatypeLeavesTotal, MapFoldingState
2
- from mapFolding.syntheticModules.theorem2Numba import count
3
-
4
- def sequential(state: MapFoldingState) -> MapFoldingState:
5
- mapShape: tuple[DatatypeLeavesTotal, ...] = state.mapShape
6
- groupsOfFolds: DatatypeFoldsTotal = state.groupsOfFolds
7
- gap1ndex: DatatypeElephino = state.gap1ndex
8
- gap1ndexCeiling: DatatypeElephino = state.gap1ndexCeiling
9
- indexDimension: DatatypeLeavesTotal = state.indexDimension
10
- indexLeaf: DatatypeLeavesTotal = state.indexLeaf
11
- indexMiniGap: DatatypeElephino = state.indexMiniGap
12
- leaf1ndex: DatatypeLeavesTotal = state.leaf1ndex
13
- leafConnectee: DatatypeLeavesTotal = state.leafConnectee
14
- dimensionsUnconstrained: DatatypeLeavesTotal = state.dimensionsUnconstrained
15
- countDimensionsGapped: Array1DLeavesTotal = state.countDimensionsGapped
16
- gapRangeStart: Array1DElephino = state.gapRangeStart
17
- gapsWhere: Array1DLeavesTotal = state.gapsWhere
18
- leafAbove: Array1DLeavesTotal = state.leafAbove
19
- leafBelow: Array1DLeavesTotal = state.leafBelow
20
- leafComparison: Array1DLeavesTotal = state.leafComparison
21
- connectionGraph: Array3DLeavesTotal = state.connectionGraph
22
- dimensionsTotal: DatatypeLeavesTotal = state.dimensionsTotal
23
- leavesTotal: DatatypeLeavesTotal = state.leavesTotal
24
- groupsOfFolds, gap1ndex, gap1ndexCeiling, indexDimension, indexLeaf, indexMiniGap, leaf1ndex, leafConnectee, dimensionsUnconstrained, countDimensionsGapped, gapRangeStart, gapsWhere, leafAbove, leafBelow, connectionGraph, dimensionsTotal, leavesTotal = count(groupsOfFolds, gap1ndex, gap1ndexCeiling, indexDimension, indexLeaf, indexMiniGap, leaf1ndex, leafConnectee, dimensionsUnconstrained, countDimensionsGapped, gapRangeStart, gapsWhere, leafAbove, leafBelow, connectionGraph, dimensionsTotal, leavesTotal)
25
- state = MapFoldingState(mapShape=mapShape, groupsOfFolds=groupsOfFolds, gap1ndex=gap1ndex, gap1ndexCeiling=gap1ndexCeiling, indexDimension=indexDimension, indexLeaf=indexLeaf, indexMiniGap=indexMiniGap, leaf1ndex=leaf1ndex, leafConnectee=leafConnectee, dimensionsUnconstrained=dimensionsUnconstrained, countDimensionsGapped=countDimensionsGapped, gapRangeStart=gapRangeStart, gapsWhere=gapsWhere, leafAbove=leafAbove, leafBelow=leafBelow, leafComparison=leafComparison)
26
- return state
@@ -1,92 +0,0 @@
1
- from collections.abc import Callable
2
- from mapFolding.dataBaskets import (
3
- Array1DElephino, Array1DLeavesTotal, Array3DLeavesTotal, DatatypeElephino, DatatypeFoldsTotal, DatatypeLeavesTotal,
4
- MapFoldingState)
5
-
6
- def unRePackDataclassA007822(callableTarget: Callable[[
7
- DatatypeFoldsTotal, DatatypeElephino, DatatypeElephino, DatatypeLeavesTotal, DatatypeLeavesTotal, DatatypeElephino,
8
- DatatypeLeavesTotal, DatatypeLeavesTotal, DatatypeLeavesTotal, Array1DLeavesTotal, Array1DElephino, Array1DLeavesTotal,
9
- Array1DLeavesTotal, Array1DLeavesTotal, Array1DLeavesTotal, Array3DLeavesTotal, DatatypeLeavesTotal, DatatypeLeavesTotal
10
- ], tuple[
11
- DatatypeFoldsTotal, DatatypeElephino, DatatypeElephino, DatatypeLeavesTotal, DatatypeLeavesTotal, DatatypeElephino,
12
- DatatypeLeavesTotal, DatatypeLeavesTotal, DatatypeLeavesTotal, Array1DLeavesTotal, Array1DElephino, Array1DLeavesTotal,
13
- Array1DLeavesTotal, Array1DLeavesTotal, Array1DLeavesTotal, Array3DLeavesTotal, DatatypeLeavesTotal, DatatypeLeavesTotal
14
- ]]) -> Callable[[MapFoldingState], MapFoldingState]:
15
- def workhorse(state: MapFoldingState) -> MapFoldingState:
16
- mapShape: tuple[DatatypeLeavesTotal, ...] = state.mapShape
17
- groupsOfFolds: DatatypeFoldsTotal = state.groupsOfFolds
18
- gap1ndex: DatatypeElephino = state.gap1ndex
19
- gap1ndexCeiling: DatatypeElephino = state.gap1ndexCeiling
20
- indexDimension: DatatypeLeavesTotal = state.indexDimension
21
- indexLeaf: DatatypeLeavesTotal = state.indexLeaf
22
- indexMiniGap: DatatypeElephino = state.indexMiniGap
23
- leaf1ndex: DatatypeLeavesTotal = state.leaf1ndex
24
- leafConnectee: DatatypeLeavesTotal = state.leafConnectee
25
- dimensionsUnconstrained: DatatypeLeavesTotal = state.dimensionsUnconstrained
26
- countDimensionsGapped: Array1DLeavesTotal = state.countDimensionsGapped
27
- gapRangeStart: Array1DElephino = state.gapRangeStart
28
- gapsWhere: Array1DLeavesTotal = state.gapsWhere
29
- leafAbove: Array1DLeavesTotal = state.leafAbove
30
- leafBelow: Array1DLeavesTotal = state.leafBelow
31
- leafComparison: Array1DLeavesTotal = state.leafComparison
32
- connectionGraph: Array3DLeavesTotal = state.connectionGraph
33
- dimensionsTotal: DatatypeLeavesTotal = state.dimensionsTotal
34
- leavesTotal: DatatypeLeavesTotal = state.leavesTotal
35
-
36
- (groupsOfFolds, gap1ndex, gap1ndexCeiling, indexDimension, indexLeaf, indexMiniGap, leaf1ndex, leafConnectee, dimensionsUnconstrained,
37
- countDimensionsGapped, gapRangeStart, gapsWhere, leafAbove, leafBelow, leafComparison, connectionGraph, dimensionsTotal, leavesTotal
38
- ) = callableTarget(
39
- groupsOfFolds, gap1ndex, gap1ndexCeiling, indexDimension, indexLeaf, indexMiniGap, leaf1ndex, leafConnectee, dimensionsUnconstrained,
40
- countDimensionsGapped, gapRangeStart, gapsWhere, leafAbove, leafBelow, leafComparison, connectionGraph, dimensionsTotal, leavesTotal)
41
-
42
- state = MapFoldingState(mapShape=mapShape, groupsOfFolds=groupsOfFolds, gap1ndex=gap1ndex, gap1ndexCeiling=gap1ndexCeiling,
43
- indexDimension=indexDimension, indexLeaf=indexLeaf, indexMiniGap=indexMiniGap, leaf1ndex=leaf1ndex, leafConnectee=leafConnectee,
44
- dimensionsUnconstrained=dimensionsUnconstrained, countDimensionsGapped=countDimensionsGapped, gapRangeStart=gapRangeStart,
45
- gapsWhere=gapsWhere, leafAbove=leafAbove, leafBelow=leafBelow, leafComparison=leafComparison)
46
- return state
47
-
48
- return workhorse
49
-
50
- def unRePackDataclassAsynchronous(callableTarget: Callable[[
51
- DatatypeFoldsTotal, DatatypeElephino, DatatypeElephino, DatatypeLeavesTotal, DatatypeElephino,
52
- DatatypeLeavesTotal, DatatypeLeavesTotal, DatatypeLeavesTotal, Array1DLeavesTotal, Array1DElephino, Array1DLeavesTotal,
53
- Array1DLeavesTotal, Array1DLeavesTotal, Array3DLeavesTotal, DatatypeLeavesTotal, DatatypeLeavesTotal
54
- ], tuple[
55
- DatatypeFoldsTotal, DatatypeElephino, DatatypeElephino, DatatypeLeavesTotal, DatatypeElephino,
56
- DatatypeLeavesTotal, DatatypeLeavesTotal, DatatypeLeavesTotal, Array1DLeavesTotal, Array1DElephino, Array1DLeavesTotal,
57
- Array1DLeavesTotal, Array1DLeavesTotal, Array3DLeavesTotal, DatatypeLeavesTotal, DatatypeLeavesTotal
58
- ]]) -> Callable[[MapFoldingState], MapFoldingState]:
59
- def workhorse(state: MapFoldingState) -> MapFoldingState:
60
- mapShape: tuple[DatatypeLeavesTotal, ...] = state.mapShape
61
- groupsOfFolds: DatatypeFoldsTotal = state.groupsOfFolds
62
- gap1ndex: DatatypeElephino = state.gap1ndex
63
- gap1ndexCeiling: DatatypeElephino = state.gap1ndexCeiling
64
- indexDimension: DatatypeLeavesTotal = state.indexDimension
65
- indexLeaf: DatatypeLeavesTotal = state.indexLeaf
66
- indexMiniGap: DatatypeElephino = state.indexMiniGap
67
- leaf1ndex: DatatypeLeavesTotal = state.leaf1ndex
68
- leafConnectee: DatatypeLeavesTotal = state.leafConnectee
69
- dimensionsUnconstrained: DatatypeLeavesTotal = state.dimensionsUnconstrained
70
- countDimensionsGapped: Array1DLeavesTotal = state.countDimensionsGapped
71
- gapRangeStart: Array1DElephino = state.gapRangeStart
72
- gapsWhere: Array1DLeavesTotal = state.gapsWhere
73
- leafAbove: Array1DLeavesTotal = state.leafAbove
74
- leafBelow: Array1DLeavesTotal = state.leafBelow
75
- leafComparison: Array1DLeavesTotal = state.leafComparison
76
- connectionGraph: Array3DLeavesTotal = state.connectionGraph
77
- dimensionsTotal: DatatypeLeavesTotal = state.dimensionsTotal
78
- leavesTotal: DatatypeLeavesTotal = state.leavesTotal
79
-
80
- (groupsOfFolds, gap1ndex, gap1ndexCeiling, indexDimension, indexMiniGap, leaf1ndex, leafConnectee, dimensionsUnconstrained,
81
- countDimensionsGapped, gapRangeStart, gapsWhere, leafAbove, leafBelow, connectionGraph, dimensionsTotal, leavesTotal
82
- ) = callableTarget(
83
- groupsOfFolds, gap1ndex, gap1ndexCeiling, indexDimension, indexMiniGap, leaf1ndex, leafConnectee, dimensionsUnconstrained,
84
- countDimensionsGapped, gapRangeStart, gapsWhere, leafAbove, leafBelow, connectionGraph, dimensionsTotal, leavesTotal)
85
-
86
- state = MapFoldingState(mapShape=mapShape, groupsOfFolds=groupsOfFolds, gap1ndex=gap1ndex, gap1ndexCeiling=gap1ndexCeiling,
87
- indexDimension=indexDimension, indexLeaf=indexLeaf, indexMiniGap=indexMiniGap, leaf1ndex=leaf1ndex, leafConnectee=leafConnectee,
88
- dimensionsUnconstrained=dimensionsUnconstrained, countDimensionsGapped=countDimensionsGapped, gapRangeStart=gapRangeStart,
89
- gapsWhere=gapsWhere, leafAbove=leafAbove, leafBelow=leafBelow, leafComparison=leafComparison)
90
- return state
91
-
92
- return workhorse