mapFolding 0.12.2__py3-none-any.whl → 0.13.0__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/__init__.py +4 -2
  2. mapFolding/_theSSOT.py +32 -88
  3. mapFolding/{datatypes.py → _theTypes.py} +25 -3
  4. mapFolding/basecamp.py +38 -33
  5. mapFolding/beDRY.py +79 -54
  6. mapFolding/dataBaskets.py +123 -93
  7. mapFolding/filesystemToolkit.py +140 -91
  8. mapFolding/oeis.py +243 -145
  9. mapFolding/reference/flattened.py +1 -1
  10. mapFolding/someAssemblyRequired/RecipeJob.py +116 -100
  11. mapFolding/someAssemblyRequired/__init__.py +40 -15
  12. mapFolding/someAssemblyRequired/_toolIfThis.py +82 -54
  13. mapFolding/someAssemblyRequired/_toolkitContainers.py +19 -16
  14. mapFolding/someAssemblyRequired/getLLVMforNoReason.py +35 -26
  15. mapFolding/someAssemblyRequired/makeAllModules.py +353 -283
  16. mapFolding/someAssemblyRequired/makeJobTheorem2Numba.py +83 -84
  17. mapFolding/someAssemblyRequired/makeJobTheorem2codon.py +256 -0
  18. mapFolding/someAssemblyRequired/toolkitNumba.py +80 -50
  19. mapFolding/someAssemblyRequired/transformationTools.py +63 -40
  20. {tests → mapFolding/tests}/__init__.py +2 -2
  21. {tests → mapFolding/tests}/conftest.py +232 -63
  22. {tests → mapFolding/tests}/test_computations.py +58 -18
  23. {tests → mapFolding/tests}/test_filesystem.py +10 -13
  24. {tests → mapFolding/tests}/test_oeis.py +5 -18
  25. {tests → mapFolding/tests}/test_other.py +9 -9
  26. {tests → mapFolding/tests}/test_tasks.py +7 -9
  27. {mapfolding-0.12.2.dist-info → mapfolding-0.13.0.dist-info}/METADATA +24 -37
  28. mapfolding-0.13.0.dist-info/RECORD +54 -0
  29. {mapfolding-0.12.2.dist-info → mapfolding-0.13.0.dist-info}/top_level.txt +0 -1
  30. mapfolding-0.12.2.dist-info/RECORD +0 -53
  31. {mapfolding-0.12.2.dist-info → mapfolding-0.13.0.dist-info}/WHEEL +0 -0
  32. {mapfolding-0.12.2.dist-info → mapfolding-0.13.0.dist-info}/entry_points.txt +0 -0
  33. {mapfolding-0.12.2.dist-info → mapfolding-0.13.0.dist-info}/licenses/LICENSE +0 -0
@@ -21,16 +21,16 @@ patterns and show how to handle edge cases gracefully. The parametrized tests
21
21
  provide examples of comprehensive boundary testing that you can adapt for your
22
22
  own functions.
23
23
 
24
- The integration with external utility modules (Z0Z_tools) shows how to test
24
+ The integration with external utility modules (hunterMakesPy) shows how to test
25
25
  dependencies while maintaining clear separation of concerns.
