PartSegCore-compiled-backend 0.15.14__tar.gz → 0.15.15__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.
- {partsegcore_compiled_backend-0.15.14 → partsegcore_compiled_backend-0.15.15}/.pre-commit-config.yaml +15 -7
- {partsegcore_compiled_backend-0.15.14 → partsegcore_compiled_backend-0.15.15}/PKG-INFO +1 -1
- {partsegcore_compiled_backend-0.15.14 → partsegcore_compiled_backend-0.15.15}/pyproject.toml +3 -1
- {partsegcore_compiled_backend-0.15.14 → partsegcore_compiled_backend-0.15.15}/src/PartSegCore_compiled_backend/triangulation/intersection.hpp +19 -16
- partsegcore_compiled_backend-0.15.15/src/PartSegCore_compiled_backend/version.py +24 -0
- partsegcore_compiled_backend-0.15.15/src/tests/data/create_holes_triangulation_failure.txt +570 -0
- {partsegcore_compiled_backend-0.15.14 → partsegcore_compiled_backend-0.15.15}/src/tests/test_triangulate.py +16 -0
- partsegcore_compiled_backend-0.15.14/src/PartSegCore_compiled_backend/version.py +0 -34
- {partsegcore_compiled_backend-0.15.14 → partsegcore_compiled_backend-0.15.15}/.gitignore +0 -0
- {partsegcore_compiled_backend-0.15.14 → partsegcore_compiled_backend-0.15.15}/CMakeLists.txt +0 -0
- {partsegcore_compiled_backend-0.15.14 → partsegcore_compiled_backend-0.15.15}/LICENSE.txt +0 -0
- {partsegcore_compiled_backend-0.15.14 → partsegcore_compiled_backend-0.15.15}/MANIFEST.in +0 -0
- {partsegcore_compiled_backend-0.15.14 → partsegcore_compiled_backend-0.15.15}/Readme.md +0 -0
- {partsegcore_compiled_backend-0.15.14 → partsegcore_compiled_backend-0.15.15}/docs/Makefile +0 -0
- {partsegcore_compiled_backend-0.15.14 → partsegcore_compiled_backend-0.15.15}/docs/calc_bounds.rst +0 -0
- {partsegcore_compiled_backend-0.15.14 → partsegcore_compiled_backend-0.15.15}/docs/conf.py +0 -0
- {partsegcore_compiled_backend-0.15.14 → partsegcore_compiled_backend-0.15.15}/docs/fast_unique.rst +0 -0
- {partsegcore_compiled_backend-0.15.14 → partsegcore_compiled_backend-0.15.15}/docs/index.rst +0 -0
- {partsegcore_compiled_backend-0.15.14 → partsegcore_compiled_backend-0.15.15}/docs/make.bat +0 -0
- {partsegcore_compiled_backend-0.15.14 → partsegcore_compiled_backend-0.15.15}/docs/napari_mapping.rst +0 -0
- {partsegcore_compiled_backend-0.15.14 → partsegcore_compiled_backend-0.15.15}/docs/sprawl_utils.rst +0 -0
- {partsegcore_compiled_backend-0.15.14 → partsegcore_compiled_backend-0.15.15}/src/PartSegCore_compiled_backend/__init__.py +0 -0
- {partsegcore_compiled_backend-0.15.14 → partsegcore_compiled_backend-0.15.15}/src/PartSegCore_compiled_backend/_fast_unique.pyi +0 -0
- {partsegcore_compiled_backend-0.15.14 → partsegcore_compiled_backend-0.15.15}/src/PartSegCore_compiled_backend/_fast_unique.pyx +0 -0
- {partsegcore_compiled_backend-0.15.14 → partsegcore_compiled_backend-0.15.15}/src/PartSegCore_compiled_backend/_napari_mapping.pyx +0 -0
- {partsegcore_compiled_backend-0.15.14 → partsegcore_compiled_backend-0.15.15}/src/PartSegCore_compiled_backend/calc_bounds.pyi +0 -0
- {partsegcore_compiled_backend-0.15.14 → partsegcore_compiled_backend-0.15.15}/src/PartSegCore_compiled_backend/calc_bounds.pyx +0 -0
- {partsegcore_compiled_backend-0.15.14 → partsegcore_compiled_backend-0.15.15}/src/PartSegCore_compiled_backend/color_image_cython.pyi +0 -0
- {partsegcore_compiled_backend-0.15.14 → partsegcore_compiled_backend-0.15.15}/src/PartSegCore_compiled_backend/color_image_cython.pyx +0 -0
- {partsegcore_compiled_backend-0.15.14 → partsegcore_compiled_backend-0.15.15}/src/PartSegCore_compiled_backend/fast_unique.py +0 -0
- {partsegcore_compiled_backend-0.15.14 → partsegcore_compiled_backend-0.15.15}/src/PartSegCore_compiled_backend/multiscale_opening/__init__.py +0 -0
- {partsegcore_compiled_backend-0.15.14 → partsegcore_compiled_backend-0.15.15}/src/PartSegCore_compiled_backend/multiscale_opening/mso.h +0 -0
- {partsegcore_compiled_backend-0.15.14 → partsegcore_compiled_backend-0.15.15}/src/PartSegCore_compiled_backend/multiscale_opening/mso_bind.pyi +0 -0
- {partsegcore_compiled_backend-0.15.14 → partsegcore_compiled_backend-0.15.15}/src/PartSegCore_compiled_backend/multiscale_opening/mso_bind.pyx +0 -0
- {partsegcore_compiled_backend-0.15.14 → partsegcore_compiled_backend-0.15.15}/src/PartSegCore_compiled_backend/multiscale_opening/my_queue.h +0 -0
- {partsegcore_compiled_backend-0.15.14 → partsegcore_compiled_backend-0.15.15}/src/PartSegCore_compiled_backend/napari_mapping.py +0 -0
- {partsegcore_compiled_backend-0.15.14 → partsegcore_compiled_backend-0.15.15}/src/PartSegCore_compiled_backend/sprawl_utils/__init__.py +0 -0
- {partsegcore_compiled_backend-0.15.14 → partsegcore_compiled_backend-0.15.15}/src/PartSegCore_compiled_backend/sprawl_utils/distance_utils.pxd +0 -0
- {partsegcore_compiled_backend-0.15.14 → partsegcore_compiled_backend-0.15.15}/src/PartSegCore_compiled_backend/sprawl_utils/euclidean_cython.pyi +0 -0
- {partsegcore_compiled_backend-0.15.14 → partsegcore_compiled_backend-0.15.15}/src/PartSegCore_compiled_backend/sprawl_utils/euclidean_cython.pyx +0 -0
- {partsegcore_compiled_backend-0.15.14 → partsegcore_compiled_backend-0.15.15}/src/PartSegCore_compiled_backend/sprawl_utils/find_split.py +0 -0
- {partsegcore_compiled_backend-0.15.14 → partsegcore_compiled_backend-0.15.15}/src/PartSegCore_compiled_backend/sprawl_utils/find_split.pyi +0 -0
- {partsegcore_compiled_backend-0.15.14 → partsegcore_compiled_backend-0.15.15}/src/PartSegCore_compiled_backend/sprawl_utils/fuzzy_distance.pyx +0 -0
- {partsegcore_compiled_backend-0.15.14 → partsegcore_compiled_backend-0.15.15}/src/PartSegCore_compiled_backend/sprawl_utils/global_consts.h +0 -0
- {partsegcore_compiled_backend-0.15.14 → partsegcore_compiled_backend-0.15.15}/src/PartSegCore_compiled_backend/sprawl_utils/my_queue.h +0 -0
- {partsegcore_compiled_backend-0.15.14 → partsegcore_compiled_backend-0.15.15}/src/PartSegCore_compiled_backend/sprawl_utils/path_sprawl_cython.pyi +0 -0
- {partsegcore_compiled_backend-0.15.14 → partsegcore_compiled_backend-0.15.15}/src/PartSegCore_compiled_backend/sprawl_utils/path_sprawl_cython.pyx +0 -0
- {partsegcore_compiled_backend-0.15.14 → partsegcore_compiled_backend-0.15.15}/src/PartSegCore_compiled_backend/sprawl_utils/put_borders_in_queue.pyx +0 -0
- {partsegcore_compiled_backend-0.15.14 → partsegcore_compiled_backend-0.15.15}/src/PartSegCore_compiled_backend/sprawl_utils/sprawl_utils.pyi +0 -0
- {partsegcore_compiled_backend-0.15.14 → partsegcore_compiled_backend-0.15.15}/src/PartSegCore_compiled_backend/sprawl_utils/sprawl_utils.pyx +0 -0
- {partsegcore_compiled_backend-0.15.14 → partsegcore_compiled_backend-0.15.15}/src/PartSegCore_compiled_backend/triangulate.pyx +0 -0
- {partsegcore_compiled_backend-0.15.14 → partsegcore_compiled_backend-0.15.15}/src/PartSegCore_compiled_backend/triangulation/debug_util.hpp +0 -0
- {partsegcore_compiled_backend-0.15.14 → partsegcore_compiled_backend-0.15.15}/src/PartSegCore_compiled_backend/triangulation/point.hpp +0 -0
- {partsegcore_compiled_backend-0.15.14 → partsegcore_compiled_backend-0.15.15}/src/PartSegCore_compiled_backend/triangulation/triangulate.hpp +0 -0
- {partsegcore_compiled_backend-0.15.14 → partsegcore_compiled_backend-0.15.15}/src/PartSegCore_compiled_backend/utils.py +0 -0
- {partsegcore_compiled_backend-0.15.14 → partsegcore_compiled_backend-0.15.15}/src/tests/test_calc_bounds.py +0 -0
- {partsegcore_compiled_backend-0.15.14 → partsegcore_compiled_backend-0.15.15}/src/tests/test_coloring.py +0 -0
- {partsegcore_compiled_backend-0.15.14 → partsegcore_compiled_backend-0.15.15}/src/tests/test_fast_unique.py +0 -0
- {partsegcore_compiled_backend-0.15.14 → partsegcore_compiled_backend-0.15.15}/src/tests/test_napari_mapping.py +0 -0
- {partsegcore_compiled_backend-0.15.14 → partsegcore_compiled_backend-0.15.15}/src/tests/test_sprawl_utils/__init__.py +0 -0
- {partsegcore_compiled_backend-0.15.14 → partsegcore_compiled_backend-0.15.15}/src/tests/test_sprawl_utils/test_euclidean.py +0 -0
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
repos:
|
|
2
2
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
3
3
|
# Ruff version.
|
|
4
|
-
rev: v0.
|
|
4
|
+
rev: v0.16.8
|
|
5
5
|
hooks:
|
|
6
6
|
# Run the linter.
|
|
7
|
-
- id: ruff
|
|
7
|
+
- id: ruff-check
|
|
8
8
|
# Run the formatter.
|
|
9
9
|
- id: ruff-format
|
|
10
10
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
@@ -22,18 +22,26 @@ repos:
|
|
|
22
22
|
rev: v1.10.0
|
|
23
23
|
hooks:
|
|
24
24
|
- id: rst-backticks
|
|
25
|
-
- repo: https://github.com/
|
|
26
|
-
rev:
|
|
25
|
+
- repo: https://github.com/executablebooks/mdformat
|
|
26
|
+
rev: 1.0.0 # Use the ref you want to point at
|
|
27
27
|
hooks:
|
|
28
|
-
- id:
|
|
28
|
+
- id: mdformat
|
|
29
|
+
exclude: TEST_FAIL_TEMPLATE.md|bug_report.md|feature_request.md
|
|
30
|
+
args: ["--number"]
|
|
31
|
+
additional_dependencies:
|
|
32
|
+
- mdformat-gfm
|
|
33
|
+
- mdformat-footnote
|
|
34
|
+
- mdformat-gfm-alerts
|
|
35
|
+
- mdformat-ruff
|
|
36
|
+
- mdformat-toc
|
|
29
37
|
- repo: https://github.com/codespell-project/codespell
|
|
30
|
-
rev: v2.4.
|
|
38
|
+
rev: v2.4.3
|
|
31
39
|
hooks:
|
|
32
40
|
- id: codespell
|
|
33
41
|
additional_dependencies:
|
|
34
42
|
- tomli
|
|
35
43
|
- repo: https://github.com/pre-commit/mirrors-clang-format
|
|
36
|
-
rev:
|
|
44
|
+
rev: v23.1.1 # Use the sha / tag you want to point at
|
|
37
45
|
hooks:
|
|
38
46
|
- id: clang-format
|
|
39
47
|
args: ["-style=Google"]
|
{partsegcore_compiled_backend-0.15.14 → partsegcore_compiled_backend-0.15.15}/pyproject.toml
RENAMED
|
@@ -130,9 +130,11 @@ test-command = "pytest {project}/src/tests"
|
|
|
130
130
|
test-extras = ["test"]
|
|
131
131
|
skip = "pp*macos* pp31* pp39-manylinux*"
|
|
132
132
|
build = "*64"
|
|
133
|
-
enable = ["pypy"
|
|
133
|
+
enable = ["pypy"]
|
|
134
134
|
|
|
135
135
|
[tool.cibuildwheel.macos]
|
|
136
|
+
# libomp (LLVM 23) uses aligned_alloc, available since macOS 10.15
|
|
137
|
+
environment = { MACOSX_DEPLOYMENT_TARGET = "10.15" }
|
|
136
138
|
before-all = [
|
|
137
139
|
"set",
|
|
138
140
|
"bash {project}/build_utils/build_libomp.sh",
|
|
@@ -133,8 +133,12 @@ enum Orientation {
|
|
|
133
133
|
*/
|
|
134
134
|
inline Orientation _orientation(const point::Point& p, const point::Point& q,
|
|
135
135
|
const point::Point& r) {
|
|
136
|
-
|
|
137
|
-
|
|
136
|
+
// Promote to double before multiplying: the float products lose precision
|
|
137
|
+
// and can flip the result for nearly collinear points.
|
|
138
|
+
double val1 =
|
|
139
|
+
(static_cast<double>(q.y) - p.y) * (static_cast<double>(r.x) - q.x);
|
|
140
|
+
double val2 =
|
|
141
|
+
(static_cast<double>(r.y) - q.y) * (static_cast<double>(q.x) - p.x);
|
|
138
142
|
// This commented code if for debugging purposes of differences between macOS
|
|
139
143
|
// and linux double val = ((q.y - p.y) * (r.x - q.x)) - ((r.y - q.y) * (q.x -
|
|
140
144
|
// p.x)); if (val!= 0 && val1 == val2) {
|
|
@@ -337,15 +341,16 @@ inline std::unordered_set<OrderedPair> _find_intersections(
|
|
|
337
341
|
*/
|
|
338
342
|
inline std::vector<point::Point> _find_intersection(const point::Segment& s1,
|
|
339
343
|
const point::Segment& s2) {
|
|
344
|
+
// To reduce problems with float precision, the same pair of segments
|
|
345
|
+
// should always be calculated in the same order.
|
|
346
|
+
if (s2 < s1) return _find_intersection(s2, s1);
|
|
340
347
|
// ReSharper disable CppJoinDeclarationAndAssignment
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
a1 = s1.top.y - s1.bottom.y;
|
|
344
|
-
b1 = s1.bottom.x - s1.top.x;
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
b2 = s2.bottom.x - s2.top.x;
|
|
348
|
-
// c2 = a2 * s2.bottom.x + b2 * s2.bottom.y;
|
|
348
|
+
double a1, b1, a2, b2, det, t;
|
|
349
|
+
point::Point::coordinate_t x, y;
|
|
350
|
+
a1 = static_cast<double>(s1.top.y) - s1.bottom.y;
|
|
351
|
+
b1 = static_cast<double>(s1.bottom.x) - s1.top.x;
|
|
352
|
+
a2 = static_cast<double>(s2.top.y) - s2.bottom.y;
|
|
353
|
+
b2 = static_cast<double>(s2.bottom.x) - s2.top.x;
|
|
349
354
|
det = a1 * b2 - a2 * b1;
|
|
350
355
|
if (det == 0) {
|
|
351
356
|
// collinear case
|
|
@@ -356,15 +361,13 @@ inline std::vector<point::Point> _find_intersection(const point::Segment& s1,
|
|
|
356
361
|
if (s2.point_on_line(s1.top)) res.push_back(s1.top);
|
|
357
362
|
return res;
|
|
358
363
|
}
|
|
359
|
-
t = ((s2.top.x - s1.top.x) *
|
|
360
|
-
(s2.top.y - s1.top.y) *
|
|
364
|
+
t = ((static_cast<double>(s2.top.x) - s1.top.x) * -a2 -
|
|
365
|
+
(static_cast<double>(s2.top.y) - s1.top.y) * b2) /
|
|
361
366
|
det;
|
|
362
|
-
// u = ((s2.top.x - s1.top.x) * (s1.bottom.y - s1.top.y) -
|
|
363
|
-
// (s2.top.y - s1.top.y) * (s2.bottom.x - s2.top.x)) / det;
|
|
364
367
|
if (t < 0) return {s1.top};
|
|
365
368
|
if (t > 1) return {s1.bottom};
|
|
366
|
-
x = s1.top.x + t * b1;
|
|
367
|
-
y = s1.top.y + t * (-a1);
|
|
369
|
+
x = s1.top.x + static_cast<point::Point::coordinate_t>(t * b1);
|
|
370
|
+
y = s1.top.y + static_cast<point::Point::coordinate_t>(t * (-a1));
|
|
368
371
|
return {{x, y}};
|
|
369
372
|
}
|
|
370
373
|
} // namespace partsegcore::intersection
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# file generated by vcs-versioning
|
|
2
|
+
# don't change, don't track in version control
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
__all__ = [
|
|
6
|
+
"__version__",
|
|
7
|
+
"__version_tuple__",
|
|
8
|
+
"version",
|
|
9
|
+
"version_tuple",
|
|
10
|
+
"__commit_id__",
|
|
11
|
+
"commit_id",
|
|
12
|
+
]
|
|
13
|
+
|
|
14
|
+
version: str
|
|
15
|
+
__version__: str
|
|
16
|
+
__version_tuple__: tuple[int | str, ...]
|
|
17
|
+
version_tuple: tuple[int | str, ...]
|
|
18
|
+
commit_id: str | None
|
|
19
|
+
__commit_id__: str | None
|
|
20
|
+
|
|
21
|
+
__version__ = version = '0.15.15'
|
|
22
|
+
__version_tuple__ = version_tuple = (0, 15, 15)
|
|
23
|
+
|
|
24
|
+
__commit_id__ = commit_id = 'gc7ec30e77'
|
|
@@ -0,0 +1,570 @@
|
|
|
1
|
+
2.029067968750000000e+04 2.404950195312500000e+04
|
|
2
|
+
2.026631835937500000e+04 2.403294726562500000e+04
|
|
3
|
+
2.025670898437500000e+04 2.396467578125000000e+04
|
|
4
|
+
2.028290039062500000e+04 2.394192968750000000e+04
|
|
5
|
+
2.026603710937500000e+04 2.388205273437500000e+04
|
|
6
|
+
2.023153515625000000e+04 2.388622070312500000e+04
|
|
7
|
+
2.022579492187500000e+04 2.381791601562500000e+04
|
|
8
|
+
2.017229492187500000e+04 2.374486523437500000e+04
|
|
9
|
+
2.021608593750000000e+04 2.373803710937500000e+04
|
|
10
|
+
2.011988867187500000e+04 2.364859179687500000e+04
|
|
11
|
+
2.007155859375000000e+04 2.357678710937500000e+04
|
|
12
|
+
2.001443164062500000e+04 2.353214257812500000e+04
|
|
13
|
+
1.990998828125000000e+04 2.353433984375000000e+04
|
|
14
|
+
1.985698437500000000e+04 2.351932226562500000e+04
|
|
15
|
+
1.979911718750000000e+04 2.353917187500000000e+04
|
|
16
|
+
1.974989453125000000e+04 2.351380468750000000e+04
|
|
17
|
+
1.971911914062500000e+04 2.353470703125000000e+04
|
|
18
|
+
1.968275976562500000e+04 2.350535937500000000e+04
|
|
19
|
+
1.965597460937500000e+04 2.354041406250000000e+04
|
|
20
|
+
1.960955078125000000e+04 2.354081835937500000e+04
|
|
21
|
+
1.956032617187500000e+04 2.351545117187500000e+04
|
|
22
|
+
1.954836718750000000e+04 2.347428320312500000e+04
|
|
23
|
+
1.947315429687500000e+04 2.342592773437500000e+04
|
|
24
|
+
1.939641992187500000e+04 2.335050000000000000e+04
|
|
25
|
+
1.934934570312500000e+04 2.327481445312500000e+04
|
|
26
|
+
1.927438476562500000e+04 2.325611914062500000e+04
|
|
27
|
+
1.920283203125000000e+04 2.318322656250000000e+04
|
|
28
|
+
1.916012109375000000e+04 2.316554101562500000e+04
|
|
29
|
+
1.914307031250000000e+04 2.313215429687500000e+04
|
|
30
|
+
1.911074218750000000e+04 2.312211718750000000e+04
|
|
31
|
+
1.912474804687500000e+04 2.310087109375000000e+04
|
|
32
|
+
1.909763671875000000e+04 2.308096093750000000e+04
|
|
33
|
+
1.900979296875000000e+04 2.308043359375000000e+04
|
|
34
|
+
1.899569531250000000e+04 2.309087304687500000e+04
|
|
35
|
+
1.895284179687500000e+04 2.305642382812500000e+04
|
|
36
|
+
1.889984765625000000e+04 2.304269531250000000e+04
|
|
37
|
+
1.882214257812500000e+04 2.300467968750000000e+04
|
|
38
|
+
1.875972460937500000e+04 2.294460351562500000e+04
|
|
39
|
+
1.866389843750000000e+04 2.289900585937500000e+04
|
|
40
|
+
1.854620507812500000e+04 2.286004492187500000e+04
|
|
41
|
+
1.847483593750000000e+04 2.280907421875000000e+04
|
|
42
|
+
1.844240234375000000e+04 2.283337109375000000e+04
|
|
43
|
+
1.838576757812500000e+04 2.282527343750000000e+04
|
|
44
|
+
1.829405273437500000e+04 2.276732226562500000e+04
|
|
45
|
+
1.822769531250000000e+04 2.269442187500000000e+04
|
|
46
|
+
1.812605273437500000e+04 2.264884765625000000e+04
|
|
47
|
+
1.801439062500000000e+04 2.258997265625000000e+04
|
|
48
|
+
1.797648242187500000e+04 2.254728906250000000e+04
|
|
49
|
+
1.790965429687500000e+04 2.252949023437500000e+04
|
|
50
|
+
1.783273437500000000e+04 2.249144140625000000e+04
|
|
51
|
+
1.775533203125000000e+04 2.247691992187500000e+04
|
|
52
|
+
1.766158398437500000e+04 2.242877539062500000e+04
|
|
53
|
+
1.760719335937500000e+04 2.238886523437500000e+04
|
|
54
|
+
1.754871875000000000e+04 2.237379296875000000e+04
|
|
55
|
+
1.751932617187500000e+04 2.233774218750000000e+04
|
|
56
|
+
1.730468945312500000e+04 2.226163867187500000e+04
|
|
57
|
+
1.716951367187500000e+04 2.222368164062500000e+04
|
|
58
|
+
1.704849804687500000e+04 2.216455273437500000e+04
|
|
59
|
+
1.695317578125000000e+04 2.213281250000000000e+04
|
|
60
|
+
1.683397070312500000e+04 2.207413281250000000e+04
|
|
61
|
+
1.674663085937500000e+04 2.200170312500000000e+04
|
|
62
|
+
1.667750976562500000e+04 2.197936523437500000e+04
|
|
63
|
+
1.653255078125000000e+04 2.190480468750000000e+04
|
|
64
|
+
1.645490625000000000e+04 2.188717187500000000e+04
|
|
65
|
+
1.632388867187500000e+04 2.183085351562500000e+04
|
|
66
|
+
1.627165332031250000e+04 2.179719921875000000e+04
|
|
67
|
+
1.619081542968750000e+04 2.176954882812500000e+04
|
|
68
|
+
1.606919335937500000e+04 2.170218554687500000e+04
|
|
69
|
+
1.601641015625000000e+04 2.165886523437500000e+04
|
|
70
|
+
1.589643554687500000e+04 2.160764648437500000e+04
|
|
71
|
+
1.581010742187500000e+04 2.156095703125000000e+04
|
|
72
|
+
1.574621582031250000e+04 2.153803125000000000e+04
|
|
73
|
+
1.558749316406250000e+04 2.145598242187500000e+04
|
|
74
|
+
1.543580566406250000e+04 2.135831835937500000e+04
|
|
75
|
+
1.535383300781250000e+04 2.132332421875000000e+04
|
|
76
|
+
1.528976367187500000e+04 2.126484765625000000e+04
|
|
77
|
+
1.523956640625000000e+04 2.123276171875000000e+04
|
|
78
|
+
1.519392089843750000e+04 2.118129296875000000e+04
|
|
79
|
+
1.511895312500000000e+04 2.112278125000000000e+04
|
|
80
|
+
1.503601660156250000e+04 2.104036328125000000e+04
|
|
81
|
+
1.494150000000000000e+04 2.098348046875000000e+04
|
|
82
|
+
1.485238964843750000e+04 2.095083203125000000e+04
|
|
83
|
+
1.479880859375000000e+04 2.090628125000000000e+04
|
|
84
|
+
1.473879199218750000e+04 2.089159960937500000e+04
|
|
85
|
+
1.466992480468750000e+04 2.084809765625000000e+04
|
|
86
|
+
1.460319824218750000e+04 2.082539062500000000e+04
|
|
87
|
+
1.452040625000000000e+04 2.076732031250000000e+04
|
|
88
|
+
1.435269726562500000e+04 2.067397460937500000e+04
|
|
89
|
+
1.418946777343750000e+04 2.059455468750000000e+04
|
|
90
|
+
1.413737792968750000e+04 2.055846289062500000e+04
|
|
91
|
+
1.397711718750000000e+04 2.049582031250000000e+04
|
|
92
|
+
1.396131054687500000e+04 2.047391992187500000e+04
|
|
93
|
+
1.385148730468750000e+04 2.041424023437500000e+04
|
|
94
|
+
1.374012011718750000e+04 2.038053710937500000e+04
|
|
95
|
+
1.368979199218750000e+04 2.032446484375000000e+04
|
|
96
|
+
1.357850976562500000e+04 2.025732031250000000e+04
|
|
97
|
+
1.345941699218750000e+04 2.015480468750000000e+04
|
|
98
|
+
1.339886914062500000e+04 2.012197070312500000e+04
|
|
99
|
+
1.328145019531250000e+04 1.999242187500000000e+04
|
|
100
|
+
1.317935546875000000e+04 1.985132812500000000e+04
|
|
101
|
+
1.311469140625000000e+04 1.980786523437500000e+04
|
|
102
|
+
1.306388671875000000e+04 1.975793554687500000e+04
|
|
103
|
+
1.302976269531250000e+04 1.970267773437500000e+04
|
|
104
|
+
1.297900390625000000e+04 1.965950585937500000e+04
|
|
105
|
+
1.293863574218750000e+04 1.956527734375000000e+04
|
|
106
|
+
1.286706250000000000e+04 1.945950976562500000e+04
|
|
107
|
+
1.276580957031250000e+04 1.935908203125000000e+04
|
|
108
|
+
1.268605761718750000e+04 1.929478125000000000e+04
|
|
109
|
+
1.265612011718750000e+04 1.924507031250000000e+04
|
|
110
|
+
1.258577832031250000e+04 1.921758398437500000e+04
|
|
111
|
+
1.246133886718750000e+04 1.910845898437500000e+04
|
|
112
|
+
1.243359179687500000e+04 1.904793554687500000e+04
|
|
113
|
+
1.233253710937500000e+04 1.893472460937500000e+04
|
|
114
|
+
1.226178222656250000e+04 1.881623437500000000e+04
|
|
115
|
+
1.218814257812500000e+04 1.874299414062500000e+04
|
|
116
|
+
1.209400683593750000e+04 1.857976367187500000e+04
|
|
117
|
+
1.199378417968750000e+04 1.848818750000000000e+04
|
|
118
|
+
1.196227734375000000e+04 1.843443945312500000e+04
|
|
119
|
+
1.186742089843750000e+04 1.837880859375000000e+04
|
|
120
|
+
1.180190039062500000e+04 1.830043164062500000e+04
|
|
121
|
+
1.173422851562500000e+04 1.824772265625000000e+04
|
|
122
|
+
1.164022851562500000e+04 1.821220117187500000e+04
|
|
123
|
+
1.152188378906250000e+04 1.813688867187500000e+04
|
|
124
|
+
1.147341308593750000e+04 1.809890820312500000e+04
|
|
125
|
+
1.137171875000000000e+04 1.806403515625000000e+04
|
|
126
|
+
1.126145117187500000e+04 1.798162304687500000e+04
|
|
127
|
+
1.110342968750000000e+04 1.790550976562500000e+04
|
|
128
|
+
1.099955371093750000e+04 1.789867968750000000e+04
|
|
129
|
+
1.087742285156250000e+04 1.785025585937500000e+04
|
|
130
|
+
1.077609570312500000e+04 1.782286132812500000e+04
|
|
131
|
+
1.054201953125000000e+04 1.783133398437500000e+04
|
|
132
|
+
1.041437500000000000e+04 1.782599023437500000e+04
|
|
133
|
+
1.029124316406250000e+04 1.786110351562500000e+04
|
|
134
|
+
1.020952246093750000e+04 1.786258593750000000e+04
|
|
135
|
+
1.017280371093750000e+04 1.784928320312500000e+04
|
|
136
|
+
1.010682714843750000e+04 1.779159570312500000e+04
|
|
137
|
+
1.003645996093750000e+04 1.776483593750000000e+04
|
|
138
|
+
9.998660156250000000e+03 1.772768359375000000e+04
|
|
139
|
+
9.963460937500000000e+03 1.765066796875000000e+04
|
|
140
|
+
9.873398437500000000e+03 1.757876953125000000e+04
|
|
141
|
+
9.833862304687500000e+03 1.751049804687500000e+04
|
|
142
|
+
9.774826171875000000e+03 1.747555273437500000e+04
|
|
143
|
+
9.724547851562500000e+03 1.747375781250000000e+04
|
|
144
|
+
9.644480468750000000e+03 1.744701757812500000e+04
|
|
145
|
+
9.477606445312500000e+03 1.744846093750000000e+04
|
|
146
|
+
9.329179687500000000e+03 1.739299609375000000e+04
|
|
147
|
+
9.292694335937500000e+03 1.739331054687500000e+04
|
|
148
|
+
9.216972656250000000e+03 1.736797851562500000e+04
|
|
149
|
+
9.097304687500000000e+03 1.729554882812500000e+04
|
|
150
|
+
8.972371093750000000e+03 1.726189648437500000e+04
|
|
151
|
+
8.945245117187500000e+03 1.722702539062500000e+04
|
|
152
|
+
8.886674804687500000e+03 1.719972460937500000e+04
|
|
153
|
+
8.855001953125000000e+03 1.716859375000000000e+04
|
|
154
|
+
8.820028320312500000e+03 1.716171289062500000e+04
|
|
155
|
+
8.711138671875000000e+03 1.710685937500000000e+04
|
|
156
|
+
8.643079101562500000e+03 1.711325195312500000e+04
|
|
157
|
+
8.550609375000000000e+03 1.710824804687500000e+04
|
|
158
|
+
8.481304687500000000e+03 1.711529687500000000e+04
|
|
159
|
+
8.328781250000000000e+03 1.711016601562500000e+04
|
|
160
|
+
8.247391601562500000e+03 1.711731835937500000e+04
|
|
161
|
+
8.090074218750000000e+03 1.711867968750000000e+04
|
|
162
|
+
7.914561523437500000e+03 1.716275976562500000e+04
|
|
163
|
+
7.812727050781250000e+03 1.716364062500000000e+04
|
|
164
|
+
7.713734863281250000e+03 1.718771289062500000e+04
|
|
165
|
+
7.639409667968750000e+03 1.718835546875000000e+04
|
|
166
|
+
7.522776367187500000e+03 1.722640429687500000e+04
|
|
167
|
+
7.445793457031250000e+03 1.731133007812500000e+04
|
|
168
|
+
7.422085937500000000e+03 1.732026562500000000e+04
|
|
169
|
+
7.371176757812500000e+03 1.740150976562500000e+04
|
|
170
|
+
7.377716796875000000e+03 1.750098242187500000e+04
|
|
171
|
+
7.433875976562500000e+03 1.756747265625000000e+04
|
|
172
|
+
7.461587890625000000e+03 1.766317773437500000e+04
|
|
173
|
+
7.526603515625000000e+03 1.779081640625000000e+04
|
|
174
|
+
7.579823242187500000e+03 1.783780664062500000e+04
|
|
175
|
+
7.618174804687500000e+03 1.789868554687500000e+04
|
|
176
|
+
7.641685546875000000e+03 1.798422460937500000e+04
|
|
177
|
+
7.643786621093750000e+03 1.808340039062500000e+04
|
|
178
|
+
7.656231445312500000e+03 1.816142578125000000e+04
|
|
179
|
+
7.630340820312500000e+03 1.822558398437500000e+04
|
|
180
|
+
7.618059570312500000e+03 1.828997070312500000e+04
|
|
181
|
+
7.535269531250000000e+03 1.839992968750000000e+04
|
|
182
|
+
7.479681640625000000e+03 1.844047460937500000e+04
|
|
183
|
+
7.428769042968750000e+03 1.853045703125000000e+04
|
|
184
|
+
7.352376464843750000e+03 1.858624218750000000e+04
|
|
185
|
+
7.281804687500000000e+03 1.865902734375000000e+04
|
|
186
|
+
7.206596679687500000e+03 1.868304882812500000e+04
|
|
187
|
+
7.005042968750000000e+03 1.868479296875000000e+04
|
|
188
|
+
6.952565429687500000e+03 1.866725390625000000e+04
|
|
189
|
+
6.832694335937500000e+03 1.857284960937500000e+04
|
|
190
|
+
6.772167480468750000e+03 1.849356250000000000e+04
|
|
191
|
+
6.652600585937500000e+03 1.838494140625000000e+04
|
|
192
|
+
6.608810546875000000e+03 1.835467578125000000e+04
|
|
193
|
+
6.564916992187500000e+03 1.827479492187500000e+04
|
|
194
|
+
6.526380371093750000e+03 1.824200781250000000e+04
|
|
195
|
+
6.479379394531250000e+03 1.822985156250000000e+04
|
|
196
|
+
6.384748046875000000e+03 1.818332421875000000e+04
|
|
197
|
+
6.270885742187500000e+03 1.810817382812500000e+04
|
|
198
|
+
6.201706542968750000e+03 1.810877343750000000e+04
|
|
199
|
+
6.161563476562500000e+03 1.808716796875000000e+04
|
|
200
|
+
5.952607421875000000e+03 1.808900195312500000e+04
|
|
201
|
+
5.821907714843750000e+03 1.814706250000000000e+04
|
|
202
|
+
5.763791992187500000e+03 1.820292187500000000e+04
|
|
203
|
+
5.725899414062500000e+03 1.827377343750000000e+04
|
|
204
|
+
5.717454101562500000e+03 1.831622656250000000e+04
|
|
205
|
+
5.690277343750000000e+03 1.834616601562500000e+04
|
|
206
|
+
5.676694335937500000e+03 1.839408203125000000e+04
|
|
207
|
+
5.561963378906250000e+03 1.851080273437500000e+04
|
|
208
|
+
5.485389648437500000e+03 1.866568164062500000e+04
|
|
209
|
+
5.409885742187500000e+03 1.874379882812500000e+04
|
|
210
|
+
5.335548828125000000e+03 1.879861132812500000e+04
|
|
211
|
+
5.283369140625000000e+03 1.881576562500000000e+04
|
|
212
|
+
5.120507324218750000e+03 1.881717382812500000e+04
|
|
213
|
+
5.029332031250000000e+03 1.879312109375000000e+04
|
|
214
|
+
4.867397949218750000e+03 1.870283398437500000e+04
|
|
215
|
+
4.795847656250000000e+03 1.865103710937500000e+04
|
|
216
|
+
4.778916992187500000e+03 1.861247851562500000e+04
|
|
217
|
+
4.715666015625000000e+03 1.858096289062500000e+04
|
|
218
|
+
4.638639160156250000e+03 1.857628906250000000e+04
|
|
219
|
+
4.491806640625000000e+03 1.853079296875000000e+04
|
|
220
|
+
4.460532714843750000e+03 1.851463281250000000e+04
|
|
221
|
+
4.286552734375000000e+03 1.851598437500000000e+04
|
|
222
|
+
4.186043945312500000e+03 1.854796289062500000e+04
|
|
223
|
+
4.136017089843750000e+03 1.854839453125000000e+04
|
|
224
|
+
4.101404296875000000e+03 1.857746875000000000e+04
|
|
225
|
+
4.059087890625000000e+03 1.858664453125000000e+04
|
|
226
|
+
4.032560302734375000e+03 1.861255273437500000e+04
|
|
227
|
+
3.989743896484375000e+03 1.862205468750000000e+04
|
|
228
|
+
3.746425537109375000e+03 1.886962695312500000e+04
|
|
229
|
+
3.733618896484375000e+03 1.891776953125000000e+04
|
|
230
|
+
3.658141845703125000e+03 1.899587304687500000e+04
|
|
231
|
+
3.623775390625000000e+03 1.906561132812500000e+04
|
|
232
|
+
3.615143554687500000e+03 1.910877734375000000e+04
|
|
233
|
+
3.585714843750000000e+03 1.914373828125000000e+04
|
|
234
|
+
3.586441162109375000e+03 1.922823828125000000e+04
|
|
235
|
+
3.552091064453125000e+03 1.928332421875000000e+04
|
|
236
|
+
3.552828857421875000e+03 1.936911328125000000e+04
|
|
237
|
+
3.518478759765625000e+03 1.942419921875000000e+04
|
|
238
|
+
3.513024414062500000e+03 1.949480859375000000e+04
|
|
239
|
+
3.486005615234375000e+03 1.952352148437500000e+04
|
|
240
|
+
3.473926513671875000e+03 1.958267187500000000e+04
|
|
241
|
+
3.430375244140625000e+03 1.971651367187500000e+04
|
|
242
|
+
3.385135498046875000e+03 1.980853125000000000e+04
|
|
243
|
+
3.329718994140625000e+03 1.986599218750000000e+04
|
|
244
|
+
3.278843261718750000e+03 2.000886132812500000e+04
|
|
245
|
+
3.252946044921875000e+03 2.003743554687500000e+04
|
|
246
|
+
3.244315429687500000e+03 2.008060156250000000e+04
|
|
247
|
+
3.218855957031250000e+03 2.010758398437500000e+04
|
|
248
|
+
3.210412841796875000e+03 2.015003906250000000e+04
|
|
249
|
+
3.184515625000000000e+03 2.017861328125000000e+04
|
|
250
|
+
3.149002685546875000e+03 2.029160742187500000e+04
|
|
251
|
+
3.098723388671875000e+03 2.040473242187500000e+04
|
|
252
|
+
3.090038330078125000e+03 2.044450585937500000e+04
|
|
253
|
+
3.093437744140625000e+03 2.083804101562500000e+04
|
|
254
|
+
3.126782226562500000e+03 2.096531250000000000e+04
|
|
255
|
+
3.127619873046875000e+03 2.106216796875000000e+04
|
|
256
|
+
3.180916748046875000e+03 2.119673437500000000e+04
|
|
257
|
+
3.261877441406250000e+03 2.132216210937500000e+04
|
|
258
|
+
3.296692382812500000e+03 2.141200390625000000e+04
|
|
259
|
+
3.300525634765625000e+03 2.145102539062500000e+04
|
|
260
|
+
3.329916992187500000e+03 2.152521875000000000e+04
|
|
261
|
+
3.354444580078125000e+03 2.163790039062500000e+04
|
|
262
|
+
3.370982421875000000e+03 2.176028906250000000e+04
|
|
263
|
+
3.377687500000000000e+03 2.193858398437500000e+04
|
|
264
|
+
3.349148193359375000e+03 2.215449804687500000e+04
|
|
265
|
+
3.349399414062500000e+03 2.224585351562500000e+04
|
|
266
|
+
3.359076171875000000e+03 2.232052539062500000e+04
|
|
267
|
+
3.350291259765625000e+03 2.234856445312500000e+04
|
|
268
|
+
3.351404052734375000e+03 2.247671093750000000e+04
|
|
269
|
+
3.373951660156250000e+03 2.255569726562500000e+04
|
|
270
|
+
3.418291992187500000e+03 2.260006835937500000e+04
|
|
271
|
+
3.447371826171875000e+03 2.268570507812500000e+04
|
|
272
|
+
3.447765136718750000e+03 2.273097460937500000e+04
|
|
273
|
+
3.486172607421875000e+03 2.278719921875000000e+04
|
|
274
|
+
3.482500976562500000e+03 2.292713671875000000e+04
|
|
275
|
+
3.528857666015625000e+03 2.296607421875000000e+04
|
|
276
|
+
3.538603759765625000e+03 2.303229882812500000e+04
|
|
277
|
+
3.511715820312500000e+03 2.311427929687500000e+04
|
|
278
|
+
3.523372314453125000e+03 2.315990234375000000e+04
|
|
279
|
+
3.562746826171875000e+03 2.319086523437500000e+04
|
|
280
|
+
3.589098388671875000e+03 2.323704492187500000e+04
|
|
281
|
+
3.661531982421875000e+03 2.330539648437500000e+04
|
|
282
|
+
3.755188232421875000e+03 2.336554101562500000e+04
|
|
283
|
+
3.799999023437500000e+03 2.340762695312500000e+04
|
|
284
|
+
3.846763183593750000e+03 2.342958593750000000e+04
|
|
285
|
+
3.968414306640625000e+03 2.343573046875000000e+04
|
|
286
|
+
4.014926757812500000e+03 2.341394140625000000e+04
|
|
287
|
+
4.285226074218750000e+03 2.341160156250000000e+04
|
|
288
|
+
4.363020996093750000e+03 2.337712109375000000e+04
|
|
289
|
+
4.474038574218750000e+03 2.337514062500000000e+04
|
|
290
|
+
4.588990722656250000e+03 2.338059375000000000e+04
|
|
291
|
+
4.645762695312500000e+03 2.340099804687500000e+04
|
|
292
|
+
4.783469238281250000e+03 2.355820703125000000e+04
|
|
293
|
+
4.818433593750000000e+03 2.363371875000000000e+04
|
|
294
|
+
4.848883300781250000e+03 2.366469335937500000e+04
|
|
295
|
+
4.869827636718750000e+03 2.373280859375000000e+04
|
|
296
|
+
4.977874023437500000e+03 2.383995898437500000e+04
|
|
297
|
+
5.027005859375000000e+03 2.394141406250000000e+04
|
|
298
|
+
5.113432128906250000e+03 2.398735742187500000e+04
|
|
299
|
+
5.164187988281250000e+03 2.403084765625000000e+04
|
|
300
|
+
5.187327636718750000e+03 2.406953515625000000e+04
|
|
301
|
+
5.291292480468750000e+03 2.412124609375000000e+04
|
|
302
|
+
5.365128417968750000e+03 2.419656445312500000e+04
|
|
303
|
+
5.426392089843750000e+03 2.422333789062500000e+04
|
|
304
|
+
5.457322265625000000e+03 2.426802148437500000e+04
|
|
305
|
+
5.501503417968750000e+03 2.427331250000000000e+04
|
|
306
|
+
5.585341796875000000e+03 2.431833593750000000e+04
|
|
307
|
+
5.696886230468750000e+03 2.442140625000000000e+04
|
|
308
|
+
5.780453613281250000e+03 2.445751953125000000e+04
|
|
309
|
+
5.820649902343750000e+03 2.451921093750000000e+04
|
|
310
|
+
5.833442871093750000e+03 2.457097656250000000e+04
|
|
311
|
+
5.893768066406250000e+03 2.459364453125000000e+04
|
|
312
|
+
5.938048828125000000e+03 2.462519726562500000e+04
|
|
313
|
+
5.982570312500000000e+03 2.470219921875000000e+04
|
|
314
|
+
6.004197265625000000e+03 2.477462890625000000e+04
|
|
315
|
+
6.168975585937500000e+03 2.492888085937500000e+04
|
|
316
|
+
6.179100097656250000e+03 2.496739843750000000e+04
|
|
317
|
+
6.231009765625000000e+03 2.507829687500000000e+04
|
|
318
|
+
6.308170898437500000e+03 2.517711132812500000e+04
|
|
319
|
+
6.333130371093750000e+03 2.522637304687500000e+04
|
|
320
|
+
6.347707519531250000e+03 2.529936523437500000e+04
|
|
321
|
+
6.415401855468750000e+03 2.538333984375000000e+04
|
|
322
|
+
6.459376464843750000e+03 2.546128906250000000e+04
|
|
323
|
+
6.637791015625000000e+03 2.564421093750000000e+04
|
|
324
|
+
6.679791015625000000e+03 2.567899414062500000e+04
|
|
325
|
+
6.720562988281250000e+03 2.575946093750000000e+04
|
|
326
|
+
6.794536132812500000e+03 2.585359570312500000e+04
|
|
327
|
+
6.913812011718750000e+03 2.599312500000000000e+04
|
|
328
|
+
7.010680175781250000e+03 2.606686328125000000e+04
|
|
329
|
+
7.098095214843750000e+03 2.617323632812500000e+04
|
|
330
|
+
7.171892578125000000e+03 2.628282421875000000e+04
|
|
331
|
+
7.231979003906250000e+03 2.633450195312500000e+04
|
|
332
|
+
7.310220214843750000e+03 2.646864843750000000e+04
|
|
333
|
+
7.383843261718750000e+03 2.651822265625000000e+04
|
|
334
|
+
7.487861328125000000e+03 2.662673437500000000e+04
|
|
335
|
+
7.541147460937500000e+03 2.665875000000000000e+04
|
|
336
|
+
7.629165039062500000e+03 2.673227929687500000e+04
|
|
337
|
+
7.660623535156250000e+03 2.679626562500000000e+04
|
|
338
|
+
7.829224609375000000e+03 2.690717187500000000e+04
|
|
339
|
+
7.903329101562500000e+03 2.697215429687500000e+04
|
|
340
|
+
8.014062011718750000e+03 2.702243750000000000e+04
|
|
341
|
+
8.191990234375000000e+03 2.714118164062500000e+04
|
|
342
|
+
8.274635742187500000e+03 2.722880273437500000e+04
|
|
343
|
+
8.300904296875000000e+03 2.727598828125000000e+04
|
|
344
|
+
8.392316406250000000e+03 2.733807421875000000e+04
|
|
345
|
+
8.466873046875000000e+03 2.740474218750000000e+04
|
|
346
|
+
8.498178710937500000e+03 2.744824609375000000e+04
|
|
347
|
+
8.537940429687500000e+03 2.747352929687500000e+04
|
|
348
|
+
8.663455078125000000e+03 2.759689453125000000e+04
|
|
349
|
+
8.693246093750000000e+03 2.765316796875000000e+04
|
|
350
|
+
8.811126953125000000e+03 2.769962304687500000e+04
|
|
351
|
+
8.928100585937500000e+03 2.780034765625000000e+04
|
|
352
|
+
9.119741210937500000e+03 2.789170312500000000e+04
|
|
353
|
+
9.141291992187500000e+03 2.792733398437500000e+04
|
|
354
|
+
9.120637695312500000e+03 2.796516406250000000e+04
|
|
355
|
+
9.160181640625000000e+03 2.798921093750000000e+04
|
|
356
|
+
9.242094726562500000e+03 2.806857031250000000e+04
|
|
357
|
+
9.278351562500000000e+03 2.808233984375000000e+04
|
|
358
|
+
9.342726562500000000e+03 2.814561328125000000e+04
|
|
359
|
+
9.357148437500000000e+03 2.818157617187500000e+04
|
|
360
|
+
9.579760742187500000e+03 2.840159375000000000e+04
|
|
361
|
+
9.594115234375000000e+03 2.843874414062500000e+04
|
|
362
|
+
9.651414062500000000e+03 2.849504882812500000e+04
|
|
363
|
+
9.665859375000000000e+03 2.853227734375000000e+04
|
|
364
|
+
9.723157226562500000e+03 2.858858203125000000e+04
|
|
365
|
+
9.737551757812500000e+03 2.862591210937500000e+04
|
|
366
|
+
9.787964843750000000e+03 2.867638281250000000e+04
|
|
367
|
+
9.896620117187500000e+03 2.873605859375000000e+04
|
|
368
|
+
9.984408203125000000e+03 2.882234570312500000e+04
|
|
369
|
+
1.000492285156250000e+04 2.886496289062500000e+04
|
|
370
|
+
1.003970312500000000e+04 2.887669531250000000e+04
|
|
371
|
+
1.019773046875000000e+04 2.903201953125000000e+04
|
|
372
|
+
1.021217578125000000e+04 2.906924609375000000e+04
|
|
373
|
+
1.026947265625000000e+04 2.912555078125000000e+04
|
|
374
|
+
1.028396679687500000e+04 2.916395117187500000e+04
|
|
375
|
+
1.038789843750000000e+04 2.926495507812500000e+04
|
|
376
|
+
1.044952441406250000e+04 2.937286523437500000e+04
|
|
377
|
+
1.053023437500000000e+04 2.945218359375000000e+04
|
|
378
|
+
1.054467871093750000e+04 2.948941015625000000e+04
|
|
379
|
+
1.076847851562500000e+04 2.971065039062500000e+04
|
|
380
|
+
1.078291113281250000e+04 2.974658789062500000e+04
|
|
381
|
+
1.095278320312500000e+04 2.991355664062500000e+04
|
|
382
|
+
1.098896093750000000e+04 2.992736523437500000e+04
|
|
383
|
+
1.104753320312500000e+04 2.998365820312500000e+04
|
|
384
|
+
1.115485351562500000e+04 3.004308593750000000e+04
|
|
385
|
+
1.123694335937500000e+04 3.012264843750000000e+04
|
|
386
|
+
1.127424218750000000e+04 3.013646093750000000e+04
|
|
387
|
+
1.152166796875000000e+04 3.037936718750000000e+04
|
|
388
|
+
1.157652050781250000e+04 3.041132812500000000e+04
|
|
389
|
+
1.161271484375000000e+04 3.046887304687500000e+04
|
|
390
|
+
1.172190820312500000e+04 3.052887890625000000e+04
|
|
391
|
+
1.175431640625000000e+04 3.056169140625000000e+04
|
|
392
|
+
1.186287500000000000e+04 3.062140625000000000e+04
|
|
393
|
+
1.196790136718750000e+04 3.070061328125000000e+04
|
|
394
|
+
1.210007910156250000e+04 3.076121679687500000e+04
|
|
395
|
+
1.228117480468750000e+04 3.086563281250000000e+04
|
|
396
|
+
1.234582812500000000e+04 3.088574414062500000e+04
|
|
397
|
+
1.247823535156250000e+04 3.094623046875000000e+04
|
|
398
|
+
1.251080371093750000e+04 3.097825585937500000e+04
|
|
399
|
+
1.289564648437500000e+04 3.116595703125000000e+04
|
|
400
|
+
1.300103515625000000e+04 3.118902929687500000e+04
|
|
401
|
+
1.310840136718750000e+04 3.123504101562500000e+04
|
|
402
|
+
1.315871679687500000e+04 3.123460156250000000e+04
|
|
403
|
+
1.324943164062500000e+04 3.128024218750000000e+04
|
|
404
|
+
1.330091992187500000e+04 3.127979492187500000e+04
|
|
405
|
+
1.341481640625000000e+04 3.132652343750000000e+04
|
|
406
|
+
1.344941894531250000e+04 3.132692968750000000e+04
|
|
407
|
+
1.353224316406250000e+04 3.136078710937500000e+04
|
|
408
|
+
1.356682519531250000e+04 3.134841406250000000e+04
|
|
409
|
+
1.372189550781250000e+04 3.134706054687500000e+04
|
|
410
|
+
1.376594824218750000e+04 3.137118359375000000e+04
|
|
411
|
+
1.388590625000000000e+04 3.137013671875000000e+04
|
|
412
|
+
1.392992187500000000e+04 3.139296875000000000e+04
|
|
413
|
+
1.415975390625000000e+04 3.139096484375000000e+04
|
|
414
|
+
1.420272460937500000e+04 3.136737304687500000e+04
|
|
415
|
+
1.427623632812500000e+04 3.136673242187500000e+04
|
|
416
|
+
1.431986718750000000e+04 3.134184570312500000e+04
|
|
417
|
+
1.438080664062500000e+04 3.134131445312500000e+04
|
|
418
|
+
1.442485839843750000e+04 3.136543554687500000e+04
|
|
419
|
+
1.447516015625000000e+04 3.136499804687500000e+04
|
|
420
|
+
1.451853125000000000e+04 3.138783593750000000e+04
|
|
421
|
+
1.488891210937500000e+04 3.138460546875000000e+04
|
|
422
|
+
1.493252832031250000e+04 3.136100781250000000e+04
|
|
423
|
+
1.510019531250000000e+04 3.135954687500000000e+04
|
|
424
|
+
1.514382519531250000e+04 3.133466015625000000e+04
|
|
425
|
+
1.535982128906250000e+04 3.133277539062500000e+04
|
|
426
|
+
1.540279199218750000e+04 3.130918554687500000e+04
|
|
427
|
+
1.545308007812500000e+04 3.130874609375000000e+04
|
|
428
|
+
1.553514843750000000e+04 3.126237304687500000e+04
|
|
429
|
+
1.557003417968750000e+04 3.126129492187500000e+04
|
|
430
|
+
1.566116210937500000e+04 3.121277929687500000e+04
|
|
431
|
+
1.573466113281250000e+04 3.121213867187500000e+04
|
|
432
|
+
1.577827636718750000e+04 3.118854296875000000e+04
|
|
433
|
+
1.601299316406250000e+04 3.118778515625000000e+04
|
|
434
|
+
1.605660937500000000e+04 3.116418945312500000e+04
|
|
435
|
+
1.613014648437500000e+04 3.116354687500000000e+04
|
|
436
|
+
1.617377734375000000e+04 3.113866210937500000e+04
|
|
437
|
+
1.622526562500000000e+04 3.113821289062500000e+04
|
|
438
|
+
1.634011523437500000e+04 3.107394726562500000e+04
|
|
439
|
+
1.646544140625000000e+04 3.101620898437500000e+04
|
|
440
|
+
1.657506640625000000e+04 3.095324023437500000e+04
|
|
441
|
+
1.660423828125000000e+04 3.094586718750000000e+04
|
|
442
|
+
1.664687695312500000e+04 3.090618359375000000e+04
|
|
443
|
+
1.672301367187500000e+04 3.087316015625000000e+04
|
|
444
|
+
1.685006835937500000e+04 3.075233789062500000e+04
|
|
445
|
+
1.687947070312500000e+04 3.068923046875000000e+04
|
|
446
|
+
1.701177148437500000e+04 3.055460156250000000e+04
|
|
447
|
+
1.704899414062500000e+04 3.054015429687500000e+04
|
|
448
|
+
1.710529492187500000e+04 3.048284960937500000e+04
|
|
449
|
+
1.714380468750000000e+04 3.046839062500000000e+04
|
|
450
|
+
1.719882812500000000e+04 3.041238671875000000e+04
|
|
451
|
+
1.723604882812500000e+04 3.039793945312500000e+04
|
|
452
|
+
1.737997460937500000e+04 3.025016992187500000e+04
|
|
453
|
+
1.741167187500000000e+04 3.017346289062500000e+04
|
|
454
|
+
1.745111914062500000e+04 3.010413085937500000e+04
|
|
455
|
+
1.745164648437500000e+04 3.006772851562500000e+04
|
|
456
|
+
1.747500195312500000e+04 3.003178710937500000e+04
|
|
457
|
+
1.754283007812500000e+04 2.982087500000000000e+04
|
|
458
|
+
1.754238867187500000e+04 2.976937890625000000e+04
|
|
459
|
+
1.756651367187500000e+04 2.972531835937500000e+04
|
|
460
|
+
1.756547460937500000e+04 2.960407812500000000e+04
|
|
461
|
+
1.758831640625000000e+04 2.956069726562500000e+04
|
|
462
|
+
1.758787890625000000e+04 2.950974414062500000e+04
|
|
463
|
+
1.761072460937500000e+04 2.946689257812500000e+04
|
|
464
|
+
1.761028320312500000e+04 2.941539648437500000e+04
|
|
465
|
+
1.763312890625000000e+04 2.937254687500000000e+04
|
|
466
|
+
1.763268750000000000e+04 2.932105078125000000e+04
|
|
467
|
+
1.765681250000000000e+04 2.927698828125000000e+04
|
|
468
|
+
1.765638085937500000e+04 2.922667968750000000e+04
|
|
469
|
+
1.770183593750000000e+04 2.911345703125000000e+04
|
|
470
|
+
1.773152539062500000e+04 2.896630859375000000e+04
|
|
471
|
+
1.772811328125000000e+04 2.856783203125000000e+04
|
|
472
|
+
1.771992187500000000e+04 2.851486914062500000e+04
|
|
473
|
+
1.768052734375000000e+04 2.843237109375000000e+04
|
|
474
|
+
1.768010156250000000e+04 2.838266796875000000e+04
|
|
475
|
+
1.765521875000000000e+04 2.833841406250000000e+04
|
|
476
|
+
1.765418164062500000e+04 2.821726367187500000e+04
|
|
477
|
+
1.763060546875000000e+04 2.817481640625000000e+04
|
|
478
|
+
1.762995898437500000e+04 2.809935937500000000e+04
|
|
479
|
+
1.760721875000000000e+04 2.806417968750000000e+04
|
|
480
|
+
1.759666992187500000e+04 2.799957812500000000e+04
|
|
481
|
+
1.754902539062500000e+04 2.788883007812500000e+04
|
|
482
|
+
1.748198828125000000e+04 2.776368750000000000e+04
|
|
483
|
+
1.744511718750000000e+04 2.772740625000000000e+04
|
|
484
|
+
1.741468359375000000e+04 2.765823046875000000e+04
|
|
485
|
+
1.741353320312500000e+04 2.752397851562500000e+04
|
|
486
|
+
1.740342968750000000e+04 2.746605273437500000e+04
|
|
487
|
+
1.742522070312500000e+04 2.738745898437500000e+04
|
|
488
|
+
1.747479882812500000e+04 2.730527148437500000e+04
|
|
489
|
+
1.760346093750000000e+04 2.717260937500000000e+04
|
|
490
|
+
1.767556835937500000e+04 2.712644140625000000e+04
|
|
491
|
+
1.774347265625000000e+04 2.705795898437500000e+04
|
|
492
|
+
1.788370507812500000e+04 2.696279296875000000e+04
|
|
493
|
+
1.800704296875000000e+04 2.690249414062500000e+04
|
|
494
|
+
1.807427734375000000e+04 2.685342773437500000e+04
|
|
495
|
+
1.815277539062500000e+04 2.677356835937500000e+04
|
|
496
|
+
1.824125390625000000e+04 2.662240039062500000e+04
|
|
497
|
+
1.829629296875000000e+04 2.656641210937500000e+04
|
|
498
|
+
1.830515429687500000e+04 2.653504492187500000e+04
|
|
499
|
+
1.841929296875000000e+04 2.640612304687500000e+04
|
|
500
|
+
1.854045117187500000e+04 2.635758203125000000e+04
|
|
501
|
+
1.873197265625000000e+04 2.635591601562500000e+04
|
|
502
|
+
1.877494726562500000e+04 2.633232617187500000e+04
|
|
503
|
+
1.887964453125000000e+04 2.633141601562500000e+04
|
|
504
|
+
1.891269335937500000e+04 2.631126562500000000e+04
|
|
505
|
+
1.896242382812500000e+04 2.631006054687500000e+04
|
|
506
|
+
1.900667773437500000e+04 2.628516992187500000e+04
|
|
507
|
+
1.905764062500000000e+04 2.628472656250000000e+04
|
|
508
|
+
1.912707617187500000e+04 2.626090820312500000e+04
|
|
509
|
+
1.920977148437500000e+04 2.621453125000000000e+04
|
|
510
|
+
1.924402734375000000e+04 2.621345898437500000e+04
|
|
511
|
+
1.931244921875000000e+04 2.617205664062500000e+04
|
|
512
|
+
1.939168164062500000e+04 2.613839062500000000e+04
|
|
513
|
+
1.946241796875000000e+04 2.609015820312500000e+04
|
|
514
|
+
1.956605273437500000e+04 2.598601367187500000e+04
|
|
515
|
+
1.960197460937500000e+04 2.597157812500000000e+04
|
|
516
|
+
1.969864453125000000e+04 2.587323437500000000e+04
|
|
517
|
+
1.973289062500000000e+04 2.579392578125000000e+04
|
|
518
|
+
1.982325976562500000e+04 2.565384960937500000e+04
|
|
519
|
+
1.986222656250000000e+04 2.561080859375000000e+04
|
|
520
|
+
1.991507031250000000e+04 2.549081640625000000e+04
|
|
521
|
+
1.993931835937500000e+04 2.546094140625000000e+04
|
|
522
|
+
1.995429882812500000e+04 2.540277343750000000e+04
|
|
523
|
+
1.997972656250000000e+04 2.539336914062500000e+04
|
|
524
|
+
1.997186718750000000e+04 2.534587304687500000e+04
|
|
525
|
+
2.000095507812500000e+04 2.527855273437500000e+04
|
|
526
|
+
1.999982226562500000e+04 2.514572070312500000e+04
|
|
527
|
+
2.003843164062500000e+04 2.513635742187500000e+04
|
|
528
|
+
2.002507421875000000e+04 2.508230468750000000e+04
|
|
529
|
+
1.998919726562500000e+04 2.510970117187500000e+04
|
|
530
|
+
1.998867968750000000e+04 2.504908789062500000e+04
|
|
531
|
+
2.001278515625000000e+04 2.500244726562500000e+04
|
|
532
|
+
2.001025390625000000e+04 2.485673046875000000e+04
|
|
533
|
+
2.002043750000000000e+04 2.484116601562500000e+04
|
|
534
|
+
2.002091406250000000e+04 2.474572070312500000e+04
|
|
535
|
+
2.006262109375000000e+04 2.464604882812500000e+04
|
|
536
|
+
2.013422070312500000e+04 2.457320312500000000e+04
|
|
537
|
+
2.019986718750000000e+04 2.455844531250000000e+04
|
|
538
|
+
2.019570117187500000e+04 2.452365820312500000e+04
|
|
539
|
+
2.026135156250000000e+04 2.435800195312500000e+04
|
|
540
|
+
2.026828515625000000e+04 2.426379296875000000e+04
|
|
541
|
+
2.025897265625000000e+04 2.423033984375000000e+04
|
|
542
|
+
2.029213085937500000e+04 2.421973437500000000e+04
|
|
543
|
+
2.025854492187500000e+04 2.418004492187500000e+04
|
|
544
|
+
2.026575390625000000e+04 2.411807421875000000e+04
|
|
545
|
+
2.029139257812500000e+04 2.413332812500000000e+04
|
|
546
|
+
2.029067968750000000e+04 2.404950195312500000e+04
|
|
547
|
+
3.321274169921875000e+03 2.034471093750000000e+04
|
|
548
|
+
3.370284423828125000e+03 2.018542773437500000e+04
|
|
549
|
+
3.480557128906250000e+03 2.006290234375000000e+04
|
|
550
|
+
3.652092773437500000e+03 1.997713281250000000e+04
|
|
551
|
+
3.786870849609375000e+03 2.003839648437500000e+04
|
|
552
|
+
3.823628417968750000e+03 2.020993164062500000e+04
|
|
553
|
+
3.823628417968750000e+03 2.035696289062500000e+04
|
|
554
|
+
3.762365722656250000e+03 2.061426562500000000e+04
|
|
555
|
+
3.701103027343750000e+03 2.072453906250000000e+04
|
|
556
|
+
3.603082763671875000e+03 2.083481250000000000e+04
|
|
557
|
+
3.321274169921875000e+03 2.034471093750000000e+04
|
|
558
|
+
2.029067968750000000e+04 2.404950195312500000e+04
|
|
559
|
+
3.627587646484375000e+03 2.183952148437500000e+04
|
|
560
|
+
3.713355468750000000e+03 2.165573242187500000e+04
|
|
561
|
+
3.884891113281250000e+03 2.139842968750000000e+04
|
|
562
|
+
4.044174316406250000e+03 2.138617578125000000e+04
|
|
563
|
+
4.240214843750000000e+03 2.166798437500000000e+04
|
|
564
|
+
4.240214843750000000e+03 2.180276367187500000e+04
|
|
565
|
+
4.129941894531250000e+03 2.208457226562500000e+04
|
|
566
|
+
3.970658935546875000e+03 2.221934960937500000e+04
|
|
567
|
+
3.848133544921875000e+03 2.228061132812500000e+04
|
|
568
|
+
3.725608154296875000e+03 2.224385546875000000e+04
|
|
569
|
+
3.627587646484375000e+03 2.183952148437500000e+04
|
|
570
|
+
2.029067968750000000e+04 2.404950195312500000e+04
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
from pathlib import Path
|
|
2
|
+
|
|
1
3
|
import numpy as np
|
|
2
4
|
import pytest
|
|
3
5
|
from PartSegCore_compiled_backend.triangulate import (
|
|
@@ -20,6 +22,8 @@ from PartSegCore_compiled_backend.triangulate import (
|
|
|
20
22
|
triangulate_polygon_with_edge_numpy_li,
|
|
21
23
|
)
|
|
22
24
|
|
|
25
|
+
DATA_DIR = Path(__file__).parent / 'data'
|
|
26
|
+
|
|
23
27
|
|
|
24
28
|
def test_on_segment():
|
|
25
29
|
assert on_segment((0, 0), (0, 1), (0, 2))
|
|
@@ -743,3 +747,15 @@ def test_is_convex_regular_polygon(angle, n_vertex, reverse):
|
|
|
743
747
|
rot = rotation_matrix(angle)
|
|
744
748
|
rotated_poly = np.dot(poly, rot)
|
|
745
749
|
assert is_convex(rotated_poly)
|
|
750
|
+
|
|
751
|
+
|
|
752
|
+
def test_hole_triangulation_precision():
|
|
753
|
+
# Polygon with two holes (napari single path encoding) from napari/bermuda#194.
|
|
754
|
+
# Float precision errors in orientation/intersection used to silently drop ~30% of the area.
|
|
755
|
+
vertices = np.loadtxt(DATA_DIR / 'create_holes_triangulation_failure.txt', dtype=np.float32)
|
|
756
|
+
triangles, points = triangulate_polygon_numpy_li([vertices])
|
|
757
|
+
tri_points = points.astype(np.float64)[triangles]
|
|
758
|
+
v1 = tri_points[:, 1] - tri_points[:, 0]
|
|
759
|
+
v2 = tri_points[:, 2] - tri_points[:, 0]
|
|
760
|
+
area = np.abs(v1[:, 0] * v2[:, 1] - v1[:, 1] * v2[:, 0]).sum() / 2
|
|
761
|
+
assert area == pytest.approx(139420612.3, rel=1e-6)
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
# file generated by setuptools-scm
|
|
2
|
-
# don't change, don't track in version control
|
|
3
|
-
|
|
4
|
-
__all__ = [
|
|
5
|
-
"__version__",
|
|
6
|
-
"__version_tuple__",
|
|
7
|
-
"version",
|
|
8
|
-
"version_tuple",
|
|
9
|
-
"__commit_id__",
|
|
10
|
-
"commit_id",
|
|
11
|
-
]
|
|
12
|
-
|
|
13
|
-
TYPE_CHECKING = False
|
|
14
|
-
if TYPE_CHECKING:
|
|
15
|
-
from typing import Tuple
|
|
16
|
-
from typing import Union
|
|
17
|
-
|
|
18
|
-
VERSION_TUPLE = Tuple[Union[int, str], ...]
|
|
19
|
-
COMMIT_ID = Union[str, None]
|
|
20
|
-
else:
|
|
21
|
-
VERSION_TUPLE = object
|
|
22
|
-
COMMIT_ID = object
|
|
23
|
-
|
|
24
|
-
version: str
|
|
25
|
-
__version__: str
|
|
26
|
-
__version_tuple__: VERSION_TUPLE
|
|
27
|
-
version_tuple: VERSION_TUPLE
|
|
28
|
-
commit_id: COMMIT_ID
|
|
29
|
-
__commit_id__: COMMIT_ID
|
|
30
|
-
|
|
31
|
-
__version__ = version = '0.15.14'
|
|
32
|
-
__version_tuple__ = version_tuple = (0, 15, 14)
|
|
33
|
-
|
|
34
|
-
__commit_id__ = commit_id = 'ga18220505'
|
|
File without changes
|
{partsegcore_compiled_backend-0.15.14 → partsegcore_compiled_backend-0.15.15}/CMakeLists.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{partsegcore_compiled_backend-0.15.14 → partsegcore_compiled_backend-0.15.15}/docs/calc_bounds.rst
RENAMED
|
File without changes
|
|
File without changes
|
{partsegcore_compiled_backend-0.15.14 → partsegcore_compiled_backend-0.15.15}/docs/fast_unique.rst
RENAMED
|
File without changes
|
{partsegcore_compiled_backend-0.15.14 → partsegcore_compiled_backend-0.15.15}/docs/index.rst
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{partsegcore_compiled_backend-0.15.14 → partsegcore_compiled_backend-0.15.15}/docs/sprawl_utils.rst
RENAMED
|
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
|
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|