mapFolding 0.15.1__py3-none-any.whl → 0.15.2__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/_oeisFormulas/A001010.py +11 -10
- mapFolding/_oeisFormulas/A001011.py +5 -0
- mapFolding/_oeisFormulas/Z0Z_aOFn.py +15 -3
- mapFolding/_oeisFormulas/Z0Z_oeisMeanders.py +11 -19
- mapFolding/basecamp.py +2 -2
- mapFolding/someAssemblyRequired/makeAllModules.py +4 -15
- mapFolding/syntheticModules/dataPacking.py +4 -2
- mapFolding/syntheticModules/dataPackingA007822.py +28 -0
- mapFolding/syntheticModules/theorem2A007822Numba.py +2 -3
- mapFolding/syntheticModules/theorem2Numba.py +2 -3
- {mapfolding-0.15.1.dist-info → mapfolding-0.15.2.dist-info}/METADATA +2 -2
- {mapfolding-0.15.1.dist-info → mapfolding-0.15.2.dist-info}/RECORD +16 -14
- {mapfolding-0.15.1.dist-info → mapfolding-0.15.2.dist-info}/WHEEL +0 -0
- {mapfolding-0.15.1.dist-info → mapfolding-0.15.2.dist-info}/entry_points.txt +0 -0
- {mapfolding-0.15.1.dist-info → mapfolding-0.15.2.dist-info}/licenses/LICENSE +0 -0
- {mapfolding-0.15.1.dist-info → mapfolding-0.15.2.dist-info}/top_level.txt +0 -0
|
@@ -1,18 +1,19 @@
|
|
|
1
|
+
from mapFolding import countFolds
|
|
1
2
|
from mapFolding._oeisFormulas.A000682 import A000682
|
|
2
|
-
from mapFolding.oeis import oeisIDfor_n
|
|
3
3
|
|
|
4
|
-
def A001010(
|
|
4
|
+
def A001010(n: int) -> int:
|
|
5
5
|
"""Complicated.
|
|
6
6
|
|
|
7
|
-
a(2n
|
|
8
|
-
|
|
7
|
+
a(2n-1) = 2*A007822(n)
|
|
8
|
+
OddQ[n], 2*A007822[[(n - 1)/2 + 1]]]
|
|
9
|
+
|
|
10
|
+
a(2n) = 2*A000682(n+1)
|
|
11
|
+
EvenQ[n], 2*A000682[[n/2 + 1]]
|
|
9
12
|
"""
|
|
10
|
-
if
|
|
11
|
-
foldsTotal = 2 *
|
|
12
|
-
A001010n = 2 * Z0Z_n + 1
|
|
13
|
+
if n & 0b1:
|
|
14
|
+
foldsTotal = 2 * countFolds(oeisID='A007822', oeis_n=(n - 1)//2 + 1, flow='theorem2Numba')
|
|
13
15
|
else:
|
|
14
|
-
foldsTotal = 2 * A000682(
|
|
15
|
-
A001010n = 2 * Z0Z_n
|
|
16
|
+
foldsTotal = 2 * A000682(n // 2 + 1)
|
|
16
17
|
|
|
17
|
-
return
|
|
18
|
+
return foldsTotal
|
|
18
19
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
from mapFolding._oeisFormulas.A000136 import A000136
|
|
2
2
|
from mapFolding._oeisFormulas.A000682 import A000682
|
|
3
|
+
from mapFolding._oeisFormulas.A001010 import A001010
|
|
3
4
|
from mapFolding._oeisFormulas.Z0Z_oeisMeanders import dictionaryOEISMeanders
|
|
4
5
|
from mapFolding.oeis import dictionaryOEIS
|
|
5
6
|
import sys
|
|
@@ -8,14 +9,25 @@ import time
|
|
|
8
9
|
# ruff: noqa: ERA001
|
|
9
10
|
|
|
10
11
|
if __name__ == '__main__':
|
|
12
|
+
def _write() -> None:
|
|
13
|
+
sys.stdout.write(
|
|
14
|
+
f"{(match:=foldsTotal == dictionaryOEISMeanders[oeisID]['valuesKnown'][n])}\t"
|
|
15
|
+
f"\033[{(not match)*91}m"
|
|
16
|
+
f"{n}\t"
|
|
17
|
+
f"{foldsTotal=}\t"
|
|
18
|
+
f"{dictionaryOEISMeanders[oeisID]['valuesKnown'][n]=}\t"
|
|
19
|
+
f"{time.perf_counter() - timeStart:.2f}\t"
|
|
20
|
+
# f"{description}\t"
|
|
21
|
+
"\033[0m\n"
|
|
22
|
+
)
|
|
11
23
|
oeisID = 'A000136'
|
|
12
24
|
oeisID = 'A000682'
|
|
13
|
-
|
|
25
|
+
oeisID = 'A001010'
|
|
26
|
+
for n in range(2, 13):
|
|
14
27
|
|
|
15
28
|
# sys.stdout.write(f"{n = }\n")
|
|
16
29
|
|
|
17
30
|
timeStart = time.perf_counter()
|
|
18
31
|
foldsTotal = eval(oeisID)(n)
|
|
19
32
|
# sys.stdout.write(f"{n} {foldsTotal} {time.perf_counter() - timeStart:.2f}\n")
|
|
20
|
-
|
|
21
|
-
|
|
33
|
+
_write()
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
from mapFolding._oeisFormulas.A000560 import A000560
|
|
2
2
|
from mapFolding._oeisFormulas.A000682 import A000682
|
|
3
3
|
from mapFolding._oeisFormulas.A001010 import A001010
|
|
4
|
+
from mapFolding._oeisFormulas.A001011 import A001011
|
|
4
5
|
from mapFolding._oeisFormulas.A005315 import A005315
|
|
5
6
|
from mapFolding._oeisFormulas.A005316 import A005316
|
|
6
7
|
from mapFolding._oeisFormulas.A223094 import A223094
|
|
@@ -9,13 +10,11 @@ from mapFolding._oeisFormulas.A301620 import A301620
|
|
|
9
10
|
from mapFolding.oeis import getOEISidInformation, getOEISidValues
|
|
10
11
|
import sys
|
|
11
12
|
|
|
12
|
-
'A001011'
|
|
13
|
-
# a(n) = (A001010(n) + A000136(n)) / 4
|
|
14
|
-
|
|
15
13
|
oeisIDsMeanders: list[str] = [
|
|
16
14
|
'A000560',
|
|
17
15
|
'A000682',
|
|
18
16
|
'A001010',
|
|
17
|
+
'A001011',
|
|
19
18
|
'A005315',
|
|
20
19
|
'A005316',
|
|
21
20
|
'A223094',
|
|
@@ -40,21 +39,14 @@ rangeTest = range(5, 13)
|
|
|
40
39
|
if __name__ == '__main__':
|
|
41
40
|
for n in rangeTest:
|
|
42
41
|
|
|
43
|
-
|
|
44
|
-
assert
|
|
45
|
-
|
|
46
|
-
assert
|
|
47
|
-
|
|
48
|
-
assert
|
|
49
|
-
|
|
50
|
-
assert
|
|
51
|
-
|
|
52
|
-
assert A005316for_n == dictionaryOEISMeanders['A005316']['valuesKnown'][n]
|
|
53
|
-
A223094for_n = A223094(n)
|
|
54
|
-
assert A223094for_n == dictionaryOEISMeanders['A223094']['valuesKnown'][n]
|
|
55
|
-
A259702for_n = A259702(n)
|
|
56
|
-
assert A259702for_n == dictionaryOEISMeanders['A259702']['valuesKnown'][n]
|
|
57
|
-
A301620for_n = A301620(n)
|
|
58
|
-
assert A301620for_n == dictionaryOEISMeanders['A301620']['valuesKnown'][n]
|
|
42
|
+
assert A000560(n) == dictionaryOEISMeanders['A000560']['valuesKnown'][n]
|
|
43
|
+
assert A000682(n) == dictionaryOEISMeanders['A000682']['valuesKnown'][n]
|
|
44
|
+
assert A001010(n) == dictionaryOEISMeanders['A001010']['valuesKnown'][n]
|
|
45
|
+
assert A001011(n) == dictionaryOEISMeanders['A001011']['valuesKnown'][n]
|
|
46
|
+
assert A005315(n) == dictionaryOEISMeanders['A005315']['valuesKnown'][n]
|
|
47
|
+
assert A005316(n) == dictionaryOEISMeanders['A005316']['valuesKnown'][n]
|
|
48
|
+
assert A223094(n) == dictionaryOEISMeanders['A223094']['valuesKnown'][n]
|
|
49
|
+
assert A259702(n) == dictionaryOEISMeanders['A259702']['valuesKnown'][n]
|
|
50
|
+
assert A301620(n) == dictionaryOEISMeanders['A301620']['valuesKnown'][n]
|
|
59
51
|
|
|
60
52
|
sys.stdout.write(f"\nTrue for {str(rangeTest)}\n")
|
mapFolding/basecamp.py
CHANGED
|
@@ -184,8 +184,8 @@ def countFolds(listDimensions: Sequence[int] | None = None
|
|
|
184
184
|
from mapFolding.syntheticModules.initializeStateA007822 import transitionOnGroupsOfFolds # noqa: PLC0415
|
|
185
185
|
mapFoldingState = transitionOnGroupsOfFolds(mapFoldingState)
|
|
186
186
|
|
|
187
|
-
from mapFolding.syntheticModules.
|
|
188
|
-
mapFoldingState =
|
|
187
|
+
from mapFolding.syntheticModules.dataPackingA007822 import sequential # noqa: PLC0415
|
|
188
|
+
mapFoldingState = sequential(mapFoldingState)
|
|
189
189
|
|
|
190
190
|
case 'theorem2Trimmed':
|
|
191
191
|
from mapFolding.dataBaskets import MapFoldingState # noqa: PLC0415
|
|
@@ -551,22 +551,9 @@ def makeTheorem2(astModule: ast.Module, moduleIdentifier: str, callableIdentifie
|
|
|
551
551
|
|
|
552
552
|
return pathFilename
|
|
553
553
|
|
|
554
|
-
def makeUnRePackDataclass(astImportFrom: ast.ImportFrom) -> None:
|
|
554
|
+
def makeUnRePackDataclass(astImportFrom: ast.ImportFrom, moduleIdentifier: identifierDotAttribute = dataPackingModuleIdentifierDEFAULT) -> None:
|
|
555
555
|
"""Generate interface module for dataclass unpacking and repacking operations.
|
|
556
556
|
|
|
557
|
-
(AI generated docstring)
|
|
558
|
-
|
|
559
|
-
Creates a specialized module that serves as an interface between dataclass-based
|
|
560
|
-
calling code and optimized implementations that operate on decomposed primitive
|
|
561
|
-
values. The generated module includes a function that unpacks dataclass instances
|
|
562
|
-
into individual primitive values, calls to the specified optimized target function
|
|
563
|
-
with decomposed parameters, repacking of results back into appropriate dataclass
|
|
564
|
-
instances, and import management for all required dependencies.
|
|
565
|
-
|
|
566
|
-
This bridge module enables seamless integration between high-level dataclass-based
|
|
567
|
-
APIs and low-level optimized implementations, maintaining type safety and usability
|
|
568
|
-
while leveraging performance optimizations that require primitive value operations.
|
|
569
|
-
|
|
570
557
|
Parameters
|
|
571
558
|
----------
|
|
572
559
|
astImportFrom : ast.ImportFrom
|
|
@@ -585,7 +572,6 @@ def makeUnRePackDataclass(astImportFrom: ast.ImportFrom) -> None:
|
|
|
585
572
|
logicalPathSourceModule: identifierDotAttribute = '.'.join([packageSettings.identifierPackage, algorithmSourceModule]) # noqa: FLY002
|
|
586
573
|
|
|
587
574
|
logicalPathInfix: identifierDotAttribute = logicalPathInfixDEFAULT
|
|
588
|
-
moduleIdentifier: identifierDotAttribute = dataPackingModuleIdentifierDEFAULT
|
|
589
575
|
callableIdentifier: identifierDotAttribute = callableIdentifierHARDCODED
|
|
590
576
|
|
|
591
577
|
ingredientsFunction: IngredientsFunction = astModuleToIngredientsFunction(parseLogicalPath2astModule(logicalPathSourceModule), sourceCallableIdentifier)
|
|
@@ -773,3 +759,6 @@ if __name__ == '__main__':
|
|
|
773
759
|
astModule = parsePathFilename2astModule(pathFilename)
|
|
774
760
|
pathFilename = numbaOnTheorem2(astModule, 'theorem2A007822Numba', None, logicalPathInfixDEFAULT, None)
|
|
775
761
|
|
|
762
|
+
astImportFrom: ast.ImportFrom = Make.ImportFrom(_getLogicalPath(packageSettings.identifierPackage, logicalPathInfixDEFAULT, 'theorem2A007822Numba'), list_alias=[Make.alias(sourceCallableIdentifierDEFAULT)])
|
|
763
|
+
makeUnRePackDataclass(astImportFrom, 'dataPackingA007822')
|
|
764
|
+
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
from mapFolding.dataBaskets import
|
|
1
|
+
from mapFolding.dataBaskets import (
|
|
2
|
+
Array1DElephino, Array1DLeavesTotal, Array3DLeavesTotal, DatatypeElephino, DatatypeFoldsTotal, DatatypeLeavesTotal,
|
|
3
|
+
MapFoldingState)
|
|
2
4
|
from mapFolding.syntheticModules.theorem2Numba import count
|
|
3
5
|
|
|
4
6
|
def sequential(state: MapFoldingState) -> MapFoldingState:
|
|
@@ -23,4 +25,4 @@ def sequential(state: MapFoldingState) -> MapFoldingState:
|
|
|
23
25
|
leavesTotal: DatatypeLeavesTotal = state.leavesTotal
|
|
24
26
|
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)
|
|
25
27
|
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
|
|
28
|
+
return state
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
from mapFolding.dataBaskets import (
|
|
2
|
+
Array1DElephino, Array1DLeavesTotal, Array3DLeavesTotal, DatatypeElephino, DatatypeFoldsTotal, DatatypeLeavesTotal,
|
|
3
|
+
MapFoldingState)
|
|
4
|
+
from mapFolding.syntheticModules.theorem2A007822Numba import count
|
|
5
|
+
|
|
6
|
+
def sequential(state: MapFoldingState) -> MapFoldingState:
|
|
7
|
+
mapShape: tuple[DatatypeLeavesTotal, ...] = state.mapShape
|
|
8
|
+
groupsOfFolds: DatatypeFoldsTotal = state.groupsOfFolds
|
|
9
|
+
gap1ndex: DatatypeElephino = state.gap1ndex
|
|
10
|
+
gap1ndexCeiling: DatatypeElephino = state.gap1ndexCeiling
|
|
11
|
+
indexDimension: DatatypeLeavesTotal = state.indexDimension
|
|
12
|
+
indexLeaf: DatatypeLeavesTotal = state.indexLeaf
|
|
13
|
+
indexMiniGap: DatatypeElephino = state.indexMiniGap
|
|
14
|
+
leaf1ndex: DatatypeLeavesTotal = state.leaf1ndex
|
|
15
|
+
leafConnectee: DatatypeLeavesTotal = state.leafConnectee
|
|
16
|
+
dimensionsUnconstrained: DatatypeLeavesTotal = state.dimensionsUnconstrained
|
|
17
|
+
countDimensionsGapped: Array1DLeavesTotal = state.countDimensionsGapped
|
|
18
|
+
gapRangeStart: Array1DElephino = state.gapRangeStart
|
|
19
|
+
gapsWhere: Array1DLeavesTotal = state.gapsWhere
|
|
20
|
+
leafAbove: Array1DLeavesTotal = state.leafAbove
|
|
21
|
+
leafBelow: Array1DLeavesTotal = state.leafBelow
|
|
22
|
+
leafComparison: Array1DLeavesTotal = state.leafComparison
|
|
23
|
+
connectionGraph: Array3DLeavesTotal = state.connectionGraph
|
|
24
|
+
dimensionsTotal: DatatypeLeavesTotal = state.dimensionsTotal
|
|
25
|
+
leavesTotal: DatatypeLeavesTotal = state.leavesTotal
|
|
26
|
+
groupsOfFolds, gap1ndex, gap1ndexCeiling, indexDimension, indexLeaf, indexMiniGap, leaf1ndex, leafConnectee, dimensionsUnconstrained, countDimensionsGapped, gapRangeStart, gapsWhere, leafAbove, leafBelow, leafComparison, connectionGraph, dimensionsTotal, leavesTotal = count(groupsOfFolds, gap1ndex, gap1ndexCeiling, indexDimension, indexLeaf, indexMiniGap, leaf1ndex, leafConnectee, dimensionsUnconstrained, countDimensionsGapped, gapRangeStart, gapsWhere, leafAbove, leafBelow, leafComparison, connectionGraph, dimensionsTotal, leavesTotal)
|
|
27
|
+
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)
|
|
28
|
+
return state
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
from mapFolding.dataBaskets import
|
|
2
|
-
Array1DElephino, Array1DLeavesTotal, Array3DLeavesTotal, DatatypeElephino, DatatypeFoldsTotal, DatatypeLeavesTotal)
|
|
1
|
+
from mapFolding.dataBaskets import Array1DElephino, Array1DLeavesTotal, Array3DLeavesTotal, DatatypeElephino, DatatypeFoldsTotal, DatatypeLeavesTotal
|
|
3
2
|
from numba import jit
|
|
4
3
|
|
|
5
4
|
@jit(cache=True, error_model='numpy', fastmath=True, forceinline=True)
|
|
@@ -64,4 +63,4 @@ def count(groupsOfFolds: DatatypeFoldsTotal, gap1ndex: DatatypeElephino, gap1nde
|
|
|
64
63
|
else:
|
|
65
64
|
groupsOfFolds *= 2
|
|
66
65
|
groupsOfFolds = (groupsOfFolds + 1) // 2
|
|
67
|
-
return (groupsOfFolds, gap1ndex, gap1ndexCeiling, indexDimension, indexLeaf, indexMiniGap, leaf1ndex, leafConnectee, dimensionsUnconstrained, countDimensionsGapped, gapRangeStart, gapsWhere, leafAbove, leafBelow, leafComparison, connectionGraph, dimensionsTotal, leavesTotal)
|
|
66
|
+
return (groupsOfFolds, gap1ndex, gap1ndexCeiling, indexDimension, indexLeaf, indexMiniGap, leaf1ndex, leafConnectee, dimensionsUnconstrained, countDimensionsGapped, gapRangeStart, gapsWhere, leafAbove, leafBelow, leafComparison, connectionGraph, dimensionsTotal, leavesTotal)
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
from mapFolding.dataBaskets import
|
|
2
|
-
Array1DElephino, Array1DLeavesTotal, Array3DLeavesTotal, DatatypeElephino, DatatypeFoldsTotal, DatatypeLeavesTotal)
|
|
1
|
+
from mapFolding.dataBaskets import Array1DElephino, Array1DLeavesTotal, Array3DLeavesTotal, DatatypeElephino, DatatypeFoldsTotal, DatatypeLeavesTotal
|
|
3
2
|
from numba import jit
|
|
4
3
|
|
|
5
4
|
@jit(cache=True, error_model='numpy', fastmath=True, forceinline=True)
|
|
@@ -44,4 +43,4 @@ def count(groupsOfFolds: DatatypeFoldsTotal, gap1ndex: DatatypeElephino, gap1nde
|
|
|
44
43
|
leaf1ndex += 1
|
|
45
44
|
else:
|
|
46
45
|
groupsOfFolds *= 2
|
|
47
|
-
return (groupsOfFolds, gap1ndex, gap1ndexCeiling, indexDimension, indexMiniGap, leaf1ndex, leafConnectee, dimensionsUnconstrained, countDimensionsGapped, gapRangeStart, gapsWhere, leafAbove, leafBelow, connectionGraph, dimensionsTotal, leavesTotal)
|
|
46
|
+
return (groupsOfFolds, gap1ndex, gap1ndexCeiling, indexDimension, indexMiniGap, leaf1ndex, leafConnectee, dimensionsUnconstrained, countDimensionsGapped, gapRangeStart, gapsWhere, leafAbove, leafBelow, connectionGraph, dimensionsTotal, leavesTotal)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mapFolding
|
|
3
|
-
Version: 0.15.
|
|
3
|
+
Version: 0.15.2
|
|
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,
|
|
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
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
mapFolding/__init__.py,sha256=UqUsMLADRoBiWI7YTwQqdP7gnoQ2HrerquHXPRTPeFM,3703
|
|
2
2
|
mapFolding/_theSSOT.py,sha256=s2yx72OMJIQEFM_x-UpPuS8uzGEyt9hS4aCKU2GWERA,4832
|
|
3
3
|
mapFolding/_theTypes.py,sha256=wzr05TeV6gp7OlMNKvmP2yR5LI94BrBUWHe_7zXJRyM,3677
|
|
4
|
-
mapFolding/basecamp.py,sha256=
|
|
4
|
+
mapFolding/basecamp.py,sha256=GtuP4WXG2s345RYLiRibt3d-MbH9qyJ7j-uWRR3UyfQ,12976
|
|
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
|
|
@@ -11,14 +11,15 @@ 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
13
|
mapFolding/_oeisFormulas/A000682.py,sha256=w1u9ECjqw32IA_crWkdcFt_iojfmA7Js1ps8AEYb6es,516
|
|
14
|
-
mapFolding/_oeisFormulas/A001010.py,sha256
|
|
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=
|
|
21
|
-
mapFolding/_oeisFormulas/Z0Z_oeisMeanders.py,sha256=
|
|
21
|
+
mapFolding/_oeisFormulas/Z0Z_aOFn.py,sha256=bx2C5hkQH9BK20ARLWpqgAzARFU8aNI3N1s9FoQX4eU,967
|
|
22
|
+
mapFolding/_oeisFormulas/Z0Z_oeisMeanders.py,sha256=c2PdVz2UdrHl3cnOVqrxr1VcquIb1jijuj4bZlIOYHk,1816
|
|
22
23
|
mapFolding/_oeisFormulas/__init__.py,sha256=n83beVb7HHplXYAM5HveaIAuR7KrJG99OaNHJGMb_uc,44
|
|
23
24
|
mapFolding/_oeisFormulas/matrixMeanders.py,sha256=Qk7S2dTpfZp-5bg--Qsspb2voOTBeLLQd7J_iQH3OpE,7356
|
|
24
25
|
mapFolding/_oeisFormulas/matrixMeandersAnnex.py,sha256=UdSZCI9PtiuPCFTT6kLQZY7uoalaOkYzcR5VXUN8v1U,5793
|
|
@@ -52,7 +53,7 @@ mapFolding/someAssemblyRequired/_toolIfThis.py,sha256=VDZC10Xo3E1Y5n6FmaBBbOBR-r
|
|
|
52
53
|
mapFolding/someAssemblyRequired/_toolkitContainers.py,sha256=Xbo1QJT8KtrWcAvQ-eLzOEzR8N78WfF43fJKGRIebA4,13625
|
|
53
54
|
mapFolding/someAssemblyRequired/getLLVMforNoReason.py,sha256=tY0-2K0BFkwLAAjSrFJLPoG8CevDHOFc3OH3TxXANzg,2806
|
|
54
55
|
mapFolding/someAssemblyRequired/infoBooth.py,sha256=GWiqnHbqk7te_pvVuk4G_gbFa_W2aeSx19w4pakvqfM,2300
|
|
55
|
-
mapFolding/someAssemblyRequired/makeAllModules.py,sha256=
|
|
56
|
+
mapFolding/someAssemblyRequired/makeAllModules.py,sha256=mNIT-qUJt75qJLTCVElbZPIZNH36qOG3akAJ57JerTo,44490
|
|
56
57
|
mapFolding/someAssemblyRequired/makeJobTheorem2Numba.py,sha256=wflkPttFID9vao4C4CohoUCYgbMWD7GhZ7TO9h5mwtE,17196
|
|
57
58
|
mapFolding/someAssemblyRequired/makeJobTheorem2codon.py,sha256=EPcrnHrK_TBqVB5uLvHz-XLcjaNYUhfQZCNaROCS1Oo,11326
|
|
58
59
|
mapFolding/someAssemblyRequired/toolkitNumba.py,sha256=nCCVsGidAlcKRVAvA__hu4bXtat3B-cO9YloKtqOAc4,14919
|
|
@@ -62,14 +63,15 @@ mapFolding/syntheticModules/algorithmA007822.py,sha256=0Nsi-l9it4Wd9TACEecvOh02a
|
|
|
62
63
|
mapFolding/syntheticModules/algorithmA007822Numba.py,sha256=Tiychj5ST0Mxsw7KVp9Movdor5-deRb0tnfTbXA_RTc,7226
|
|
63
64
|
mapFolding/syntheticModules/countParallelNumba.py,sha256=6sHWzGc6ch3HjKVB8krvaBec_KoHv3gpfN_F5Vl1SP8,7870
|
|
64
65
|
mapFolding/syntheticModules/daoOfMapFoldingNumba.py,sha256=5oMb8pttNKslN6wss9JIQXSnmjgE2q_2-3fIrh1pEW0,6033
|
|
65
|
-
mapFolding/syntheticModules/dataPacking.py,sha256=
|
|
66
|
+
mapFolding/syntheticModules/dataPacking.py,sha256=ZsEtbT3UCH2gscpK_N5ypGGUAyFA9_SrQaAnhr3BqjI,2413
|
|
67
|
+
mapFolding/syntheticModules/dataPackingA007822.py,sha256=6XxYMaZ0_WNm1IJ2HbjZBD14ouLCvrMFApW5u3paJBs,2474
|
|
66
68
|
mapFolding/syntheticModules/initializeState.py,sha256=OTiVi1Ywnlwk8tbwSIFjPJa_yBCINoapaCzGXDAJq_k,3121
|
|
67
69
|
mapFolding/syntheticModules/initializeStateA007822.py,sha256=7Qd-ggF5RcSKXyCnw7PehEVuAlfED6rnqlJokqmSuJ4,4348
|
|
68
70
|
mapFolding/syntheticModules/theorem2.py,sha256=QeXkBScihDatBk4iEMOMSntvhyJISb0G8zwZMQe7JFc,3031
|
|
69
71
|
mapFolding/syntheticModules/theorem2A007822.py,sha256=SaJpHt0juljfHYR1XZMYHkYmLCHu-bpGhf3fky39RUc,4258
|
|
70
|
-
mapFolding/syntheticModules/theorem2A007822Numba.py,sha256=
|
|
72
|
+
mapFolding/syntheticModules/theorem2A007822Numba.py,sha256=E8U5_AF0uns-pDzJFMwfW44iCPDfUd5MsQM4jLCM1Os,4641
|
|
71
73
|
mapFolding/syntheticModules/theorem2A007822Trimmed.py,sha256=gaTWsTJoDgCf-cW3gyheU9j2cj_R8CNvrnAp7lzv_8s,3926
|
|
72
|
-
mapFolding/syntheticModules/theorem2Numba.py,sha256=
|
|
74
|
+
mapFolding/syntheticModules/theorem2Numba.py,sha256=AFe-KI97ilPgPFA22ASAhfUetaTA249K7By_vqu1Crs,3416
|
|
73
75
|
mapFolding/syntheticModules/theorem2Trimmed.py,sha256=geKX3So1SqhENlKeEO2dV6S3rGsxBp-AItB4hRbwbBI,2699
|
|
74
76
|
mapFolding/tests/__init__.py,sha256=QVCHSMFVvTxV3mAyYOLkMFAFyBJ514zdoVnDmpBJnTo,1336
|
|
75
77
|
mapFolding/tests/conftest.py,sha256=VZ9l0Vd2d-hdp6cVBmsTkYA7FZIH0cEgdeJx844oe3A,14624
|
|
@@ -78,9 +80,9 @@ mapFolding/tests/test_filesystem.py,sha256=0rYQ62f4e3HOoymXrxDWbqNEBJQ7DGN8RUOMI
|
|
|
78
80
|
mapFolding/tests/test_oeis.py,sha256=ejqaOMB61c1oUEBblPPBG9hFFXffpKuIS0CJMe7Rd1o,5497
|
|
79
81
|
mapFolding/tests/test_other.py,sha256=ScBiJ78LnyAaW-RhxcouX6Xw10wgpSdqfvT4LO3WjnQ,4766
|
|
80
82
|
mapFolding/tests/test_tasks.py,sha256=_pr9JRWjjNKA7sww70XvkJJdGPruBVzubM63RmD_Du0,4013
|
|
81
|
-
mapfolding-0.15.
|
|
82
|
-
mapfolding-0.15.
|
|
83
|
-
mapfolding-0.15.
|
|
84
|
-
mapfolding-0.15.
|
|
85
|
-
mapfolding-0.15.
|
|
86
|
-
mapfolding-0.15.
|
|
83
|
+
mapfolding-0.15.2.dist-info/licenses/LICENSE,sha256=NxH5Y8BdC-gNU-WSMwim3uMbID2iNDXJz7fHtuTdXhk,19346
|
|
84
|
+
mapfolding-0.15.2.dist-info/METADATA,sha256=zT2XInHtZfx3eI_QvuO3YWp-Pm8TtJzHGuN8gBqJkTc,5160
|
|
85
|
+
mapfolding-0.15.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
86
|
+
mapfolding-0.15.2.dist-info/entry_points.txt,sha256=F3OUeZR1XDTpoH7k3wXuRb3KF_kXTTeYhu5AGK1SiOQ,146
|
|
87
|
+
mapfolding-0.15.2.dist-info/top_level.txt,sha256=aG3bjFBoxxuaV3Iu1wZAd241Ubs3cdaJtKYBQBDIjsg,11
|
|
88
|
+
mapfolding-0.15.2.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|