26
26
  """
27
27
 
28
28
  from collections.abc import Callable
29
+ from hunterMakesPy import intInnit
30
+ from hunterMakesPy.pytestForYourUse import PytestFor_intInnit, PytestFor_oopsieKwargsie
29
31
  from mapFolding import getLeavesTotal, setProcessorLimit, validateListDimensions
30
- from tests.conftest import standardizedEqualToCallableReturn
32
+ from mapFolding.tests.conftest import standardizedEqualToCallableReturn
31
33
  from typing import Any, Literal
32
- from Z0Z_tools import intInnit
33
- from Z0Z_tools.pytestForYourUse import PytestFor_intInnit, PytestFor_oopsieKwargsie
34
34
  import multiprocessing
35
35
  import numba
36
36
  import pytest
@@ -60,11 +60,11 @@ import sys
60
60
  ([float('nan')], ValueError, ValueError), # NaN
61
61
  ([sys.maxsize, sys.maxsize], [sys.maxsize, sys.maxsize], (sys.maxsize, sys.maxsize)), # overflow protection
62
62
  (range(3, 7), [3, 4, 5, 6], (3, 4, 5, 6)), # range sequence type
63
- (tuple([3, 5, 7]), [3, 5, 7], (3, 5, 7)), # tuple sequence type
63
+ (tuple([3, 5, 7]), [3, 5, 7], (3, 5, 7)), # tuple sequence type # noqa: C409
64
64
  ])
65
- def test_listDimensionsAsParameter(listDimensions: None | list[str] | list[int] | list[float] | list[None] | list[bool] | list[list[int]] | list[complex] | range | tuple[int, ...],
66
- expected_intInnit: type[ValueError] | list[int] | type[TypeError],
67
- expected_validateListDimensions: type[ValueError] | type[NotImplementedError] | tuple[int, ...] | type[TypeError]) -> None:
65
+ def test_listDimensionsAsParameter(listDimensions: None | list[Any] | range | tuple[Any, ...]
66
+ , expected_intInnit: type[Any] | list[int]
67
+ , expected_validateListDimensions: type[Any] | tuple[int, ...]) -> None:
68
68
  """Test both validateListDimensions and getLeavesTotal with the same inputs."""
69
69
  standardizedEqualToCallableReturn(expected_intInnit, intInnit, listDimensions)
70
70
  standardizedEqualToCallableReturn(expected_validateListDimensions, validateListDimensions, listDimensions)
@@ -98,6 +98,6 @@ def testOopsieKwargsie(nameOfTest: str, callablePytest: Callable[[], None]) -> N
98
98
  (0, numba.get_num_threads()),
99
99
  (1, 1),
100
100
  ])
101
- def test_setCPUlimitNumba(CPUlimit: None | float | bool | Literal[4] | Literal[-2] | Literal[0] | Literal[1], expectedLimit: Any | int) -> None:
101
+ def test_setCPUlimitNumba(CPUlimit: Literal[4, -2, 0, 1] | None | float | bool, expectedLimit: Any | int) -> None:
102
102
  numba.set_num_threads(multiprocessing.cpu_count())
103
103
  standardizedEqualToCallableReturn(expectedLimit, setProcessorLimit, CPUlimit, 'numba')
@@ -26,13 +26,11 @@ compatibility and proper resource isolation between test processes.
26
26
  """
27
27
 
28
28
  from collections.abc import Callable
29
+ from hunterMakesPy.pytestForYourUse import PytestFor_defineConcurrencyLimit
29
30
  from mapFolding import (
30
- countFolds, getFoldsTotalKnown, getLeavesTotal, getTaskDivisions, setProcessorLimit,
31
- validateListDimensions,
32
- )
33
- from tests.conftest import standardizedEqualToCallableReturn
31
+ countFolds, getFoldsTotalKnown, getLeavesTotal, getTaskDivisions, setProcessorLimit, validateListDimensions)
32
+ from mapFolding.tests.conftest import standardizedEqualToCallableReturn
34
33
  from typing import Literal
35
- from Z0Z_tools.pytestForYourUse import PytestFor_defineConcurrencyLimit
36
34
  import multiprocessing
37
35
  import pytest
38
36
 
@@ -62,10 +60,10 @@ def test_countFolds_cpuLimitOopsie(mapShapeTestFunctionality: tuple[int, ...], C
62
60
  (["invalid"], 4, [19, 23], ValueError),
63
61
  (20, 4, [3,5], ValueError)
64
62
  ])
65
- def test_getTaskDivisions(computationDivisions: None | list[str] | Literal['maximum'] | Literal['cpu'] | Literal[20],
66
- concurrencyLimit: Literal[4],
67
- listDimensions: list[int],
68
- expectedTaskDivisions: type[ValueError] | Literal[0] | Literal[77] | Literal[4]) -> None:
63
+ def test_getTaskDivisions(computationDivisions: Literal['maximum', 'cpu', 20] | None | list[str]
64
+ , concurrencyLimit: Literal[4]
65
+ , listDimensions: list[int]
66
+ , expectedTaskDivisions: Literal[0, 77, 4] | type[ValueError]) -> None:
69
67
  mapShape = validateListDimensions(listDimensions)
70
68
  leavesTotal = getLeavesTotal(mapShape)
71
69
  standardizedEqualToCallableReturn(expectedTaskDivisions, getTaskDivisions, computationDivisions, concurrencyLimit, leavesTotal)
