mapFolding 0.15.1__py3-none-any.whl → 0.15.3__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 (33) hide show
  1. mapFolding/_oeisFormulas/A000682.py +70 -2
  2. mapFolding/_oeisFormulas/A001010.py +11 -10
  3. mapFolding/_oeisFormulas/A001011.py +5 -0
  4. mapFolding/_oeisFormulas/Z0Z_aOFn.py +17 -4
  5. mapFolding/_oeisFormulas/Z0Z_notes.py +16 -0
  6. mapFolding/_oeisFormulas/Z0Z_oeisMeanders.py +35 -21
  7. mapFolding/_oeisFormulas/Z0Z_symmetry.py +131 -0
  8. mapFolding/_oeisFormulas/matrixMeanders.py +31 -23
  9. mapFolding/_oeisFormulas/matrixMeanders64.py +152 -0
  10. mapFolding/_oeisFormulas/matrixMeandersAnnex.py +1 -1
  11. mapFolding/_theSSOT.py +1 -1
  12. mapFolding/_theTypes.py +1 -1
  13. mapFolding/basecamp.py +52 -66
  14. mapFolding/reference/matrixMeandersBaselineV2.py +133 -0
  15. mapFolding/someAssemblyRequired/A007822rawMaterials.py +1 -1
  16. mapFolding/someAssemblyRequired/makeAllModules.py +4 -15
  17. mapFolding/someAssemblyRequired/makeJobTheorem2codon.py +5 -4
  18. mapFolding/syntheticModules/algorithmA007822.py +1 -1
  19. mapFolding/syntheticModules/algorithmA007822Numba.py +1 -1
  20. mapFolding/syntheticModules/dataPackingA007822.py +26 -0
  21. mapFolding/syntheticModules/initializeStateA007822.py +1 -1
  22. mapFolding/syntheticModules/theorem2A007822.py +1 -1
  23. mapFolding/syntheticModules/theorem2A007822Numba.py +3 -4
  24. mapFolding/syntheticModules/theorem2A007822Trimmed.py +1 -1
  25. mapFolding/syntheticModules/theorem2Numba.py +2 -3
  26. mapFolding/tests/conftest.py +2 -1
  27. mapFolding/tests/test_computations.py +48 -41
  28. {mapfolding-0.15.1.dist-info → mapfolding-0.15.3.dist-info}/METADATA +3 -2
  29. {mapfolding-0.15.1.dist-info → mapfolding-0.15.3.dist-info}/RECORD +33 -27
  30. {mapfolding-0.15.1.dist-info → mapfolding-0.15.3.dist-info}/WHEEL +0 -0
  31. {mapfolding-0.15.1.dist-info → mapfolding-0.15.3.dist-info}/entry_points.txt +0 -0
  32. {mapfolding-0.15.1.dist-info → mapfolding-0.15.3.dist-info}/licenses/LICENSE +0 -0
  33. {mapfolding-0.15.1.dist-info → mapfolding-0.15.3.dist-info}/top_level.txt +0 -0
@@ -26,6 +26,7 @@ which is useful if you're working with the code synthesis features of the packag
26
26
  """
27
27
 
28
28
  from mapFolding import countFolds, getFoldsTotalKnown, oeisIDfor_n
29
+ from mapFolding._oeisFormulas.Z0Z_oeisMeanders import dictionaryOEISMeanders
29
30
  from mapFolding.dataBaskets import MapFoldingState
30
31
  from mapFolding.oeis import dictionaryOEIS
31
32
  from mapFolding.someAssemblyRequired.makeAllModules import parametersNumbaLight
@@ -41,34 +42,9 @@ import pytest
41
42
  if __name__ == '__main__':
42
43
  multiprocessing.set_start_method('spawn')
43
44
 
44
- @pytest.mark.parametrize('flow', ['daoOfMapFolding', 'numba', 'theorem2', 'theorem2numba', 'theorem2Trimmed'])
45
- def test_flowControl(mapShapeTestCountFolds: tuple[int, ...], flow: str) -> None:
46
- """Validate that different computational flows produce identical results.
47
-
48
- (AI generated docstring)
49
-
50
- This is the primary test for ensuring mathematical consistency across different
51
- algorithmic implementations. When adding a new computational approach, include
52
- it in the parametrized flow list to verify it produces correct results.
53
-
54
- The test compares the output of each flow against known correct values from
55
- OEIS sequences, ensuring that optimization techniques don't compromise accuracy.
56
-
57
- Parameters
58
- ----------
59
- mapShapeTestCountFolds : tuple[int, ...]
60
- The map shape dimensions to test fold counting for.
61
- flow : Literal['daoOfMapFolding', 'theorem2', 'theorem2numba']
62
- The computational flow algorithm to validate.
63
-
64
- """
65
- standardizedEqualToCallableReturn(getFoldsTotalKnown(mapShapeTestCountFolds), countFolds, None, None, None, None, mapShapeTestCountFolds, None, None, flow)
66
-
67
45
  def test_aOFn_calculate_value(oeisID: str) -> None:
68
46
  """Verify OEIS sequence value calculations against known reference values.
