executable-engineering 0.1.29__tar.gz → 0.1.31__tar.gz
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.
- {executable_engineering-0.1.29 → executable_engineering-0.1.31}/PKG-INFO +8 -5
- {executable_engineering-0.1.29 → executable_engineering-0.1.31}/executable_engineering/__init__.py +3 -0
- executable_engineering-0.1.31/executable_engineering/numerical_error_module.py +40 -0
- {executable_engineering-0.1.29 → executable_engineering-0.1.31}/executable_engineering.egg-info/PKG-INFO +8 -5
- {executable_engineering-0.1.29 → executable_engineering-0.1.31}/executable_engineering.egg-info/SOURCES.txt +1 -0
- {executable_engineering-0.1.29 → executable_engineering-0.1.31}/executable_engineering.egg-info/requires.txt +8 -4
- {executable_engineering-0.1.29 → executable_engineering-0.1.31}/setup.py +5 -5
- {executable_engineering-0.1.29 → executable_engineering-0.1.31}/LICENSE +0 -0
- {executable_engineering-0.1.29 → executable_engineering-0.1.31}/README.md +0 -0
- {executable_engineering-0.1.29 → executable_engineering-0.1.31}/executable_engineering/closedoptimization_module.py +0 -0
- {executable_engineering-0.1.29 → executable_engineering-0.1.31}/executable_engineering/closedrootfinder_module.py +0 -0
- {executable_engineering-0.1.29 → executable_engineering-0.1.31}/executable_engineering/gradientoptimization_module.py +0 -0
- {executable_engineering-0.1.29 → executable_engineering-0.1.31}/executable_engineering/neuralnet_module.py +0 -0
- {executable_engineering-0.1.29 → executable_engineering-0.1.31}/executable_engineering/openoptimization_module.py +0 -0
- {executable_engineering-0.1.29 → executable_engineering-0.1.31}/executable_engineering/openrootfinder_module.py +0 -0
- {executable_engineering-0.1.29 → executable_engineering-0.1.31}/executable_engineering.egg-info/dependency_links.txt +0 -0
- {executable_engineering-0.1.29 → executable_engineering-0.1.31}/executable_engineering.egg-info/top_level.txt +0 -0
- {executable_engineering-0.1.29 → executable_engineering-0.1.31}/pyproject.toml +0 -0
- {executable_engineering-0.1.29 → executable_engineering-0.1.31}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: executable_engineering
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.31
|
|
4
4
|
Summary: Tools for ENGPHYS 3NM4
|
|
5
5
|
Home-page: https://github.com/themintlab/ExecutableEngineering/tree/main/executable_engineering
|
|
6
6
|
Author: Michael Welland
|
|
@@ -14,13 +14,15 @@ License-File: LICENSE
|
|
|
14
14
|
Requires-Dist: numpy
|
|
15
15
|
Requires-Dist: matplotlib
|
|
16
16
|
Requires-Dist: networkx
|
|
17
|
-
Requires-Dist: ipywidgets
|
|
18
|
-
Requires-Dist: IPython
|
|
19
|
-
Requires-Dist: pyppeteer
|
|
20
|
-
Requires-Dist: nbconvert
|
|
21
17
|
Requires-Dist: scipy
|
|
22
18
|
Requires-Dist: plotly
|
|
23
19
|
Requires-Dist: pandas
|
|
20
|
+
Provides-Extra: docs
|
|
21
|
+
Requires-Dist: pyppeteer; extra == "docs"
|
|
22
|
+
Requires-Dist: nbconvert; extra == "docs"
|
|
23
|
+
Provides-Extra: jupyter
|
|
24
|
+
Requires-Dist: ipywidgets; extra == "jupyter"
|
|
25
|
+
Requires-Dist: IPython; extra == "jupyter"
|
|
24
26
|
Dynamic: author
|
|
25
27
|
Dynamic: classifier
|
|
26
28
|
Dynamic: description
|
|
@@ -28,6 +30,7 @@ Dynamic: description-content-type
|
|
|
28
30
|
Dynamic: home-page
|
|
29
31
|
Dynamic: license
|
|
30
32
|
Dynamic: license-file
|
|
33
|
+
Dynamic: provides-extra
|
|
31
34
|
Dynamic: requires-dist
|
|
32
35
|
Dynamic: requires-python
|
|
33
36
|
Dynamic: summary
|
{executable_engineering-0.1.29 → executable_engineering-0.1.31}/executable_engineering/__init__.py
RENAMED
|
@@ -4,6 +4,7 @@ from .closedrootfinder_module import RootFinderClosed
|
|
|
4
4
|
from .closedoptimization_module import OptimizerClosed
|
|
5
5
|
from .openoptimization_module import OptimizerOpen
|
|
6
6
|
from .gradientoptimization_module import OptimizerGrad
|
|
7
|
+
from .numerical_error_module import python_internal_binary, decimal_to_binary
|
|
7
8
|
|
|
8
9
|
|
|
9
10
|
__all__ = [
|
|
@@ -29,4 +30,6 @@ __all__ = [
|
|
|
29
30
|
"OptimizerClosed",
|
|
30
31
|
"OptimizerOpen",
|
|
31
32
|
"OptimizerGrad",
|
|
33
|
+
"python_internal_binary",
|
|
34
|
+
"decimal_to_binary",
|
|
32
35
|
]
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import struct
|
|
2
|
+
|
|
3
|
+
def python_internal_binary(num):
|
|
4
|
+
# Pack the float into 8 bytes using IEEE 754 double-precision ('d')
|
|
5
|
+
# The '!' ensures network byte order (big-endian) so bits read left-to-right
|
|
6
|
+
packed_bytes = struct.pack('!d', float(num))
|
|
7
|
+
|
|
8
|
+
# Unpack those bytes as a single 64-bit unsigned integer ('Q')
|
|
9
|
+
packed_int, = struct.unpack('!Q', packed_bytes)
|
|
10
|
+
|
|
11
|
+
# Format the integer as a 64-bit binary string, padded with leading zeros
|
|
12
|
+
binary_str = f"{packed_int:064b}"
|
|
13
|
+
|
|
14
|
+
# Split into the IEEE 754 components for readability
|
|
15
|
+
sign = binary_str[0] # 1 bit
|
|
16
|
+
exponent = binary_str[1:12] # 11 bits
|
|
17
|
+
fraction = binary_str[12:] # 52 bits
|
|
18
|
+
|
|
19
|
+
return f"{sign} {exponent} {fraction}"
|
|
20
|
+
|
|
21
|
+
def decimal_to_binary(num, precision=20):
|
|
22
|
+
sign = "-" if num < 0 else ""
|
|
23
|
+
num = abs(num)
|
|
24
|
+
int_part = int(num)
|
|
25
|
+
frac = num - int_part
|
|
26
|
+
int_str = bin(int_part)[2:]
|
|
27
|
+
|
|
28
|
+
frac_part = ""
|
|
29
|
+
for _ in range(precision):
|
|
30
|
+
if frac == 0:
|
|
31
|
+
break
|
|
32
|
+
frac *= 2
|
|
33
|
+
bit = int(frac)
|
|
34
|
+
frac_part += str(bit)
|
|
35
|
+
frac -= bit
|
|
36
|
+
|
|
37
|
+
if not frac_part:
|
|
38
|
+
frac_part = "0"
|
|
39
|
+
|
|
40
|
+
return f"{sign}{int_str}.{frac_part}"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: executable_engineering
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.31
|
|
4
4
|
Summary: Tools for ENGPHYS 3NM4
|
|
5
5
|
Home-page: https://github.com/themintlab/ExecutableEngineering/tree/main/executable_engineering
|
|
6
6
|
Author: Michael Welland
|
|
@@ -14,13 +14,15 @@ License-File: LICENSE
|
|
|
14
14
|
Requires-Dist: numpy
|
|
15
15
|
Requires-Dist: matplotlib
|
|
16
16
|
Requires-Dist: networkx
|
|
17
|
-
Requires-Dist: ipywidgets
|
|
18
|
-
Requires-Dist: IPython
|
|
19
|
-
Requires-Dist: pyppeteer
|
|
20
|
-
Requires-Dist: nbconvert
|
|
21
17
|
Requires-Dist: scipy
|
|
22
18
|
Requires-Dist: plotly
|
|
23
19
|
Requires-Dist: pandas
|
|
20
|
+
Provides-Extra: docs
|
|
21
|
+
Requires-Dist: pyppeteer; extra == "docs"
|
|
22
|
+
Requires-Dist: nbconvert; extra == "docs"
|
|
23
|
+
Provides-Extra: jupyter
|
|
24
|
+
Requires-Dist: ipywidgets; extra == "jupyter"
|
|
25
|
+
Requires-Dist: IPython; extra == "jupyter"
|
|
24
26
|
Dynamic: author
|
|
25
27
|
Dynamic: classifier
|
|
26
28
|
Dynamic: description
|
|
@@ -28,6 +30,7 @@ Dynamic: description-content-type
|
|
|
28
30
|
Dynamic: home-page
|
|
29
31
|
Dynamic: license
|
|
30
32
|
Dynamic: license-file
|
|
33
|
+
Dynamic: provides-extra
|
|
31
34
|
Dynamic: requires-dist
|
|
32
35
|
Dynamic: requires-python
|
|
33
36
|
Dynamic: summary
|
|
@@ -7,6 +7,7 @@ executable_engineering/closedoptimization_module.py
|
|
|
7
7
|
executable_engineering/closedrootfinder_module.py
|
|
8
8
|
executable_engineering/gradientoptimization_module.py
|
|
9
9
|
executable_engineering/neuralnet_module.py
|
|
10
|
+
executable_engineering/numerical_error_module.py
|
|
10
11
|
executable_engineering/openoptimization_module.py
|
|
11
12
|
executable_engineering/openrootfinder_module.py
|
|
12
13
|
executable_engineering.egg-info/PKG-INFO
|
|
@@ -6,7 +6,7 @@ long_description = (this_directory / "README.md").read_text(encoding="utf-8")
|
|
|
6
6
|
|
|
7
7
|
setup(
|
|
8
8
|
name="executable_engineering",
|
|
9
|
-
version="0.1.
|
|
9
|
+
version="0.1.31",
|
|
10
10
|
description="Tools for ENGPHYS 3NM4",
|
|
11
11
|
long_description=long_description,
|
|
12
12
|
long_description_content_type="text/markdown",
|
|
@@ -18,14 +18,14 @@ setup(
|
|
|
18
18
|
"numpy",
|
|
19
19
|
"matplotlib",
|
|
20
20
|
"networkx",
|
|
21
|
-
"ipywidgets",
|
|
22
|
-
"IPython",
|
|
23
|
-
"pyppeteer",
|
|
24
|
-
"nbconvert",
|
|
25
21
|
"scipy",
|
|
26
22
|
"plotly",
|
|
27
23
|
"pandas",
|
|
28
24
|
],
|
|
25
|
+
extras_require={
|
|
26
|
+
"docs": ["pyppeteer", "nbconvert"],
|
|
27
|
+
"jupyter": ["ipywidgets", "IPython"],
|
|
28
|
+
},
|
|
29
29
|
python_requires=">=3.9",
|
|
30
30
|
license="MIT",
|
|
31
31
|
classifiers=[
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|