@@ -1,53 +1,56 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mapFolding
3
- Version: 0.12.2
4
- Summary: Map folding algorithm with code transformation framework for optimizing numerical computations
3
+ Version: 0.13.0
4
+ Summary: Map folding algorithm with code transformation framework for optimizing numerical computations.
5
5
  Author-email: Hunter Hogan <HunterHogan@pm.me>
6
6
  License: CC-BY-NC-4.0
7
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,A001415,A001416,A001417,A001418,A195646,AST manipulation,Numba optimization,OEIS,algorithmic optimization,code generation,code transformation,combinatorics,computational geometry,dataclass transformation,folding pattern enumeration,just-in-time compilation,map folding,performance optimization,source code analysis,stamp folding
11
+ Keywords: A000136,A001415,A001416,A001417,A001418,A195646,AST manipulation,Numba optimization,OEIS,algorithmic optimization,code generation,code transformation,codon optimization,combinatorics,computational geometry,dataclass transformation,folding pattern enumeration,just-in-time compilation,map folding,performance optimization,source code analysis,stamp folding
12
12
  Classifier: Development Status :: 4 - Beta
13
13
  Classifier: Environment :: Console
14
14
  Classifier: Intended Audience :: Developers
15
15
  Classifier: Intended Audience :: Education
16
16
  Classifier: Intended Audience :: Science/Research
17
17
  Classifier: Natural Language :: English
18
+ Classifier: Operating System :: MacOS
18
19
  Classifier: Operating System :: OS Independent
19
- Classifier: Programming Language :: Python
20
- Classifier: Programming Language :: Python :: 3
20
+ Classifier: Operating System :: POSIX :: Linux
21
+ Classifier: Programming Language :: Python :: 3 :: Only
21
22
  Classifier: Programming Language :: Python :: 3.12
22
23
  Classifier: Programming Language :: Python :: 3.13
24
+ Classifier: Programming Language :: Python :: 3
25
+ Classifier: Programming Language :: Python :: Implementation :: CPython
26
+ Classifier: Programming Language :: Python
23
27
  Classifier: Topic :: Scientific/Engineering :: Information Analysis
24
28
  Classifier: Topic :: Scientific/Engineering :: Mathematics
25
29
  Classifier: Topic :: Software Development :: Code Generators
26
30
  Classifier: Topic :: Software Development :: Compilers
27
31
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
32
+ Classifier: Topic :: Software Development :: Pre-processors
28
33
  Classifier: Typing :: Typed
29
34
  Requires-Python: >=3.12
30
35
  Description-Content-Type: text/markdown
31
36
  License-File: LICENSE
32
- Requires-Dist: Z0Z_tools
33
- Requires-Dist: astToolkit>=0.5.0
34
- Requires-Dist: autoflake
35
- Requires-Dist: numba
36
- Requires-Dist: numba_progress
37
+ Requires-Dist: astToolkit
38
+ Requires-Dist: hunterMakesPy
37
39
  Requires-Dist: numpy
38
40
  Requires-Dist: platformdirs
39
- Requires-Dist: python_minifier
40
- Requires-Dist: sympy
41
- Requires-Dist: tomli
41
+ Provides-Extra: development
42
+ Requires-Dist: mypy; extra == "development"
43
+ Requires-Dist: pyupgrade; extra == "development"
44
+ Requires-Dist: setuptools-scm; extra == "development"
45
+ Provides-Extra: numba
46
+ Requires-Dist: numba; extra == "numba"
47
+ Requires-Dist: numba_progress; extra == "numba"
42
48
  Provides-Extra: testing
43
- Requires-Dist: mypy; extra == "testing"
44
- Requires-Dist: pytest; extra == "testing"
49
+ Requires-Dist: numba; extra == "testing"
45
50
  Requires-Dist: pytest-cov; extra == "testing"
46
51
  Requires-Dist: pytest-env; extra == "testing"
47
52
  Requires-Dist: pytest-xdist; extra == "testing"
48
- Requires-Dist: pyupgrade; extra == "testing"
49
- Requires-Dist: ruff; extra == "testing"
50
- Requires-Dist: setuptools-scm; extra == "testing"
53
+ Requires-Dist: pytest; extra == "testing"
51
54
  Dynamic: license-file
52
55
 
53
56
  # mapFolding