69
47
 
70
- (AI generated docstring)
71
-
72
48
  Tests the `oeisIDfor_n` function by comparing its calculated output against
73
49
  known correct values from the OEIS database. This ensures that sequence
74
50
  value computations remain mathematically accurate across code changes.
@@ -86,30 +62,61 @@ def test_aOFn_calculate_value(oeisID: str) -> None:
86
62
  for n in dictionaryOEIS[oeisID]['valuesTestValidation']:
87
63
  standardizedEqualToCallableReturn(dictionaryOEIS[oeisID]['valuesKnown'][n], oeisIDfor_n, oeisID, n)
88
64
 
89
- @pytest.mark.parametrize('flow', ['numba', 'theorem2', 'theorem2numba', 'theorem2Trimmed'])
90
- def test_flowControlByOEISid(flow: str) -> None:
91
- """Crappy.
92
-
93
- I'm making this while pushing through pain, so it's not great but it's a step in the right direction.
65
+ @pytest.mark.parametrize('flow', ['daoOfMapFolding', 'numba', 'theorem2', 'theorem2Numba', 'theorem2Trimmed'])
66
+ def test_flowControl(mapShapeTestCountFolds: tuple[int, ...], flow: str) -> None:
67
+ """Validate that different computational flows produce valid results.
94
68
 
95
- Notes for future me:
69
+ (AI generated docstring)
96
70
 
97
- `oeisID` is a fixture: don't use it here.
71
+ This is the primary test for ensuring mathematical consistency across different
72
+ algorithmic implementations. When adding a new computational approach, include
73
+ it in the parametrized flow list to verify it produces correct results.
98
74
 
99
- `OEISid` matches `test_flowControlByOEISid`. It's pseudo-hardcoded to A007822 because that's currently the only OEISid that needs this test.
100
- I tried:
101
- `def test_flowControlByOEISid(OEISid: str | None, flow: str) -> None:`
75
+ The test compares the output of each flow against known correct values from
76
+ OEIS sequences, ensuring that optimization techniques don't compromise accuracy.
102
77
 
103
- But that's wrong.
78
+ Parameters
79
+ ----------
80
+ mapShapeTestCountFolds : tuple[int, ...]
81
+ The map shape dimensions to test fold counting for.
82
+ flow : str
83
+ The computational flow algorithm to validate.
104
84
 
105
- So, I'm changing the local identifier `OEISid` back to `oeisID` because I use `oeisID` everywhere else.
106
85
  """
86
+ standardizedEqualToCallableReturn(getFoldsTotalKnown(mapShapeTestCountFolds), countFolds, None, None, None, None, mapShapeTestCountFolds, None, None, flow)
107
87
 
108
- oeisID = 'A007822'
88
+ @pytest.mark.parametrize('flow', ['daoOfMapFolding', 'numba', 'theorem2', 'theorem2Numba', 'theorem2Trimmed'])
89
+ def test_flowControlByOEISid(oeisID: str, flow: str) -> None:
90
+ """Validate that different flow paths using oeisID produce valid results.
109
91
 
