regina 7.3.1.1__cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.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.
Potentially problematic release.
This version of regina might be problematic. Click here for more details.
- regina/__init__.py +203 -0
- regina/engine.cpython-312-aarch64-linux-gnu.so +0 -0
- regina/plainCompleter.py +221 -0
- regina/pyCensus/__init__.py +14 -0
- regina/pyCensus/christy-knots-links.tdb +0 -0
- regina/pyCensus/closed-hyp-census-full.tdb +0 -0
- regina/pyCensus/closed-nor-census-11.tdb +0 -0
- regina/pyCensus/closed-or-census-11.tdb +0 -0
- regina/pyCensus/cusped-hyp-nor-census-9.tdb +0 -0
- regina/pyCensus/cusped-hyp-or-census-9.tdb +0 -0
- regina/sageRegina/__init__.py +2 -0
- regina/sageRegina/config.py +9 -0
- regina/sageRegina/test.py +132 -0
- regina/sageRegina/testsuite/CMakeLists.txt +60 -0
- regina/sageRegina/testsuite/O2_1.rga +15 -0
- regina/sageRegina/testsuite/O2_1.tri +28 -0
- regina/sageRegina/testsuite/README.txt +20 -0
- regina/sageRegina/testsuite/alltypes.out +1551 -0
- regina/sageRegina/testsuite/alltypes.test +88 -0
- regina/sageRegina/testsuite/angles.out +102 -0
- regina/sageRegina/testsuite/angles.test +72 -0
- regina/sageRegina/testsuite/basic_callback.out +124 -0
- regina/sageRegina/testsuite/basic_sub.out +7 -0
- regina/sageRegina/testsuite/bool.out +6 -0
- regina/sageRegina/testsuite/bool.test +64 -0
- regina/sageRegina/testsuite/bytes.out +17 -0
- regina/sageRegina/testsuite/bytes.test +78 -0
- regina/sageRegina/testsuite/callbacks.out +515 -0
- regina/sageRegina/testsuite/callbacks.test +281 -0
- regina/sageRegina/testsuite/census.out +120 -0
- regina/sageRegina/testsuite/census.test +157 -0
- regina/sageRegina/testsuite/clone.out +18 -0
- regina/sageRegina/testsuite/clone.test +101 -0
- regina/sageRegina/testsuite/constructors.out +14 -0
- regina/sageRegina/testsuite/constructors.test +97 -0
- regina/sageRegina/testsuite/cube.orb +87 -0
- regina/sageRegina/testsuite/discs.out +3 -0
- regina/sageRegina/testsuite/discs.test +40 -0
- regina/sageRegina/testsuite/docstrings.filter +19 -0
- regina/sageRegina/testsuite/docstrings.out +808 -0
- regina/sageRegina/testsuite/docstrings.out.v2 +808 -0
- regina/sageRegina/testsuite/docstrings.test +57 -0
- regina/sageRegina/testsuite/dodec.orb +309 -0
- regina/sageRegina/testsuite/embeddings.out +23 -0
- regina/sageRegina/testsuite/embeddings.test +89 -0
- regina/sageRegina/testsuite/enumerate.out +62 -0
- regina/sageRegina/testsuite/enumerate.test +82 -0
- regina/sageRegina/testsuite/equality.out +112 -0
- regina/sageRegina/testsuite/equality.test +310 -0
- regina/sageRegina/testsuite/euler.out +15 -0
- regina/sageRegina/testsuite/euler.test +95 -0
- regina/sageRegina/testsuite/exception.out +7 -0
- regina/sageRegina/testsuite/exception.test +100 -0
- regina/sageRegina/testsuite/facenumbering.out +546 -0
- regina/sageRegina/testsuite/facenumbering.test +74 -0
- regina/sageRegina/testsuite/faces.out +40 -0
- regina/sageRegina/testsuite/faces.test +72 -0
- regina/sageRegina/testsuite/file.out +1229 -0
- regina/sageRegina/testsuite/file.test +70 -0
- regina/sageRegina/testsuite/file1.rga +0 -0
- regina/sageRegina/testsuite/file2.rga +0 -0
- regina/sageRegina/testsuite/file3.rga +119 -0
- regina/sageRegina/testsuite/flype.out +37 -0
- regina/sageRegina/testsuite/flype.test +50 -0
- regina/sageRegina/testsuite/generic.out +116 -0
- regina/sageRegina/testsuite/generic.test +76 -0
- regina/sageRegina/testsuite/groups.out +70 -0
- regina/sageRegina/testsuite/groups.test +117 -0
- regina/sageRegina/testsuite/hypersurfaces.out +681 -0
- regina/sageRegina/testsuite/hypersurfaces.test +90 -0
- regina/sageRegina/testsuite/i18n-latin1.rga +8 -0
- regina/sageRegina/testsuite/i18n-utf8.rga +8 -0
- regina/sageRegina/testsuite/i18n.out +6 -0
- regina/sageRegina/testsuite/i18n.test +91 -0
- regina/sageRegina/testsuite/id.out +2 -0
- regina/sageRegina/testsuite/id.test +47 -0
- regina/sageRegina/testsuite/index.out +2 -0
- regina/sageRegina/testsuite/index.test +43 -0
- regina/sageRegina/testsuite/integer.out +74 -0
- regina/sageRegina/testsuite/integer.test +56 -0
- regina/sageRegina/testsuite/italian.orb +90 -0
- regina/sageRegina/testsuite/iterators.out +118 -0
- regina/sageRegina/testsuite/iterators.test +128 -0
- regina/sageRegina/testsuite/knotted-Y.orb +47 -0
- regina/sageRegina/testsuite/listener.out +43 -0
- regina/sageRegina/testsuite/listener.test +101 -0
- regina/sageRegina/testsuite/listview.out +416 -0
- regina/sageRegina/testsuite/listview.test +253 -0
- regina/sageRegina/testsuite/lookup.out +13 -0
- regina/sageRegina/testsuite/lookup.test +44 -0
- regina/sageRegina/testsuite/memory1.out +62 -0
- regina/sageRegina/testsuite/memory1.test +154 -0
- regina/sageRegina/testsuite/memory2.out +62 -0
- regina/sageRegina/testsuite/memory2.test +124 -0
- regina/sageRegina/testsuite/memory3.out +92 -0
- regina/sageRegina/testsuite/memory3.test +216 -0
- regina/sageRegina/testsuite/misc.out +7 -0
- regina/sageRegina/testsuite/misc.test +56 -0
- regina/sageRegina/testsuite/operators.out +129 -0
- regina/sageRegina/testsuite/operators.test +61 -0
- regina/sageRegina/testsuite/orb.out +441 -0
- regina/sageRegina/testsuite/orb.test +49 -0
- regina/sageRegina/testsuite/pdf.out +4 -0
- regina/sageRegina/testsuite/pdf.test +49 -0
- regina/sageRegina/testsuite/perm.out +55 -0
- regina/sageRegina/testsuite/perm.test +96 -0
- regina/sageRegina/testsuite/plantri.out +12 -0
- regina/sageRegina/testsuite/plantri.test +60 -0
- regina/sageRegina/testsuite/presentations.out +11 -0
- regina/sageRegina/testsuite/presentations.test +61 -0
- regina/sageRegina/testsuite/refs.out +51 -0
- regina/sageRegina/testsuite/refs.test +128 -0
- regina/sageRegina/testsuite/repr.out +951 -0
- regina/sageRegina/testsuite/repr.out.v2 +951 -0
- regina/sageRegina/testsuite/repr.test +548 -0
- regina/sageRegina/testsuite/safeheldtype_basic.out +17 -0
- regina/sageRegina/testsuite/safeheldtype_basic.test +113 -0
- regina/sageRegina/testsuite/safeheldtype_packet.out +58 -0
- regina/sageRegina/testsuite/safeheldtype_packet.test +181 -0
- regina/sageRegina/testsuite/sample.pdf +0 -0
- regina/sageRegina/testsuite/sets.out +7 -0
- regina/sageRegina/testsuite/sets.test +44 -0
- regina/sageRegina/testsuite/skeleton.out +308 -0
- regina/sageRegina/testsuite/skeleton.test +54 -0
- regina/sageRegina/testsuite/snappea.out +82 -0
- regina/sageRegina/testsuite/snappea.test +107 -0
- regina/sageRegina/testsuite/snapshot.out +15 -0
- regina/sageRegina/testsuite/snapshot.test +78 -0
- regina/sageRegina/testsuite/sort.out +57 -0
- regina/sageRegina/testsuite/sort.test +53 -0
- regina/sageRegina/testsuite/special.out +4 -0
- regina/sageRegina/testsuite/special.test +47 -0
- regina/sageRegina/testsuite/standardtri.out +12101 -0
- regina/sageRegina/testsuite/standardtri.test +455 -0
- regina/sageRegina/testsuite/surfaces.out +2133 -0
- regina/sageRegina/testsuite/surfaces.test +114 -0
- regina/sageRegina/testsuite/swapping.out +25 -0
- regina/sageRegina/testsuite/swapping.test +88 -0
- regina/sageRegina/testsuite/testall.in +176 -0
- regina/sageRegina/testsuite/testbasic.in +279 -0
- regina/sageRegina/testsuite/testcallback.in +150 -0
- regina/sageRegina/testsuite/testsub.in +150 -0
- regina/sageRegina/testsuite/theta_in_solid_torus.orb +65 -0
- regina/sageRegina/testsuite/tightencode.out +40 -0
- regina/sageRegina/testsuite/tightencode.test +108 -0
- regina/sageRegina/testsuite/treedecomp.out +135 -0
- regina/sageRegina/testsuite/treedecomp.test +66 -0
- regina/sageRegina/testsuite/treetraversal.out +52 -0
- regina/sageRegina/testsuite/treetraversal.test +190 -0
- regina/sageRegina/testsuite/trigeneral.out +1251 -0
- regina/sageRegina/testsuite/trigeneral.test +155 -0
- regina/sageRegina/testsuite/utf8.out +42 -0
- regina/sageRegina/testsuite/utf8.test +94 -0
- regina/sageRegina/version.py +5 -0
- regina/sageSetup.py +41 -0
- regina/test.py +6 -0
- regina-7.3.1.1.dist-info/METADATA +109 -0
- regina-7.3.1.1.dist-info/RECORD +163 -0
- regina-7.3.1.1.dist-info/WHEEL +6 -0
- regina-7.3.1.1.dist-info/top_level.txt +4 -0
- regina.libs/libbz2-738ca772.so.1.0.6 +0 -0
- regina.libs/libgmp-6683d5d4.so.10.2.0 +0 -0
- regina.libs/libgmpxx-7c3a5907.so.4.4.0 +0 -0
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
|
|
2
|
+
-----------------------------------------------------------
|
|
3
|
+
Basic:
|
|
4
|
+
|
|
5
|
+
fvPQcdecedekrsnrs
|
|
6
|
+
Text of length 11
|
|
7
|
+
Hello World
|
|
8
|
+
|
|
9
|
+
-----------------------------------------------------------
|
|
10
|
+
Basic container tests:
|
|
11
|
+
|
|
12
|
+
1
|
|
13
|
+
a
|
|
14
|
+
Bounded orientable 3-D triangulation, f = ( 4 6 4 1 )
|
|
15
|
+
baa
|
|
16
|
+
baa
|
|
17
|
+
baabaa
|
|
18
|
+
|
|
19
|
+
-----------------------------------------------------------
|
|
20
|
+
Erasing container:
|
|
21
|
+
|
|
22
|
+
baabaa
|
|
23
|
+
|
|
24
|
+
-----------------------------------------------------------
|
|
25
|
+
Nested tests:
|
|
26
|
+
|
|
27
|
+
Hello World
|
|
28
|
+
Text set
|
|
29
|
+
3
|
|
30
|
+
4
|
|
31
|
+
True
|
|
32
|
+
fvPQcdecedekrsnrs
|
|
33
|
+
True
|
|
34
|
+
2
|
|
35
|
+
Closed orientable 3-D triangulation, f = ( 1 6 10 5 )
|
|
36
|
+
Empty attachment
|
|
37
|
+
Text of length 8
|
|
38
|
+
Ideal orientable 3-D triangulation, f = ( 1 2 4 2 )
|
|
39
|
+
Text of length 3
|
|
40
|
+
|
|
41
|
+
Erase nested:
|
|
42
|
+
-----------------------------------------------------------
|
|
43
|
+
|
|
44
|
+
Text of length 8
|
|
45
|
+
Ideal orientable 3-D triangulation, f = ( 1 2 4 2 )
|
|
46
|
+
|
|
47
|
+
Make orphan:
|
|
48
|
+
-----------------------------------------------------------
|
|
49
|
+
|
|
50
|
+
Bounded orientable 3-D triangulation, f = ( 4 6 4 1 )
|
|
51
|
+
Bounded orientable 3-D triangulation, f = ( 8 12 8 2 )
|
|
52
|
+
Bounded orientable 3-D triangulation, f = ( 12 18 12 3 )
|
|
53
|
+
Bounded orientable 3-D triangulation, f = ( 4 6 4 1 )
|
|
54
|
+
Bounded orientable 3-D triangulation, f = ( 8 12 8 2 )
|
|
55
|
+
Bounded orientable 3-D triangulation, f = ( 12 18 12 3 )
|
|
56
|
+
Bounded orientable 3-D triangulation, f = ( 4 6 4 1 )
|
|
57
|
+
None
|
|
58
|
+
Bounded orientable 3-D triangulation, f = ( 12 18 12 3 )
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
# Regina - A Normal Surface Theory Calculator
|
|
2
|
+
# Python Test Suite Component
|
|
3
|
+
#
|
|
4
|
+
# Copyright (c) 2015-2023, Ben Burton
|
|
5
|
+
# For further details contact Ben Burton (bab@debian.org).
|
|
6
|
+
#
|
|
7
|
+
# Provides tests for the wrapping of Packet subclasses through shared_ptr
|
|
8
|
+
#
|
|
9
|
+
# This file is a single component of Regina's python test suite. To run
|
|
10
|
+
# the python test suite, move to the main python directory in the source
|
|
11
|
+
# tree and run "make check".
|
|
12
|
+
#
|
|
13
|
+
# This program is free software; you can redistribute it and/or
|
|
14
|
+
# modify it under the terms of the GNU General Public License as
|
|
15
|
+
# published by the Free Software Foundation; either version 2 of the
|
|
16
|
+
# License, or (at your option) any later version.
|
|
17
|
+
#
|
|
18
|
+
# As an exception, when this program is distributed through (i) the
|
|
19
|
+
# App Store by Apple Inc.; (ii) the Mac App Store by Apple Inc.; or
|
|
20
|
+
# (iii) Google Play by Google Inc., then that store may impose any
|
|
21
|
+
# digital rights management, device limits and/or redistribution
|
|
22
|
+
# restrictions that are required by its terms of service.
|
|
23
|
+
#
|
|
24
|
+
# This program is distributed in the hope that it will be useful, but
|
|
25
|
+
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
26
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
27
|
+
# General Public License for more details.
|
|
28
|
+
#
|
|
29
|
+
# You should have received a copy of the GNU General Public
|
|
30
|
+
# License along with this program; if not, write to the Free
|
|
31
|
+
# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
|
|
32
|
+
# MA 02110-1301, USA.
|
|
33
|
+
|
|
34
|
+
# NOTE: Since Regina 5.96, python references to packets never expire.
|
|
35
|
+
# Therefore we should never raise any exceptions in this test.
|
|
36
|
+
|
|
37
|
+
print()
|
|
38
|
+
print("-----------------------------------------------------------")
|
|
39
|
+
print("Basic:")
|
|
40
|
+
print()
|
|
41
|
+
|
|
42
|
+
print(PacketOfTriangulation3(Example3.poincare()).isoSig())
|
|
43
|
+
print(Text("Hello World"))
|
|
44
|
+
print(Text("Hello World").text())
|
|
45
|
+
|
|
46
|
+
print()
|
|
47
|
+
print("-----------------------------------------------------------")
|
|
48
|
+
print("Basic container tests:")
|
|
49
|
+
print()
|
|
50
|
+
|
|
51
|
+
t1 = PacketOfTriangulation3()
|
|
52
|
+
t2 = PacketOfTriangulation3(Example3.poincare())
|
|
53
|
+
t3 = PacketOfTriangulation3(Example3.figureEight())
|
|
54
|
+
p = Attachment()
|
|
55
|
+
|
|
56
|
+
t = Text()
|
|
57
|
+
|
|
58
|
+
c = Container()
|
|
59
|
+
c.prepend(t1)
|
|
60
|
+
|
|
61
|
+
print(c.countChildren())
|
|
62
|
+
|
|
63
|
+
print(t1.isoSig())
|
|
64
|
+
dummy = t1.newTetrahedron()
|
|
65
|
+
dummy = None
|
|
66
|
+
|
|
67
|
+
print(c.firstChild())
|
|
68
|
+
print(c.firstChild().isoSig())
|
|
69
|
+
|
|
70
|
+
t1 = None
|
|
71
|
+
|
|
72
|
+
print(c.firstChild().isoSig())
|
|
73
|
+
|
|
74
|
+
temp = c.lastChild()
|
|
75
|
+
|
|
76
|
+
dummy = temp.newTetrahedron()
|
|
77
|
+
dummy = None
|
|
78
|
+
|
|
79
|
+
print(temp.isoSig())
|
|
80
|
+
|
|
81
|
+
print()
|
|
82
|
+
print("-----------------------------------------------------------")
|
|
83
|
+
print("Erasing container:")
|
|
84
|
+
print()
|
|
85
|
+
|
|
86
|
+
c = None
|
|
87
|
+
|
|
88
|
+
try:
|
|
89
|
+
print(temp.isoSig())
|
|
90
|
+
except RuntimeError:
|
|
91
|
+
print("Got exception")
|
|
92
|
+
|
|
93
|
+
print()
|
|
94
|
+
print("-----------------------------------------------------------")
|
|
95
|
+
print("Nested tests:")
|
|
96
|
+
print()
|
|
97
|
+
|
|
98
|
+
t2.prepend(t3)
|
|
99
|
+
t2.prepend(p)
|
|
100
|
+
p.append(t)
|
|
101
|
+
t.setText("Hello World")
|
|
102
|
+
|
|
103
|
+
print(t.text())
|
|
104
|
+
|
|
105
|
+
p.lastChild().setText("Text set")
|
|
106
|
+
|
|
107
|
+
l = p.firstChild()
|
|
108
|
+
|
|
109
|
+
print(l.text())
|
|
110
|
+
|
|
111
|
+
t2.insert(Text("New"), t3)
|
|
112
|
+
|
|
113
|
+
print(t2.countChildren())
|
|
114
|
+
print(t2.countDescendants())
|
|
115
|
+
|
|
116
|
+
m = l.root()
|
|
117
|
+
|
|
118
|
+
print(m == t2)
|
|
119
|
+
|
|
120
|
+
print(m.isoSig())
|
|
121
|
+
|
|
122
|
+
m = None
|
|
123
|
+
|
|
124
|
+
print(p.isNull())
|
|
125
|
+
|
|
126
|
+
print(p.totalTreeSize())
|
|
127
|
+
|
|
128
|
+
it = t2
|
|
129
|
+
|
|
130
|
+
while it:
|
|
131
|
+
print(it)
|
|
132
|
+
it = it.nextTreePacket()
|
|
133
|
+
|
|
134
|
+
t2 = None
|
|
135
|
+
|
|
136
|
+
print()
|
|
137
|
+
print("Erase nested:")
|
|
138
|
+
print("-----------------------------------------------------------")
|
|
139
|
+
print()
|
|
140
|
+
|
|
141
|
+
try:
|
|
142
|
+
print(l)
|
|
143
|
+
except RuntimeError:
|
|
144
|
+
print("Got exception")
|
|
145
|
+
|
|
146
|
+
try:
|
|
147
|
+
print(t3)
|
|
148
|
+
except RuntimeError:
|
|
149
|
+
print("Got exception")
|
|
150
|
+
|
|
151
|
+
print()
|
|
152
|
+
print("Make orphan:")
|
|
153
|
+
print("-----------------------------------------------------------")
|
|
154
|
+
print()
|
|
155
|
+
|
|
156
|
+
d1 = Triangulation3(); dummy = d1.newTetrahedron(); dummy = None
|
|
157
|
+
d2 = Triangulation3(); dummy = d2.newTetrahedra(2); dummy = None
|
|
158
|
+
d3 = Triangulation3(); dummy = d3.newTetrahedra(3); dummy = None
|
|
159
|
+
p1 = PacketOfTriangulation3(d1)
|
|
160
|
+
p2 = PacketOfTriangulation3(d2)
|
|
161
|
+
p3 = PacketOfTriangulation3(d3)
|
|
162
|
+
p1.append(p2)
|
|
163
|
+
p2.append(p3)
|
|
164
|
+
|
|
165
|
+
print(p1)
|
|
166
|
+
print(p2)
|
|
167
|
+
print(p3)
|
|
168
|
+
|
|
169
|
+
p2.makeOrphan()
|
|
170
|
+
print(p1)
|
|
171
|
+
print(p2)
|
|
172
|
+
print(p3)
|
|
173
|
+
|
|
174
|
+
try:
|
|
175
|
+
p2 = None
|
|
176
|
+
print(p1)
|
|
177
|
+
print(p2)
|
|
178
|
+
print(p3)
|
|
179
|
+
except RuntimeError:
|
|
180
|
+
print("Got exception")
|
|
181
|
+
|
|
Binary file
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
Edge 0, internal, degree 3: 0 (01), 3 (12), 4 (12)
|
|
2
|
+
Edge 3, internal, degree 3: 0 (12), 1 (12), 4 (23)
|
|
3
|
+
Edge 5, internal, degree 3: 0 (23), 1 (23), 2 (23)
|
|
4
|
+
Edge 8, internal, degree 3: 1 (03), 3 (03), 2 (03)
|
|
5
|
+
Edge 0, boundary, degree 1: 0 (01)
|
|
6
|
+
Edge 3, boundary, degree 1: 0 (12)
|
|
7
|
+
Edge 5, boundary, degree 1: 0 (23)
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Regina - A Normal Surface Theory Calculator
|
|
2
|
+
# Python Test Suite Component
|
|
3
|
+
#
|
|
4
|
+
# Copyright (c) 2015-2023, Ben Burton
|
|
5
|
+
# For further details contact Ben Burton (bab@debian.org).
|
|
6
|
+
#
|
|
7
|
+
# Tests bindings related to python sets.
|
|
8
|
+
#
|
|
9
|
+
# This file is a single component of Regina's python test suite. To run
|
|
10
|
+
# the python test suite, move to the main python directory in the source
|
|
11
|
+
# tree and run "make check".
|
|
12
|
+
#
|
|
13
|
+
# This program is free software; you can redistribute it and/or
|
|
14
|
+
# modify it under the terms of the GNU General Public License as
|
|
15
|
+
# published by the Free Software Foundation; either version 2 of the
|
|
16
|
+
# License, or (at your option) any later version.
|
|
17
|
+
#
|
|
18
|
+
# As an exception, when this program is distributed through (i) the
|
|
19
|
+
# App Store by Apple Inc.; (ii) the Mac App Store by Apple Inc.; or
|
|
20
|
+
# (iii) Google Play by Google Inc., then that store may impose any
|
|
21
|
+
# digital rights management, device limits and/or redistribution
|
|
22
|
+
# restrictions that are required by its terms of service.
|
|
23
|
+
#
|
|
24
|
+
# This program is distributed in the hope that it will be useful, but
|
|
25
|
+
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
26
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
27
|
+
# General Public License for more details.
|
|
28
|
+
#
|
|
29
|
+
# You should have received a copy of the GNU General Public
|
|
30
|
+
# License along with this program; if not, write to the Free
|
|
31
|
+
# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
|
|
32
|
+
# MA 02110-1301, USA.
|
|
33
|
+
|
|
34
|
+
def dump(s):
|
|
35
|
+
ans = [ x.str() for x in s]
|
|
36
|
+
ans.sort()
|
|
37
|
+
for x in ans:
|
|
38
|
+
print(x)
|
|
39
|
+
|
|
40
|
+
t = Example3.simplicialSphere()
|
|
41
|
+
dump(t.maximalForestInSkeleton())
|
|
42
|
+
|
|
43
|
+
u = Example3.ball()
|
|
44
|
+
dump(u.maximalForestInBoundary())
|
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
Size of the skeleton:
|
|
2
|
+
Tetrahedra: 23
|
|
3
|
+
Triangles: 46
|
|
4
|
+
Edges: 24
|
|
5
|
+
Vertices: 1
|
|
6
|
+
|
|
7
|
+
Tetrahedron gluing:
|
|
8
|
+
Tet | glued to: (012) (013) (023) (123)
|
|
9
|
+
-----+-------------------------------------------------------
|
|
10
|
+
0 | 4 (013) 3 (012) 2 (032) 1 (132)
|
|
11
|
+
1 | 6 (013) 7 (012) 5 (032) 0 (132)
|
|
12
|
+
2 | 9 (013) 10 (012) 0 (032) 8 (132)
|
|
13
|
+
3 | 0 (013) 12 (012) 7 (032) 11 (132)
|
|
14
|
+
4 | 15 (013) 0 (012) 14 (032) 13 (132)
|
|
15
|
+
5 | 12 (032) 16 (012) 1 (032) 8 (023)
|
|
16
|
+
6 | 17 (013) 1 (012) 13 (203) 12 (321)
|
|
17
|
+
7 | 1 (013) 19 (012) 3 (032) 18 (132)
|
|
18
|
+
8 | 14 (021) 10 (023) 5 (123) 2 (132)
|
|
19
|
+
9 | 18 (013) 2 (012) 19 (032) 13 (120)
|
|
20
|
+
10 | 2 (013) 21 (012) 8 (013) 20 (132)
|
|
21
|
+
11 | 20 (102) 12 (031) 15 (021) 3 (132)
|
|
22
|
+
12 | 3 (013) 11 (031) 5 (021) 6 (321)
|
|
23
|
+
13 | 9 (312) 20 (230) 6 (203) 4 (132)
|
|
24
|
+
14 | 8 (021) 17 (132) 4 (032) 16 (302)
|
|
25
|
+
15 | 11 (032) 4 (012) 22 (032) 18 (230)
|
|
26
|
+
16 | 5 (013) 20 (103) 14 (231) 21 (023)
|
|
27
|
+
17 | 19 (013) 6 (012) 22 (231) 14 (031)
|
|
28
|
+
18 | 21 (013) 9 (012) 15 (312) 7 (132)
|
|
29
|
+
19 | 7 (013) 17 (012) 9 (032) 22 (012)
|
|
30
|
+
20 | 11 (102) 16 (103) 13 (301) 10 (132)
|
|
31
|
+
21 | 10 (013) 18 (012) 16 (123) 22 (031)
|
|
32
|
+
22 | 19 (123) 21 (132) 15 (032) 17 (302)
|
|
33
|
+
|
|
34
|
+
Vertices:
|
|
35
|
+
Tet | vertex: 0 1 2 3
|
|
36
|
+
-----+--------------------------
|
|
37
|
+
0 | 0 0 0 0
|
|
38
|
+
1 | 0 0 0 0
|
|
39
|
+
2 | 0 0 0 0
|
|
40
|
+
3 | 0 0 0 0
|
|
41
|
+
4 | 0 0 0 0
|
|
42
|
+
5 | 0 0 0 0
|
|
43
|
+
6 | 0 0 0 0
|
|
44
|
+
7 | 0 0 0 0
|
|
45
|
+
8 | 0 0 0 0
|
|
46
|
+
9 | 0 0 0 0
|
|
47
|
+
10 | 0 0 0 0
|
|
48
|
+
11 | 0 0 0 0
|
|
49
|
+
12 | 0 0 0 0
|
|
50
|
+
13 | 0 0 0 0
|
|
51
|
+
14 | 0 0 0 0
|
|
52
|
+
15 | 0 0 0 0
|
|
53
|
+
16 | 0 0 0 0
|
|
54
|
+
17 | 0 0 0 0
|
|
55
|
+
18 | 0 0 0 0
|
|
56
|
+
19 | 0 0 0 0
|
|
57
|
+
20 | 0 0 0 0
|
|
58
|
+
21 | 0 0 0 0
|
|
59
|
+
22 | 0 0 0 0
|
|
60
|
+
|
|
61
|
+
Edges:
|
|
62
|
+
Tet | edge: 01 02 03 12 13 23
|
|
63
|
+
-----+--------------------------------
|
|
64
|
+
0 | 0 1 2 3 4 5
|
|
65
|
+
1 | 6 7 8 4 3 5
|
|
66
|
+
2 | 9 2 1 10 11 5
|
|
67
|
+
3 | 0 2 8 4 12 13
|
|
68
|
+
4 | 0 14 1 15 3 7
|
|
69
|
+
5 | 16 8 7 17 18 5
|
|
70
|
+
6 | 6 19 7 17 4 12
|
|
71
|
+
7 | 6 8 2 3 20 13
|
|
72
|
+
8 | 1 17 18 11 10 5
|
|
73
|
+
9 | 9 21 2 3 10 19
|
|
74
|
+
10 | 9 1 18 11 22 10
|
|
75
|
+
11 | 16 22 0 12 4 13
|
|
76
|
+
12 | 0 8 16 12 4 17
|
|
77
|
+
13 | 10 19 12 3 15 7
|
|
78
|
+
14 | 17 1 14 11 23 7
|
|
79
|
+
15 | 0 22 14 13 15 21
|
|
80
|
+
16 | 16 7 11 18 15 23
|
|
81
|
+
17 | 6 21 19 14 17 23
|
|
82
|
+
18 | 9 15 21 20 3 13
|
|
83
|
+
19 | 6 2 21 20 14 19
|
|
84
|
+
20 | 16 12 15 22 11 10
|
|
85
|
+
21 | 9 18 15 22 20 23
|
|
86
|
+
22 | 20 14 22 19 23 21
|
|
87
|
+
|
|
88
|
+
Triangles:
|
|
89
|
+
Tet | face: 012 013 023 123
|
|
90
|
+
-----+------------------------
|
|
91
|
+
0 | 0 1 2 3
|
|
92
|
+
1 | 4 5 6 3
|
|
93
|
+
2 | 7 8 2 9
|
|
94
|
+
3 | 1 10 11 12
|
|
95
|
+
4 | 13 0 14 15
|
|
96
|
+
5 | 16 17 6 18
|
|
97
|
+
6 | 19 4 20 21
|
|
98
|
+
7 | 5 22 11 23
|
|
99
|
+
8 | 24 25 18 9
|
|
100
|
+
9 | 26 7 27 28
|
|
101
|
+
10 | 8 29 25 30
|
|
102
|
+
11 | 31 32 33 12
|
|
103
|
+
12 | 10 32 16 21
|
|
104
|
+
13 | 28 34 20 15
|
|
105
|
+
14 | 24 35 14 36
|
|
106
|
+
15 | 33 13 37 38
|
|
107
|
+
16 | 17 39 36 40
|
|
108
|
+
17 | 41 19 42 35
|
|
109
|
+
18 | 43 26 38 23
|
|
110
|
+
19 | 22 41 27 44
|
|
111
|
+
20 | 31 39 34 30
|
|
112
|
+
21 | 29 43 40 45
|
|
113
|
+
22 | 44 45 37 42
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
Vertex 0, internal, degree 92: 0 (0), 2 (0), 3 (0), 4 (0), 10 (0), 9 (0), 7 (0), 12 (0), 14 (0), 15 (0), 8 (0), 21 (0), 19 (0), 18 (0), 1 (0), 5 (0), 11 (0), 17 (1), 22 (0), 5 (1), 16 (1), 17 (0), 15 (3), 6 (0), 16 (0), 20 (1), 6 (1), 19 (1), 21 (1), 12 (3), 20 (0), 22 (2), 4 (2), 13 (2), 14 (2), 10 (1), 1 (1), 7 (1), 18 (1), 11 (1), 13 (3), 19 (3), 14 (3), 4 (3), 9 (2), 8 (1), 2 (1), 0 (1), 9 (1), 3 (1), 6 (3), 17 (2), 16 (2), 0 (2), 18 (3), 10 (2), 4 (1), 13 (1), 12 (1), 1 (2), 22 (3), 21 (2), 5 (3), 1 (3), 2 (3), 7 (2), 15 (2), 20 (3), 15 (1), 11 (3), 0 (3), 10 (3), 8 (3), 5 (2), 8 (2), 3 (3), 11 (2), 16 (3), 18 (2), 3 (2), 2 (2), 20 (2), 12 (2), 14 (1), 21 (3), 7 (3), 9 (3), 13 (0), 6 (2), 17 (3), 22 (1), 19 (2)
|
|
117
|
+
|
|
118
|
+
Edge 0, internal, degree 6: 0 (01), 3 (01), 12 (01), 11 (03), 15 (01), 4 (01)
|
|
119
|
+
|
|
120
|
+
Edge 1, internal, degree 6: 0 (02), 4 (03), 14 (02), 8 (01), 10 (02), 2 (03)
|
|
121
|
+
|
|
122
|
+
Edge 2, internal, degree 6: 0 (03), 2 (02), 9 (03), 19 (02), 7 (03), 3 (02)
|
|
123
|
+
|
|
124
|
+
Edge 3, internal, degree 7: 0 (12), 1 (13), 7 (12), 18 (13), 9 (12), 13 (12), 4 (13)
|
|
125
|
+
|
|
126
|
+
Edge 4, internal, degree 6: 0 (13), 3 (12), 11 (13), 12 (31), 6 (13), 1 (12)
|
|
127
|
+
|
|
128
|
+
Edge 5, internal, degree 5: 0 (23), 1 (32), 5 (23), 8 (23), 2 (32)
|
|
129
|
+
|
|
130
|
+
Edge 6, internal, degree 5: 1 (01), 7 (01), 19 (01), 17 (01), 6 (01)
|
|
131
|
+
|
|
132
|
+
Edge 7, internal, degree 7: 1 (02), 6 (03), 13 (23), 4 (32), 14 (23), 16 (02), 5 (03)
|
|
133
|
+
|
|
134
|
+
Edge 8, internal, degree 5: 1 (03), 5 (02), 12 (02), 3 (03), 7 (02)
|
|
135
|
+
|
|
136
|
+
Edge 9, internal, degree 5: 2 (01), 10 (01), 21 (01), 18 (01), 9 (01)
|
|
137
|
+
|
|
138
|
+
Edge 10, internal, degree 6: 2 (12), 8 (13), 10 (23), 20 (32), 13 (10), 9 (13)
|
|
139
|
+
|
|
140
|
+
Edge 11, internal, degree 6: 2 (13), 10 (12), 20 (13), 16 (03), 14 (21), 8 (12)
|
|
141
|
+
|
|
142
|
+
Edge 12, internal, degree 6: 3 (13), 12 (12), 6 (32), 13 (30), 20 (02), 11 (12)
|
|
143
|
+
|
|
144
|
+
Edge 13, internal, degree 5: 3 (23), 11 (32), 15 (12), 18 (23), 7 (32)
|
|
145
|
+
|
|
146
|
+
Edge 14, internal, degree 6: 4 (02), 15 (03), 22 (02), 19 (13), 17 (12), 14 (03)
|
|
147
|
+
|
|
148
|
+
Edge 15, internal, degree 7: 4 (12), 13 (13), 20 (30), 16 (31), 21 (30), 18 (20), 15 (13)
|
|
149
|
+
|
|
150
|
+
Edge 16, internal, degree 5: 5 (01), 16 (01), 20 (10), 11 (01), 12 (03)
|
|
151
|
+
|
|
152
|
+
Edge 17, internal, degree 6: 5 (12), 8 (02), 14 (01), 17 (13), 6 (12), 12 (32)
|
|
153
|
+
|
|
154
|
+
Edge 18, internal, degree 5: 5 (13), 16 (12), 21 (02), 10 (03), 8 (03)
|
|
155
|
+
|
|
156
|
+
Edge 19, internal, degree 6: 6 (02), 17 (03), 22 (21), 19 (32), 9 (23), 13 (20)
|
|
157
|
+
|
|
158
|
+
Edge 20, internal, degree 5: 7 (13), 19 (12), 22 (01), 21 (13), 18 (12)
|
|
159
|
+
|
|
160
|
+
Edge 21, internal, degree 6: 9 (02), 18 (03), 15 (32), 22 (23), 17 (02), 19 (03)
|
|
161
|
+
|
|
162
|
+
Edge 22, internal, degree 6: 10 (13), 21 (12), 22 (03), 15 (02), 11 (02), 20 (12)
|
|
163
|
+
|
|
164
|
+
Edge 23, internal, degree 5: 14 (13), 17 (32), 22 (13), 21 (32), 16 (32)
|
|
165
|
+
|
|
166
|
+
Triangle 0, internal: 0 (012), 4 (013)
|
|
167
|
+
|
|
168
|
+
Triangle 1, internal: 3 (012), 0 (013)
|
|
169
|
+
|
|
170
|
+
Triangle 2, internal: 0 (023), 2 (032)
|
|
171
|
+
|
|
172
|
+
Triangle 3, internal: 1 (132), 0 (123)
|
|
173
|
+
|
|
174
|
+
Triangle 4, internal: 1 (012), 6 (013)
|
|
175
|
+
|
|
176
|
+
Triangle 5, internal: 7 (012), 1 (013)
|
|
177
|
+
|
|
178
|
+
Triangle 6, internal: 1 (023), 5 (032)
|
|
179
|
+
|
|
180
|
+
Triangle 7, internal: 2 (012), 9 (013)
|
|
181
|
+
|
|
182
|
+
Triangle 8, internal: 10 (012), 2 (013)
|
|
183
|
+
|
|
184
|
+
Triangle 9, internal: 8 (132), 2 (123)
|
|
185
|
+
|
|
186
|
+
Triangle 10, internal: 12 (012), 3 (013)
|
|
187
|
+
|
|
188
|
+
Triangle 11, internal: 3 (023), 7 (032)
|
|
189
|
+
|
|
190
|
+
Triangle 12, internal: 11 (132), 3 (123)
|
|
191
|
+
|
|
192
|
+
Triangle 13, internal: 4 (012), 15 (013)
|
|
193
|
+
|
|
194
|
+
Triangle 14, internal: 4 (023), 14 (032)
|
|
195
|
+
|
|
196
|
+
Triangle 15, internal: 13 (132), 4 (123)
|
|
197
|
+
|
|
198
|
+
Triangle 16, internal: 5 (012), 12 (032)
|
|
199
|
+
|
|
200
|
+
Triangle 17, internal: 16 (012), 5 (013)
|
|
201
|
+
|
|
202
|
+
Triangle 18, internal: 8 (023), 5 (123)
|
|
203
|
+
|
|
204
|
+
Triangle 19, internal: 6 (012), 17 (013)
|
|
205
|
+
|
|
206
|
+
Triangle 20, internal: 6 (023), 13 (203)
|
|
207
|
+
|
|
208
|
+
Triangle 21, internal: 12 (321), 6 (123)
|
|
209
|
+
|
|
210
|
+
Triangle 22, internal: 19 (012), 7 (013)
|
|
211
|
+
|
|
212
|
+
Triangle 23, internal: 18 (132), 7 (123)
|
|
213
|
+
|
|
214
|
+
Triangle 24, internal: 8 (012), 14 (021)
|
|
215
|
+
|
|
216
|
+
Triangle 25, internal: 10 (023), 8 (013)
|
|
217
|
+
|
|
218
|
+
Triangle 26, internal: 9 (012), 18 (013)
|
|
219
|
+
|
|
220
|
+
Triangle 27, internal: 9 (023), 19 (032)
|
|
221
|
+
|
|
222
|
+
Triangle 28, internal: 13 (120), 9 (123)
|
|
223
|
+
|
|
224
|
+
Triangle 29, internal: 21 (012), 10 (013)
|
|
225
|
+
|
|
226
|
+
Triangle 30, internal: 20 (132), 10 (123)
|
|
227
|
+
|
|
228
|
+
Triangle 31, internal: 11 (012), 20 (102)
|
|
229
|
+
|
|
230
|
+
Triangle 32, internal: 12 (031), 11 (013)
|
|
231
|
+
|
|
232
|
+
Triangle 33, internal: 11 (023), 15 (021)
|
|
233
|
+
|
|
234
|
+
Triangle 34, internal: 20 (230), 13 (013)
|
|
235
|
+
|
|
236
|
+
Triangle 35, internal: 17 (132), 14 (013)
|
|
237
|
+
|
|
238
|
+
Triangle 36, internal: 16 (302), 14 (123)
|
|
239
|
+
|
|
240
|
+
Triangle 37, internal: 15 (023), 22 (032)
|
|
241
|
+
|
|
242
|
+
Triangle 38, internal: 18 (230), 15 (123)
|
|
243
|
+
|
|
244
|
+
Triangle 39, internal: 20 (103), 16 (013)
|
|
245
|
+
|
|
246
|
+
Triangle 40, internal: 21 (023), 16 (123)
|
|
247
|
+
|
|
248
|
+
Triangle 41, internal: 17 (012), 19 (013)
|
|
249
|
+
|
|
250
|
+
Triangle 42, internal: 17 (023), 22 (231)
|
|
251
|
+
|
|
252
|
+
Triangle 43, internal: 18 (012), 21 (013)
|
|
253
|
+
|
|
254
|
+
Triangle 44, internal: 22 (012), 19 (123)
|
|
255
|
+
|
|
256
|
+
Triangle 45, internal: 22 (031), 21 (123)
|
|
257
|
+
|
|
258
|
+
Size of the skeleton:
|
|
259
|
+
Triangles: 5
|
|
260
|
+
Edges: 8
|
|
261
|
+
Vertices: 1
|
|
262
|
+
|
|
263
|
+
Triangle gluing:
|
|
264
|
+
Triangle | glued to: (01) (02) (12)
|
|
265
|
+
----------+--------------------------------------
|
|
266
|
+
0 | boundary 1 (01) 2 (10)
|
|
267
|
+
1 | 0 (02) 3 (01) 4 (10)
|
|
268
|
+
2 | 0 (21) 2 (21) 2 (20)
|
|
269
|
+
3 | 1 (02) 3 (21) 3 (20)
|
|
270
|
+
4 | 1 (21) 4 (21) 4 (20)
|
|
271
|
+
|
|
272
|
+
Vertices:
|
|
273
|
+
Triangle | vertex: 0 1 2
|
|
274
|
+
----------+----------------------
|
|
275
|
+
0 | 0 0 0
|
|
276
|
+
1 | 0 0 0
|
|
277
|
+
2 | 0 0 0
|
|
278
|
+
3 | 0 0 0
|
|
279
|
+
4 | 0 0 0
|
|
280
|
+
|
|
281
|
+
Edges:
|
|
282
|
+
Triangle | edge: 01 02 12
|
|
283
|
+
----------+--------------------
|
|
284
|
+
0 | 0 1 2
|
|
285
|
+
1 | 1 3 4
|
|
286
|
+
2 | 2 5 5
|
|
287
|
+
3 | 3 6 6
|
|
288
|
+
4 | 4 7 7
|
|
289
|
+
|
|
290
|
+
|
|
291
|
+
Vertex 0, boundary, degree 15: 0 (0), 1 (0), 3 (0), 3 (2), 3 (1), 1 (2), 4 (0), 4 (2), 4 (1), 1 (1), 0 (2), 2 (0), 2 (2), 2 (1), 0 (1)
|
|
292
|
+
|
|
293
|
+
Edge 0, boundary: 0 (01)
|
|
294
|
+
|
|
295
|
+
Edge 1, internal: 1 (01), 0 (02)
|
|
296
|
+
|
|
297
|
+
Edge 2, internal: 0 (12), 2 (10)
|
|
298
|
+
|
|
299
|
+
Edge 3, internal: 3 (01), 1 (02)
|
|
300
|
+
|
|
301
|
+
Edge 4, internal: 1 (12), 4 (10)
|
|
302
|
+
|
|
303
|
+
Edge 5, internal: 2 (21), 2 (02)
|
|
304
|
+
|
|
305
|
+
Edge 6, internal: 3 (21), 3 (02)
|
|
306
|
+
|
|
307
|
+
Edge 7, internal: 4 (21), 4 (02)
|
|
308
|
+
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# Regina - A Normal Surface Theory Calculator
|
|
2
|
+
# Python Test Suite Component
|
|
3
|
+
#
|
|
4
|
+
# Copyright (c) 2007-2023, Ben Burton
|
|
5
|
+
# For further details contact Ben Burton (bab@debian.org).
|
|
6
|
+
#
|
|
7
|
+
# Provides detailed tests for the skeleta of triangulations.
|
|
8
|
+
#
|
|
9
|
+
# This file is a single component of Regina's python test suite. To run
|
|
10
|
+
# the python test suite, move to the main python directory in the source
|
|
11
|
+
# tree and run "make check".
|
|
12
|
+
#
|
|
13
|
+
# This program is free software; you can redistribute it and/or
|
|
14
|
+
# modify it under the terms of the GNU General Public License as
|
|
15
|
+
# published by the Free Software Foundation; either version 2 of the
|
|
16
|
+
# License, or (at your option) any later version.
|
|
17
|
+
#
|
|
18
|
+
# As an exception, when this program is distributed through (i) the
|
|
19
|
+
# App Store by Apple Inc.; (ii) the Mac App Store by Apple Inc.; or
|
|
20
|
+
# (iii) Google Play by Google Inc., then that store may impose any
|
|
21
|
+
# digital rights management, device limits and/or redistribution
|
|
22
|
+
# restrictions that are required by its terms of service.
|
|
23
|
+
#
|
|
24
|
+
# This program is distributed in the hope that it will be useful, but
|
|
25
|
+
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
26
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
27
|
+
# General Public License for more details.
|
|
28
|
+
#
|
|
29
|
+
# You should have received a copy of the GNU General Public
|
|
30
|
+
# License along with this program; if not, write to the Free
|
|
31
|
+
# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
|
|
32
|
+
# MA 02110-1301, USA.
|
|
33
|
+
|
|
34
|
+
t = Example3.weberSeifert()
|
|
35
|
+
print(t.detail())
|
|
36
|
+
|
|
37
|
+
for v in t.vertices():
|
|
38
|
+
print(v.detail())
|
|
39
|
+
|
|
40
|
+
for e in t.edges():
|
|
41
|
+
print(e.detail())
|
|
42
|
+
|
|
43
|
+
for f in t.triangles():
|
|
44
|
+
print(f.detail())
|
|
45
|
+
|
|
46
|
+
t = Example2.nonOrientable(3, 1)
|
|
47
|
+
print(t.detail())
|
|
48
|
+
|
|
49
|
+
for v in t.vertices():
|
|
50
|
+
print(v.detail())
|
|
51
|
+
|
|
52
|
+
for e in t.edges():
|
|
53
|
+
print(e.detail())
|
|
54
|
+
|