@@ -98,6 +101,7 @@ For larger maps, these calculations require hours or days to complete. A 2×20 s
98
101
  - **Automatic code generation** that produces standalone, highly optimized computation modules
99
102
  - **Dataclass decomposition** to enable Numba compatibility while preserving readable source code
100
103
  - **Comprehensive optimization** including dead code elimination, static value embedding, and aggressive compilation settings
104
+ - **codon code generation**: compile map folding computation modules using [Codon](https://docs.exaloop.io/start/install/), enabling high-performance native binaries from Python source code.
101
105
 
102
106
  ### Educational Resources
103
107
 
@@ -110,35 +114,18 @@ For larger maps, these calculations require hours or days to complete. A 2×20 s
110
114
 
111
115
  **Mathematical Research**: Explore folding pattern properties, extend known sequences, or validate theoretical results against computed values.
112
116
 
113
- **Algorithm Optimization Learning**: Study a complete transformation pipeline that converts high-level algorithms into production-ready optimized code.
117
+ **Algorithm Optimization Learning**: Study a complete transformation assembly line that converts high-level algorithms into production-ready optimized code.
114
118
 
115
119
  **Performance Computing Education**: Examine techniques for achieving maximum Python performance through Numba integration, AST manipulation, and specialized code generation.
116
120
 
117
121
  **Combinatorial Problem Solving**: Use the framework as a template for optimizing other recursive combinatorial algorithms.
118
122
 
119
- ## Example Usage
120
-
121
- ```python
122
- from mapFolding import countFolds
123
-
124
- # Count folding patterns for a 3×3 square
125
- result = countFolds([3, 3])
126
-
127
- # Access OEIS sequences directly
128
- from mapFolding import oeisIDfor_n
129
- strip_foldings = oeisIDfor_n('A001415', 6) # 2×6 strip
130
-
131
- # Generate optimized code for specific dimensions
132
- from mapFolding.someAssemblyRequired import makeJobTheorem2Numba
133
- # Creates specialized modules for maximum performance
134
- ```
135
-
136
123
  ## Repository Structure
137
124
 
138
125
  - `mapFolding/`: Core implementation with modular architecture
139
126
  - `reference/`: Historical algorithm implementations and performance studies
140
127
  - `someAssemblyRequired/`: AST transformation framework
141
- - `tests/`: Comprehensive validation suite
128
+ - `mapFolding/tests/`: Comprehensive validation suite
142
129
  - `jobs/`: Generated optimized modules for specific calculations
143
130
 
144
131
  ## Performance Characteristics
@@ -0,0 +1,54 @@
1
+ mapFolding/__init__.py,sha256=dl3HR2zoipFo0UstEJn3iWTkXlA_XeCQw_zfw2fk4qE,3643
2
+ mapFolding/_theSSOT.py,sha256=dloMAsIOhUnIE7-SFJbQYyl6IYo7CdCAyBZPqMuckko,3380
3
+ mapFolding/_theTypes.py,sha256=rT8UTm-I_haMQlUGaJ4yvqIMt6FUOvWH-VUYNud6UN4,5495
4
+ mapFolding/basecamp.py,sha256=K-h8rBb-lREOe8DAdWLx5Uqbl5eaPjj8lRLk5HIVw40,9454
5
+ mapFolding/beDRY.py,sha256=Iikg3U4zQjx6JOKL62R7Tb0CpOm3JkPSIewAByco9GA,14777
6
+ mapFolding/daoOfMapFolding.py,sha256=ncTIiBfTsM8SNVx9qefZ0bBcBtviWLSk4iPv3Z9nGiE,5442
7
+ mapFolding/dataBaskets.py,sha256=zTpRoGDEysq7ekmgiKCtCV6NOBGzfgs_XMjVngvg3ic,14566
8
+ mapFolding/filesystemToolkit.py,sha256=Ex5tyugRQurXIgUNVtkQYfWMq8fM4e-izX01MBXU5_8,11006
9
+ mapFolding/oeis.py,sha256=jJjTsngcUNTY0M8et1InbnpP2csglQilFidyVCCm0Ts,23031
10
+ mapFolding/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
+ mapFolding/reference/__init__.py,sha256=GKcSgYE49NcTISx-JZbELXyq-eRkMeTL5g4DXInWFw0,2206
12
+ mapFolding/reference/flattened.py,sha256=0eHgLFIeIeVUsI5zF5oSy5iWYrjOMzxr7KjDxiTe01k,16078
13
+ mapFolding/reference/hunterNumba.py,sha256=iLfyqwGdAh6c5GbapnKsWhAsNsR3O-fyGGHAdohluLw,7258
14
+ mapFolding/reference/irvineJavaPort.py,sha256=UEfIX4QbPLl5jnyfYIyX5YRR3_rYvPUikK8jLehsFko,4076
15
+ mapFolding/reference/jaxCount.py,sha256=TuDNKOnyhQfuixKmIxO9Algv7dvy7KMGhgsV3h96FGE,14853
16
+ mapFolding/reference/lunnonNumpy.py,sha256=mMgrgbrBpe4nmo72ThEI-MGH0OwEHmfMPczSXHp2qKo,4357
17
+ mapFolding/reference/lunnonWhile.py,sha256=ZL8GAQtPs5nJZSgoDl5USrLSS_zs03y98y1Z9E4jOmQ,3799
18
+ mapFolding/reference/rotatedEntryPoint.py,sha256=5ughpKUT2JQhoAKgoDUdYNjgWQYPGV8v-7dWEAdDmfE,10274
19
+ mapFolding/reference/total_countPlus1vsPlusN.py,sha256=yJZAVLVdoXqHag2_N6_6CT-Q6HXBgRro-eny93-Rlpw,9307
20
+ mapFolding/reference/jobsCompleted/__init__.py,sha256=TU93ZGUW1xEkT6d9mQFn_rp5DvRy0ZslEB2Q6MF5ZDc,2596
21
+ mapFolding/reference/jobsCompleted/[2x19]/p2x19.py,sha256=_tvYtfzMWVo2VtUbIAieoscb4N8FFflgTdW4-ljBUuA,19626
22
+ mapFolding/reference/jobsCompleted/p2x19/p2x19.py,sha256=eZEw4Me4ocTt6VXoK2-Sbd5SowZtxRIbN9dZmc7OCVg,6395
23
+ mapFolding/someAssemblyRequired/RecipeJob.py,sha256=Hd1DUMZqfqlQz4jj3eTir5e_xvFW7_O0ILWmNsiQWV8,9913
24
+ mapFolding/someAssemblyRequired/__init__.py,sha256=UNDh6O86jT5ywlw9LgeWsUHwOfNvoMJRDAzYXbwCbeM,5779
25
+ mapFolding/someAssemblyRequired/_toolIfThis.py,sha256=VDZC10Xo3E1Y5n6FmaBBbOBR-rinV9DFkpgw8zrDyzg,6339
26
+ mapFolding/someAssemblyRequired/_toolkitContainers.py,sha256=ymqEWH5oO_gNjvRjpRELCzahXfU74fhHZspnv6GGLiE,13680
27
+ mapFolding/someAssemblyRequired/getLLVMforNoReason.py,sha256=tY0-2K0BFkwLAAjSrFJLPoG8CevDHOFc3OH3TxXANzg,2806
28
+ mapFolding/someAssemblyRequired/infoBooth.py,sha256=GWiqnHbqk7te_pvVuk4G_gbFa_W2aeSx19w4pakvqfM,2300
29
+ mapFolding/someAssemblyRequired/makeAllModules.py,sha256=wbZXlKd0dOkLYHGM_I7VYH9r9yZfS6HDBJ702nggDxM,44353
30
+ mapFolding/someAssemblyRequired/makeJobTheorem2Numba.py,sha256=ZSplXKPwRAbvMA2bvEGcXFdgvuYGBk3Ncxajzk-Zy0A,17170
31
+ mapFolding/someAssemblyRequired/makeJobTheorem2codon.py,sha256=8Epqg6eLLNWr3wvg9sdwv3WILMUtbR-lha8-OZXU-I8,12714
32
+ mapFolding/someAssemblyRequired/toolkitNumba.py,sha256=Wg5CWe2UDeR1Y22loxbcRbPOQn1yHFlD6s4uYPGCYwM,14860
33
+ mapFolding/someAssemblyRequired/transformationTools.py,sha256=nPGZsvb5GquaCCxdDh_XzNIZYSiVJpWKd7wfhfRvxnk,11512
34
+ mapFolding/syntheticModules/__init__.py,sha256=evVFqhCGa-WZKDiLcnQWjs-Bj34eRnfSLqz_d7dFYZY,83
35
+ mapFolding/syntheticModules/countParallel.py,sha256=OK_IB9w4yy9MMAiGvkei5ezPm_00v2nYjPrQZ_IlELg,7733
36
+ mapFolding/syntheticModules/daoOfMapFolding.py,sha256=cfWPABtXyCxJ0BwPI7rhfLh_2UYV_XKAL8lJ4GLNXaQ,5896
37
+ mapFolding/syntheticModules/dataPacking.py,sha256=m_eOZ7sMXIQ9jY5EvC3qgitQTY60n6rksy0ACMJOIC8,2292
38
+ mapFolding/syntheticModules/initializeCount.py,sha256=nWSlJMMfIM3DvZxMn6ISQusUJqRYAjKQyLF5hwLEdBQ,3119
39
+ mapFolding/syntheticModules/theorem2.py,sha256=9jrbZNNX4BWYZW1S0JjvRY2k7RU7I1RNUMV7JdCt1ZY,3017
40
+ mapFolding/syntheticModules/theorem2Numba.py,sha256=-cKjNyxgUMFhEyFVs0VJ7hw4LfrV0WSNK5tPYbQ1oNU,3369
41
+ mapFolding/syntheticModules/theorem2Trimmed.py,sha256=DHW3NxBdtABQYBKm2WRvfQ5kzc2_UwGI2h4ePuYEJoM,2685
42
+ mapFolding/tests/__init__.py,sha256=QVCHSMFVvTxV3mAyYOLkMFAFyBJ514zdoVnDmpBJnTo,1336
43
+ mapFolding/tests/conftest.py,sha256=f0JB_e5zbpusGLWVJbtYKug9oRm0M8c-GFAp9mhhs9Q,14590
44
+ mapFolding/tests/test_computations.py,sha256=7avZjmYjsgJAcTEzQFj3Td1N9q75ANdCRnNvOesFjiw,6535
45
+ mapFolding/tests/test_filesystem.py,sha256=0rYQ62f4e3HOoymXrxDWbqNEBJQ7DGN8RUOMI84tE2Q,3892
46
+ mapFolding/tests/test_oeis.py,sha256=Sn3jpg6YQJMtAAc1W8Ic2PTbTwSckzBdJnkN1rz_O6w,5834
47
+ mapFolding/tests/test_other.py,sha256=ScBiJ78LnyAaW-RhxcouX6Xw10wgpSdqfvT4LO3WjnQ,4766
48
+ mapFolding/tests/test_tasks.py,sha256=_pr9JRWjjNKA7sww70XvkJJdGPruBVzubM63RmD_Du0,4013
49
+ mapfolding-0.13.0.dist-info/licenses/LICENSE,sha256=NxH5Y8BdC-gNU-WSMwim3uMbID2iNDXJz7fHtuTdXhk,19346
50
+ mapfolding-0.13.0.dist-info/METADATA,sha256=S-_yPqTdfIVDdYBVeuUV80YHWW54rfMZiOGXiyJFjQ0,8040
51
+ mapfolding-0.13.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
52
+ mapfolding-0.13.0.dist-info/entry_points.txt,sha256=F3OUeZR1XDTpoH7k3wXuRb3KF_kXTTeYhu5AGK1SiOQ,146
53
+ mapfolding-0.13.0.dist-info/top_level.txt,sha256=aG3bjFBoxxuaV3Iu1wZAd241Ubs3cdaJtKYBQBDIjsg,11
54
+ mapfolding-0.13.0.dist-info/RECORD,,
@@ -1,53 +0,0 @@
1
- mapFolding/__init__.py,sha256=wXJ0dhpZUfiXPvh4RQ11FKDJEzV5OYUs8USKFaEXqQ0,3653
2
- mapFolding/_theSSOT.py,sha256=JNoyZ86gym5z0DS2kruidDJ3zdYAShuqnCLJ85t2TVM,6168
3
- mapFolding/basecamp.py,sha256=6jLA_41BB86CJD6E3vLr-SV0BiGEfwzcfeOLgujlyZM,9008
4
- mapFolding/beDRY.py,sha256=S0HO2bX8afDR6mV0xyIsEGBeG4-pRC3YH9jMAWSHpCM,13891
5
- mapFolding/daoOfMapFolding.py,sha256=ncTIiBfTsM8SNVx9qefZ0bBcBtviWLSk4iPv3Z9nGiE,5442
6
- mapFolding/dataBaskets.py,sha256=oO9f0PUf3AdNguaKEYnBpk31VhK8NPFMK5GiBSDVFIw,13101
7
- mapFolding/datatypes.py,sha256=5BLjUv5S6A_0Q23erRGIN8MMm2WD3BVKnH2gfEdZlcs,5189
8
- mapFolding/filesystemToolkit.py,sha256=ACiNUE7L5MKjllBbUVvzdgYdILXGiOVyl81fDGPwaNc,10254
9
- mapFolding/oeis.py,sha256=hf3AgQOiFf2Gs0WbS3JYIVNgfPfVlp0T0ZLDvfvi4Lg,21978
10
- mapFolding/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
- mapFolding/reference/__init__.py,sha256=GKcSgYE49NcTISx-JZbELXyq-eRkMeTL5g4DXInWFw0,2206
12
- mapFolding/reference/flattened.py,sha256=QK1xG9SllqCoi68e86Hyl9d9ATUAAFNpTQI-3zmcp5I,16072
13
- mapFolding/reference/hunterNumba.py,sha256=iLfyqwGdAh6c5GbapnKsWhAsNsR3O-fyGGHAdohluLw,7258
14
- mapFolding/reference/irvineJavaPort.py,sha256=UEfIX4QbPLl5jnyfYIyX5YRR3_rYvPUikK8jLehsFko,4076
15
- mapFolding/reference/jaxCount.py,sha256=TuDNKOnyhQfuixKmIxO9Algv7dvy7KMGhgsV3h96FGE,14853
16
- mapFolding/reference/lunnonNumpy.py,sha256=mMgrgbrBpe4nmo72ThEI-MGH0OwEHmfMPczSXHp2qKo,4357
17
- mapFolding/reference/lunnonWhile.py,sha256=ZL8GAQtPs5nJZSgoDl5USrLSS_zs03y98y1Z9E4jOmQ,3799
18
- mapFolding/reference/rotatedEntryPoint.py,sha256=5ughpKUT2JQhoAKgoDUdYNjgWQYPGV8v-7dWEAdDmfE,10274
19
- mapFolding/reference/total_countPlus1vsPlusN.py,sha256=yJZAVLVdoXqHag2_N6_6CT-Q6HXBgRro-eny93-Rlpw,9307
20
- mapFolding/reference/jobsCompleted/__init__.py,sha256=TU93ZGUW1xEkT6d9mQFn_rp5DvRy0ZslEB2Q6MF5ZDc,2596
21
- mapFolding/reference/jobsCompleted/[2x19]/p2x19.py,sha256=_tvYtfzMWVo2VtUbIAieoscb4N8FFflgTdW4-ljBUuA,19626
22
- mapFolding/reference/jobsCompleted/p2x19/p2x19.py,sha256=eZEw4Me4ocTt6VXoK2-Sbd5SowZtxRIbN9dZmc7OCVg,6395
23
- mapFolding/someAssemblyRequired/RecipeJob.py,sha256=kFn27dMWg1k5q5RsU2kw5zXT3TRmUzYHE9EIUdAGvfM,10641
24
- mapFolding/someAssemblyRequired/__init__.py,sha256=F3MMU6QciBqL8G4cjn_ELCHEnpjytorUQn-vG9t696Q,5769
25
- mapFolding/someAssemblyRequired/_toolIfThis.py,sha256=mqIZQ_HLkR-5z3_gIghIeQ_WY1XkjVHp9iC1TrPiI9Y,5923
26
- mapFolding/someAssemblyRequired/_toolkitContainers.py,sha256=ZAwfH6yRunUzSVzl2VZDvJD7lyN7WL6Md7F6Q7suW30,13682
27
- mapFolding/someAssemblyRequired/getLLVMforNoReason.py,sha256=9RPU6vK_eUg64GtVFI_nZnvUryXw8gfHJs9NyDYHIvg,2745
28
- mapFolding/someAssemblyRequired/infoBooth.py,sha256=GWiqnHbqk7te_pvVuk4G_gbFa_W2aeSx19w4pakvqfM,2300
29
- mapFolding/someAssemblyRequired/makeAllModules.py,sha256=RC4FmWyue2reiPttfLEtc7kFGYgp7dR4qBHnOREuYpo,42770
30
- mapFolding/someAssemblyRequired/makeJobTheorem2Numba.py,sha256=658vw0JZk-9dMIE_18Op8xY1vxwoLc2K-TQaslGtw58,18372
31
- mapFolding/someAssemblyRequired/toolkitNumba.py,sha256=nHLkGZ9P0p3NJkiqJFTxej9z0H1BvWWvmSN27rTExqU,14563
32
- mapFolding/someAssemblyRequired/transformationTools.py,sha256=gveR9Gqgo3JJhMXtHIFTyu0RbgwoTkH-5X7dwiA4jpM,11476
33
- mapFolding/syntheticModules/__init__.py,sha256=evVFqhCGa-WZKDiLcnQWjs-Bj34eRnfSLqz_d7dFYZY,83
34
- mapFolding/syntheticModules/countParallel.py,sha256=OK_IB9w4yy9MMAiGvkei5ezPm_00v2nYjPrQZ_IlELg,7733
35
- mapFolding/syntheticModules/daoOfMapFolding.py,sha256=cfWPABtXyCxJ0BwPI7rhfLh_2UYV_XKAL8lJ4GLNXaQ,5896
36
- mapFolding/syntheticModules/dataPacking.py,sha256=m_eOZ7sMXIQ9jY5EvC3qgitQTY60n6rksy0ACMJOIC8,2292
37
- mapFolding/syntheticModules/initializeCount.py,sha256=nWSlJMMfIM3DvZxMn6ISQusUJqRYAjKQyLF5hwLEdBQ,3119
38
- mapFolding/syntheticModules/theorem2.py,sha256=9jrbZNNX4BWYZW1S0JjvRY2k7RU7I1RNUMV7JdCt1ZY,3017
39
- mapFolding/syntheticModules/theorem2Numba.py,sha256=-cKjNyxgUMFhEyFVs0VJ7hw4LfrV0WSNK5tPYbQ1oNU,3369
40
- mapFolding/syntheticModules/theorem2Trimmed.py,sha256=DHW3NxBdtABQYBKm2WRvfQ5kzc2_UwGI2h4ePuYEJoM,2685
41
- mapfolding-0.12.2.dist-info/licenses/LICENSE,sha256=NxH5Y8BdC-gNU-WSMwim3uMbID2iNDXJz7fHtuTdXhk,19346
42
- tests/__init__.py,sha256=5RdiZYAl8nPIM1sxB_D0CsN6J8173LOZ0hpR3geTHAU,1312
43
- tests/conftest.py,sha256=eBo0IIm98402hl_XW5nT06cUvW25ciItv1_zZdM152E,11126
44
- tests/test_computations.py,sha256=NDOT1kUdY2w-hbxdGhUsr4N4yFjwJW30AnfrDiYYKM0,5184
45
- tests/test_filesystem.py,sha256=IXTeyfifXe6vLizCo8BiSn5Yx9DEKYEc_hoJRKhQFNk,3899
46
- tests/test_oeis.py,sha256=KjG10lH5vVLPG5bicdsVt373QeMrHirFJUpO1BR_sos,6272
47
- tests/test_other.py,sha256=a42U3KB5IlrQNj63nRyg-KLdvF1QTH2aAsH9JpQnl3Q,4933
48
- tests/test_tasks.py,sha256=-OrpXAlkPMP4pRCW-wAYPd_olf3L_a9dMsJZCOlSUNE,4041
49
- mapfolding-0.12.2.dist-info/METADATA,sha256=6URs4ApQHjsH3bN7QniWEvCBioRrz0y0h6q9qI6YI28,7977
50
- mapfolding-0.12.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
51
- mapfolding-0.12.2.dist-info/entry_points.txt,sha256=F3OUeZR1XDTpoH7k3wXuRb3KF_kXTTeYhu5AGK1SiOQ,146
52
- mapfolding-0.12.2.dist-info/top_level.txt,sha256=1gP2vFaqPwHujGwb3UjtMlLEGN-943VSYFR7V4gDqW8,17
53
- mapfolding-0.12.2.dist-info/RECORD,,