110
- for n in dictionaryOEIS[oeisID]['valuesTestValidation']:
111
- mapShape = dictionaryOEIS[oeisID]['getMapShape'](n)
112
- standardizedEqualToCallableReturn(dictionaryOEIS[oeisID]['valuesKnown'][n], countFolds, None, None, None, None, mapShape, oeisID, None, flow)
92
+ Parameters
93
+ ----------
94
+ oeisID : str
95
+ The OEIS sequence identifier to test.
96
+ flow : str
97
+ The computational flow algorithm to validate.
98
+
99
+ """
100
+ listDimensions = None
101
+ pathLikeWriteFoldsTotal = None
102
+ computationDivisions = None
103
+ CPUlimit = None
104
+ mapShape = None
105
+
106
+ oeis_n = 2
107
+ for oeis_n in dictionaryOEIS[oeisID]['valuesTestValidation']:
108
+ if oeis_n < 2:
109
+ continue
110
+
111
+ if oeisID in dictionaryOEISMeanders:
112
+ expected = dictionaryOEISMeanders[oeisID]['valuesKnown'][oeis_n]
113
+ else:
114
+ expected = dictionaryOEIS[oeisID]['valuesKnown'][oeis_n]
115
+
116
+ standardizedEqualToCallableReturn(
117
+ expected
118
+ , countFolds, listDimensions, pathLikeWriteFoldsTotal, computationDivisions, CPUlimit, mapShape
119
+ , oeisID, oeis_n, flow)
113
120
 
114
121
  @pytest.mark.parametrize('pathFilename_tmpTesting', ['.py'], indirect=True)
115
122
  def test_writeJobNumba(oneTestCuzTestsOverwritingTests: tuple[int, ...], pathFilename_tmpTesting: Path) -> None:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mapFolding
3
- Version: 0.15.1
3
+ Version: 0.15.3
4
4
  Summary: Map folding, meanders, stamp folding, semi-meanders. Experiment with algorithm transformations and code optimization.
5
5
  Author-email: Hunter Hogan <HunterHogan@pm.me>
6
6
  License: CC-BY-NC-4.0
@@ -8,7 +8,7 @@ Project-URL: Donate, https://www.patreon.com/integrated
8
8
  Project-URL: Homepage, https://github.com/hunterhogan/mapFolding
9
9
  Project-URL: Issues, https://github.com/hunterhogan/mapFolding/issues
10
10
  Project-URL: Repository, https://github.com/hunterhogan/mapFolding.git
11
- Keywords: A000136,A000560,A000682,A001415,A001416,A001417,A001418,A005315,A005316,A007822,A195646,A223094,A259702,A301620,abstract syntax tree,algorithmic combinatorics,algorithmic optimization,arch configurations,AST manipulation,automated code generation,bit-packed arrays,bitwise state machines,cache-efficient algorithms,closed meandric numbers,code generation,code optimization,code synthesis,code transformation,codon optimization,combinatorial computing,combinatorial enumeration,combinatorial geometry,combinatorial mathematics,combinatorial problem solver,combinatorics,computational combinatorics,computational geometry,crossing patterns,curve crossings,dataclass transformation,discrete mathematics,dynamic compilation,enumerative combinatorics,folding pattern enumeration,folding problems,GPU acceleration,high-performance computing,integer sequences,JIT compilation,just-in-time compilation,kernel optimization,labeled stamp folding,low-level computation,map folding,mapFolding,mathematical algorithms,mathematical modeling,mathematical optimization,mathematical patterns,mathematical software,mathematical tool,mathematical visualization,meander enumeration,meanders,meandric systems,memory-efficient enumeration,metaprogramming,Numba optimization,numerical algorithms,numerical computation,OEIS,open meandric systems,paper folding mathematics,parallel computing,pattern recognition,performance optimization,permutation patterns,permutations,post-setup optimization,pyproject,Python optimization,scientific computing,semi-meanders,sequence analysis,sequence calculator,sequence enumeration,sequence explorer,sequence generation,source code analysis,stamp folding,symbolic computation,symmetric foldings,topological combinatorics,topological patterns,typed Python
11
+ Keywords: A000136,A000560,A000682,A001010,A001011,A001415,A001416,A001417,A001418,A005315,A005316,A007822,A195646,A223094,A259702,A301620,AST manipulation,GPU acceleration,JIT compilation,Numba optimization,OEIS,Python optimization,abstract syntax tree,algorithmic combinatorics,algorithmic optimization,arch configurations,automated code generation,bit-packed arrays,bitwise state machines,cache-efficient algorithms,closed meandric numbers,code generation,code optimization,code synthesis,code transformation,codon optimization,combinatorial computing,combinatorial enumeration,combinatorial geometry,combinatorial mathematics,combinatorial problem solver,combinatorics,computational combinatorics,computational geometry,crossing patterns,curve crossings,dataclass transformation,discrete mathematics,dynamic compilation,enumerative combinatorics,folding pattern enumeration,folding problems,high-performance computing,integer sequences,just-in-time compilation,kernel optimization,labeled stamp folding,low-level computation,map folding,mapFolding,mathematical algorithms,mathematical modeling,mathematical optimization,mathematical patterns,mathematical software,mathematical tool,mathematical visualization,meander enumeration,meanders,meandric systems,memory-efficient enumeration,metaprogramming,numerical algorithms,numerical computation,open meandric systems,paper folding mathematics,parallel computing,pattern recognition,performance optimization,permutation patterns,permutations,post-setup optimization,pyproject,scientific computing,semi-meanders,sequence analysis,sequence calculator,sequence enumeration,sequence explorer,sequence generation,source code analysis,stamp folding,symbolic computation,symmetric foldings,topological combinatorics,topological patterns,typed Python
12
12
  Classifier: Development Status :: 4 - Beta
13
13
  Classifier: Environment :: Console
14
14
  Classifier: Intended Audience :: Developers
@@ -39,6 +39,7 @@ Requires-Dist: hunterMakesPy
39
39
  Requires-Dist: numpy
40
40
  Requires-Dist: platformdirs
41
41
  Provides-Extra: development
42
+ Requires-Dist: memray; sys_platform == "linux" and extra == "development"
42
43
  Requires-Dist: mypy; extra == "development"
43
44
  Requires-Dist: pyupgrade; extra == "development"
44
45
  Requires-Dist: py-spy; extra == "development"
@@ -1,7 +1,7 @@
1
1
  mapFolding/__init__.py,sha256=UqUsMLADRoBiWI7YTwQqdP7gnoQ2HrerquHXPRTPeFM,3703
2
- mapFolding/_theSSOT.py,sha256=s2yx72OMJIQEFM_x-UpPuS8uzGEyt9hS4aCKU2GWERA,4832
3
- mapFolding/_theTypes.py,sha256=wzr05TeV6gp7OlMNKvmP2yR5LI94BrBUWHe_7zXJRyM,3677
4
- mapFolding/basecamp.py,sha256=h0NszV2Abm_x6_mOitv-wrhmPES4Cr-RTrZufxK4pv4,12968
2
+ mapFolding/_theSSOT.py,sha256=nmZF-licd9nBMEFD8o-7M8eMIRMKJsxB6IokVWSpa0Y,4832
3
+ mapFolding/_theTypes.py,sha256=BQnby53q7cbX11yOHXTW663R6ODHRoDGZqVCUN3v2Bo,3683
4
+ mapFolding/basecamp.py,sha256=kn_agLy_kQj0OxGdjxr5hp2S8lKaL2XJFrHQiktBLzI,12984
5
5
  mapFolding/beDRY.py,sha256=iYATcrYrAWkKaAecjA_awELBtZP5Q3snU4053dIsEwU,13941
6
6
  mapFolding/daoOfMapFolding.py,sha256=yLqaAqMwHIVFAtig3T46aZZQLAjCtQzYoAi0iMs_2CY,5482
7
7
  mapFolding/dataBaskets.py,sha256=04tVULSbWbPkKkLjTofWfVOr6gWcs38XILvU0-ftHIU,15191
@@ -10,18 +10,22 @@ mapFolding/oeis.py,sha256=nP_-cSNMkEsC0VWD93AqTO4lA7VFfkVsG-c3DnkwsaU,19093
10
10
  mapFolding/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
11
  mapFolding/_oeisFormulas/A000136.py,sha256=G_vqOdb6s_YBbrCkHKjQDnlYfOZ4suXRtie6bRI7hhE,105
12
12
  mapFolding/_oeisFormulas/A000560.py,sha256=sN5-BAjL0oDk7YXZ2kx7ffBDX-gC28mmOj4CxHkM36c,113
13
- mapFolding/_oeisFormulas/A000682.py,sha256=w1u9ECjqw32IA_crWkdcFt_iojfmA7Js1ps8AEYb6es,516
14
- mapFolding/_oeisFormulas/A001010.py,sha256=RNjqbxr50ENSy9ygIo3kbQwDHDh1_NbkNrCc3r8Av_I,403
13
+ mapFolding/_oeisFormulas/A000682.py,sha256=rO37K3iBVg6iLPhJtiPnl5LK5A2CoTHmV2U4rAPZzIc,3415
14
+ mapFolding/_oeisFormulas/A001010.py,sha256=-QjtVNo34EqOeQjOufuI32b7e6gn1aj5I5j_I_aAlyo,431
15
+ mapFolding/_oeisFormulas/A001011.py,sha256=IlPvOdz0tSGSKTxKXTFYD41fO1N0TtUwwgvewbbteQs,177
15
16
  mapFolding/_oeisFormulas/A005315.py,sha256=g1P52zUuWCLFbTb_i6U75sVzXfUGaCM3rJonXNRgVr4,109
16
17
  mapFolding/_oeisFormulas/A005316.py,sha256=3B4_2TT_ip3CcYngEaFS-rTNDx-x2TZ0r_J0f8IMJbQ,234
17
18
  mapFolding/_oeisFormulas/A223094.py,sha256=z7t6RcRQlhXdbYImIER15KwG1_W7iV4MNIRDx9Q_Efs,284
18
19
  mapFolding/_oeisFormulas/A259702.py,sha256=9hUs8jzwOnJGmBsueS1yGsLjau4YVa0Yd9lYMG8UFso,123
19
20
  mapFolding/_oeisFormulas/A301620.py,sha256=pY0OJsCLhIEDHQUKpeSMTZ2SUFvcqt83uCOPE_lZCsw,225
20
- mapFolding/_oeisFormulas/Z0Z_aOFn.py,sha256=HadJifbcq8s5KrdhlPCP9r3gsh6AZHyN_M4_JTNoXiY,728
21
- mapFolding/_oeisFormulas/Z0Z_oeisMeanders.py,sha256=YAWQQ1DgCtok3DBBRsTIaYJiTntnPoOHwolxIonkluo,1981
21
+ mapFolding/_oeisFormulas/Z0Z_aOFn.py,sha256=aH0SEXnmnW_U7kJZLqu7IwLz06rNyT9Qo3631fgVDX0,1096
22
+ mapFolding/_oeisFormulas/Z0Z_notes.py,sha256=V1w42d1loZJ_Zu3TneViZDqsJPFaPuGuyvbYe0cdWf8,1060
23
+ mapFolding/_oeisFormulas/Z0Z_oeisMeanders.py,sha256=pN2cawDvwpN-uSkgKqpOk2ddr8bg38ZOjVd6WMI4wC0,2785
24
+ mapFolding/_oeisFormulas/Z0Z_symmetry.py,sha256=hgI-79X3BeG3tT4MOU2XXEHfWq53G3Sr0YpviRFg2rI,4173
22
25
  mapFolding/_oeisFormulas/__init__.py,sha256=n83beVb7HHplXYAM5HveaIAuR7KrJG99OaNHJGMb_uc,44
23
- mapFolding/_oeisFormulas/matrixMeanders.py,sha256=Qk7S2dTpfZp-5bg--Qsspb2voOTBeLLQd7J_iQH3OpE,7356
24
- mapFolding/_oeisFormulas/matrixMeandersAnnex.py,sha256=UdSZCI9PtiuPCFTT6kLQZY7uoalaOkYzcR5VXUN8v1U,5793
26
+ mapFolding/_oeisFormulas/matrixMeanders.py,sha256=84EYLaILzF683nBt644AEf3-EtxfFuZ-DBV1NNP3wWA,7602
27
+ mapFolding/_oeisFormulas/matrixMeanders64.py,sha256=7JVkfzjNP7xYkK5VM_ahPoJ1bu1tD4BlFCGggSHocas,9253
28
+ mapFolding/_oeisFormulas/matrixMeandersAnnex.py,sha256=ly4ZTMxdAffHCsIjiembakIDyMiRjAfj1MSZMzsCP9E,5754
25
29
  mapFolding/reference/A005316JavaPort.py,sha256=6qqTzbD3PTwYGtqaywEURGXtNFx1lp8ofEwpQeEvAHc,4899
26
30
  mapFolding/reference/A005316imperative.py,sha256=hhjUxELOktNBmHrwIoxVA-mcFsOWgg01p780OBeqL04,3816
27
31
  mapFolding/reference/A005316intOptimized.py,sha256=oO9ktdYeFwtosVp5KliwH8JmCSxfjapjBM1iMECuDAc,4121
@@ -38,6 +42,7 @@ mapFolding/reference/lunnonNumpy.py,sha256=mMgrgbrBpe4nmo72ThEI-MGH0OwEHmfMPczSX
38
42
  mapFolding/reference/lunnonWhile.py,sha256=ZL8GAQtPs5nJZSgoDl5USrLSS_zs03y98y1Z9E4jOmQ,3799
39
43
  mapFolding/reference/matrixMeandersBaseline.py,sha256=8Z98MMfhTCdoa75HWZz4DO166EiHZCu5eHeFzhgK42s,3003
40
44
  mapFolding/reference/matrixMeandersBaselineAnnex.py,sha256=d2Oh4JZxz53ox_ArhIxpMTOuA7rtE9wnEPojpFcnlfc,5817
45
+ mapFolding/reference/matrixMeandersBaselineV2.py,sha256=VpRiIGhnk-DbxwsHwCeCwXqcKLSNyHl-iRGLDH9ZGMY,7674
41
46
  mapFolding/reference/matrixMeandersSimpleQueue.py,sha256=pOfaS315OKIBG9GSqSJwUDcEhfnV2XduM9IPqHrBvJg,4083
42
47
  mapFolding/reference/matrixMeandersSlicePop.py,sha256=XyiesSQAH1dRplYx_CdR1FzcXvgmmxzj27V4aIqPp7o,5353
43
48
  mapFolding/reference/rotatedEntryPoint.py,sha256=3IJU7Hc2PDSE71wmSkDs4Z3t0Px9NBSzmCsVrgQuQyU,10274
@@ -45,42 +50,43 @@ mapFolding/reference/total_countPlus1vsPlusN.py,sha256=yJZAVLVdoXqHag2_N6_6CT-Q6
45
50
  mapFolding/reference/jobsCompleted/__init__.py,sha256=TU93ZGUW1xEkT6d9mQFn_rp5DvRy0ZslEB2Q6MF5ZDc,2596
46
51
  mapFolding/reference/jobsCompleted/[2x19]/p2x19.py,sha256=_tvYtfzMWVo2VtUbIAieoscb4N8FFflgTdW4-ljBUuA,19626
47
52
  mapFolding/reference/jobsCompleted/p2x19/p2x19.py,sha256=eZEw4Me4ocTt6VXoK2-Sbd5SowZtxRIbN9dZmc7OCVg,6395
48
- mapFolding/someAssemblyRequired/A007822rawMaterials.py,sha256=I1lZyQ_4H7Ey07diN-0Ai7c-NUaV4ffFsZCUWdELXjc,1701
53
+ mapFolding/someAssemblyRequired/A007822rawMaterials.py,sha256=_IeOaxuA3IoHzsrm7qRPO_M1ZT09ATLJl7xpTXiqg8E,1697
49
54
  mapFolding/someAssemblyRequired/RecipeJob.py,sha256=yGGPHq9JX-Gf7QlJz50EPpkO7sADwGvSZNA1aC_F_PQ,9866
50
55
  mapFolding/someAssemblyRequired/__init__.py,sha256=UNDh6O86jT5ywlw9LgeWsUHwOfNvoMJRDAzYXbwCbeM,5779
51
56
  mapFolding/someAssemblyRequired/_toolIfThis.py,sha256=VDZC10Xo3E1Y5n6FmaBBbOBR-rinV9DFkpgw8zrDyzg,6339
52
57
  mapFolding/someAssemblyRequired/_toolkitContainers.py,sha256=Xbo1QJT8KtrWcAvQ-eLzOEzR8N78WfF43fJKGRIebA4,13625
53
58
  mapFolding/someAssemblyRequired/getLLVMforNoReason.py,sha256=tY0-2K0BFkwLAAjSrFJLPoG8CevDHOFc3OH3TxXANzg,2806
54
59
  mapFolding/someAssemblyRequired/infoBooth.py,sha256=GWiqnHbqk7te_pvVuk4G_gbFa_W2aeSx19w4pakvqfM,2300
55
- mapFolding/someAssemblyRequired/makeAllModules.py,sha256=iDFHyRLifADM3Uv2kI71G35uw2te0PVecfS0uNggZcM,44981
60
+ mapFolding/someAssemblyRequired/makeAllModules.py,sha256=mNIT-qUJt75qJLTCVElbZPIZNH36qOG3akAJ57JerTo,44490
56
61
  mapFolding/someAssemblyRequired/makeJobTheorem2Numba.py,sha256=wflkPttFID9vao4C4CohoUCYgbMWD7GhZ7TO9h5mwtE,17196
57
- mapFolding/someAssemblyRequired/makeJobTheorem2codon.py,sha256=EPcrnHrK_TBqVB5uLvHz-XLcjaNYUhfQZCNaROCS1Oo,11326
62
+ mapFolding/someAssemblyRequired/makeJobTheorem2codon.py,sha256=JasXcDMBVO1t0m84z1Q3T30dIZCteLsxVUK0QL3jYdA,11495
58
63
  mapFolding/someAssemblyRequired/toolkitNumba.py,sha256=nCCVsGidAlcKRVAvA__hu4bXtat3B-cO9YloKtqOAc4,14919
59
64
  mapFolding/someAssemblyRequired/transformationTools.py,sha256=nPGZsvb5GquaCCxdDh_XzNIZYSiVJpWKd7wfhfRvxnk,11512
60
65
  mapFolding/syntheticModules/__init__.py,sha256=evVFqhCGa-WZKDiLcnQWjs-Bj34eRnfSLqz_d7dFYZY,83
61
- mapFolding/syntheticModules/algorithmA007822.py,sha256=0Nsi-l9it4Wd9TACEecvOh02as_6gZJ9IsLcbVhZLFE,7078
62
- mapFolding/syntheticModules/algorithmA007822Numba.py,sha256=Tiychj5ST0Mxsw7KVp9Movdor5-deRb0tnfTbXA_RTc,7226
66
+ mapFolding/syntheticModules/algorithmA007822.py,sha256=rJHwImwcFGAysYoNME79qmNhoa3ebRgXb7ktKZLtSZ8,7074
67
+ mapFolding/syntheticModules/algorithmA007822Numba.py,sha256=k7w-TicOkjV05bYPNK5s0kzWrBzS3EfVfQafZxBBa1Q,7222
63
68
  mapFolding/syntheticModules/countParallelNumba.py,sha256=6sHWzGc6ch3HjKVB8krvaBec_KoHv3gpfN_F5Vl1SP8,7870
64
69
  mapFolding/syntheticModules/daoOfMapFoldingNumba.py,sha256=5oMb8pttNKslN6wss9JIQXSnmjgE2q_2-3fIrh1pEW0,6033
65
70
  mapFolding/syntheticModules/dataPacking.py,sha256=SzRmDNr2OZP6Xk4krLqxTuWAUtUJxBDXmHEqlBHzNPI,2407
71
+ mapFolding/syntheticModules/dataPackingA007822.py,sha256=NeE6ohIx2yRIA25L58NbX3sd5OLPB9LkTqfeFjvUs3Y,2468
66
72
  mapFolding/syntheticModules/initializeState.py,sha256=OTiVi1Ywnlwk8tbwSIFjPJa_yBCINoapaCzGXDAJq_k,3121
67
- mapFolding/syntheticModules/initializeStateA007822.py,sha256=7Qd-ggF5RcSKXyCnw7PehEVuAlfED6rnqlJokqmSuJ4,4348
73
+ mapFolding/syntheticModules/initializeStateA007822.py,sha256=qizwxyNqKSgnF4MyBWU8Nca9IRbTnp-rrUAirF-ZL-E,4344
68
74
  mapFolding/syntheticModules/theorem2.py,sha256=QeXkBScihDatBk4iEMOMSntvhyJISb0G8zwZMQe7JFc,3031
69
- mapFolding/syntheticModules/theorem2A007822.py,sha256=SaJpHt0juljfHYR1XZMYHkYmLCHu-bpGhf3fky39RUc,4258
70
- mapFolding/syntheticModules/theorem2A007822Numba.py,sha256=YczC1RX4G7-vCmTlfAZb6YOeZSR9chH2oumaTPzul9Q,4646
71
- mapFolding/syntheticModules/theorem2A007822Trimmed.py,sha256=gaTWsTJoDgCf-cW3gyheU9j2cj_R8CNvrnAp7lzv_8s,3926
72
- mapFolding/syntheticModules/theorem2Numba.py,sha256=QpOpNdgjXTqlkgamgEKYSUxm3W9WXIUuci6HN-ZeHd0,3421
75
+ mapFolding/syntheticModules/theorem2A007822.py,sha256=HflJuuOj6b_cF6zEKmLy74Nzv_7jFrqLmjsN05XM4KQ,4254
76
+ mapFolding/syntheticModules/theorem2A007822Numba.py,sha256=GppP_WntOrcFSIpIk6jP7PlAb4PlskzEBqfKOJaisSA,4637
77
+ mapFolding/syntheticModules/theorem2A007822Trimmed.py,sha256=ekbKQ_FIZgaQ9m7NrxDimx5dM2PBDIReGBtpv23jpNc,3922
78
+ mapFolding/syntheticModules/theorem2Numba.py,sha256=AFe-KI97ilPgPFA22ASAhfUetaTA249K7By_vqu1Crs,3416
73
79
  mapFolding/syntheticModules/theorem2Trimmed.py,sha256=geKX3So1SqhENlKeEO2dV6S3rGsxBp-AItB4hRbwbBI,2699
74
80
  mapFolding/tests/__init__.py,sha256=QVCHSMFVvTxV3mAyYOLkMFAFyBJ514zdoVnDmpBJnTo,1336
75
- mapFolding/tests/conftest.py,sha256=VZ9l0Vd2d-hdp6cVBmsTkYA7FZIH0cEgdeJx844oe3A,14624
76
- mapFolding/tests/test_computations.py,sha256=I1FJ5YRat16TCn_YfgiQQgej1bfE986WhV6k0YRXKhA,7461
81
+ mapFolding/tests/conftest.py,sha256=IveGDDJrdbeyf4gZ7-V_3WGAzKkMfwu8mksRe8ZSZCs,14625
82
+ mapFolding/tests/test_computations.py,sha256=tCrJCYT2akUu_jYJudL4jZWRTTEwDMF5mOyxILSSOyM,7465
77
83
  mapFolding/tests/test_filesystem.py,sha256=0rYQ62f4e3HOoymXrxDWbqNEBJQ7DGN8RUOMI84tE2Q,3892
78
84
  mapFolding/tests/test_oeis.py,sha256=ejqaOMB61c1oUEBblPPBG9hFFXffpKuIS0CJMe7Rd1o,5497
79
85
  mapFolding/tests/test_other.py,sha256=ScBiJ78LnyAaW-RhxcouX6Xw10wgpSdqfvT4LO3WjnQ,4766
80
86
  mapFolding/tests/test_tasks.py,sha256=_pr9JRWjjNKA7sww70XvkJJdGPruBVzubM63RmD_Du0,4013
81
- mapfolding-0.15.1.dist-info/licenses/LICENSE,sha256=NxH5Y8BdC-gNU-WSMwim3uMbID2iNDXJz7fHtuTdXhk,19346
82
- mapfolding-0.15.1.dist-info/METADATA,sha256=tkbrNRprL4Wz2OaQ7p-9bk-yOKyqO6hR1KCHu4ktj-M,5144
83
- mapfolding-0.15.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
84
- mapfolding-0.15.1.dist-info/entry_points.txt,sha256=F3OUeZR1XDTpoH7k3wXuRb3KF_kXTTeYhu5AGK1SiOQ,146
85
- mapfolding-0.15.1.dist-info/top_level.txt,sha256=aG3bjFBoxxuaV3Iu1wZAd241Ubs3cdaJtKYBQBDIjsg,11
86
- mapfolding-0.15.1.dist-info/RECORD,,
87
+ mapfolding-0.15.3.dist-info/licenses/LICENSE,sha256=NxH5Y8BdC-gNU-WSMwim3uMbID2iNDXJz7fHtuTdXhk,19346
88
+ mapfolding-0.15.3.dist-info/METADATA,sha256=IAmZt0STmU9jkM-hIf80G1FJgDvIS25698U9tAkgHI4,5234
89
+ mapfolding-0.15.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
90
+ mapfolding-0.15.3.dist-info/entry_points.txt,sha256=F3OUeZR1XDTpoH7k3wXuRb3KF_kXTTeYhu5AGK1SiOQ,146
91
+ mapfolding-0.15.3.dist-info/top_level.txt,sha256=aG3bjFBoxxuaV3Iu1wZAd241Ubs3cdaJtKYBQBDIjsg,11
92
+ mapfolding-0.15.3.dist-info/RECORD,,