regina 7.3.1.1__cp312-cp312-macosx_10_13_x86_64.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.

Files changed (162) hide show
  1. regina/.dylibs/libgmp.10.dylib +0 -0
  2. regina/.dylibs/libgmpxx.4.dylib +0 -0
  3. regina/__init__.py +203 -0
  4. regina/engine.cpython-312-darwin.so +0 -0
  5. regina/plainCompleter.py +221 -0
  6. regina/pyCensus/__init__.py +14 -0
  7. regina/pyCensus/christy-knots-links.tdb +0 -0
  8. regina/pyCensus/closed-hyp-census-full.tdb +0 -0
  9. regina/pyCensus/closed-nor-census-11.tdb +0 -0
  10. regina/pyCensus/closed-or-census-11.tdb +0 -0
  11. regina/pyCensus/cusped-hyp-nor-census-9.tdb +0 -0
  12. regina/pyCensus/cusped-hyp-or-census-9.tdb +0 -0
  13. regina/sageRegina/__init__.py +2 -0
  14. regina/sageRegina/config.py +9 -0
  15. regina/sageRegina/test.py +132 -0
  16. regina/sageRegina/testsuite/CMakeLists.txt +60 -0
  17. regina/sageRegina/testsuite/O2_1.rga +15 -0
  18. regina/sageRegina/testsuite/O2_1.tri +28 -0
  19. regina/sageRegina/testsuite/README.txt +20 -0
  20. regina/sageRegina/testsuite/alltypes.out +1551 -0
  21. regina/sageRegina/testsuite/alltypes.test +88 -0
  22. regina/sageRegina/testsuite/angles.out +102 -0
  23. regina/sageRegina/testsuite/angles.test +72 -0
  24. regina/sageRegina/testsuite/basic_callback.out +124 -0
  25. regina/sageRegina/testsuite/basic_sub.out +7 -0
  26. regina/sageRegina/testsuite/bool.out +6 -0
  27. regina/sageRegina/testsuite/bool.test +64 -0
  28. regina/sageRegina/testsuite/bytes.out +17 -0
  29. regina/sageRegina/testsuite/bytes.test +78 -0
  30. regina/sageRegina/testsuite/callbacks.out +515 -0
  31. regina/sageRegina/testsuite/callbacks.test +281 -0
  32. regina/sageRegina/testsuite/census.out +120 -0
  33. regina/sageRegina/testsuite/census.test +157 -0
  34. regina/sageRegina/testsuite/clone.out +18 -0
  35. regina/sageRegina/testsuite/clone.test +101 -0
  36. regina/sageRegina/testsuite/constructors.out +14 -0
  37. regina/sageRegina/testsuite/constructors.test +97 -0
  38. regina/sageRegina/testsuite/cube.orb +87 -0
  39. regina/sageRegina/testsuite/discs.out +3 -0
  40. regina/sageRegina/testsuite/discs.test +40 -0
  41. regina/sageRegina/testsuite/docstrings.filter +19 -0
  42. regina/sageRegina/testsuite/docstrings.out +808 -0
  43. regina/sageRegina/testsuite/docstrings.out.v2 +808 -0
  44. regina/sageRegina/testsuite/docstrings.test +57 -0
  45. regina/sageRegina/testsuite/dodec.orb +309 -0
  46. regina/sageRegina/testsuite/embeddings.out +23 -0
  47. regina/sageRegina/testsuite/embeddings.test +89 -0
  48. regina/sageRegina/testsuite/enumerate.out +62 -0
  49. regina/sageRegina/testsuite/enumerate.test +82 -0
  50. regina/sageRegina/testsuite/equality.out +112 -0
  51. regina/sageRegina/testsuite/equality.test +310 -0
  52. regina/sageRegina/testsuite/euler.out +15 -0
  53. regina/sageRegina/testsuite/euler.test +95 -0
  54. regina/sageRegina/testsuite/exception.out +7 -0
  55. regina/sageRegina/testsuite/exception.test +100 -0
  56. regina/sageRegina/testsuite/facenumbering.out +546 -0
  57. regina/sageRegina/testsuite/facenumbering.test +74 -0
  58. regina/sageRegina/testsuite/faces.out +40 -0
  59. regina/sageRegina/testsuite/faces.test +72 -0
  60. regina/sageRegina/testsuite/file.out +1229 -0
  61. regina/sageRegina/testsuite/file.test +70 -0
  62. regina/sageRegina/testsuite/file1.rga +0 -0
  63. regina/sageRegina/testsuite/file2.rga +0 -0
  64. regina/sageRegina/testsuite/file3.rga +119 -0
  65. regina/sageRegina/testsuite/flype.out +37 -0
  66. regina/sageRegina/testsuite/flype.test +50 -0
  67. regina/sageRegina/testsuite/generic.out +116 -0
  68. regina/sageRegina/testsuite/generic.test +76 -0
  69. regina/sageRegina/testsuite/groups.out +70 -0
  70. regina/sageRegina/testsuite/groups.test +117 -0
  71. regina/sageRegina/testsuite/hypersurfaces.out +681 -0
  72. regina/sageRegina/testsuite/hypersurfaces.test +90 -0
  73. regina/sageRegina/testsuite/i18n-latin1.rga +8 -0
  74. regina/sageRegina/testsuite/i18n-utf8.rga +8 -0
  75. regina/sageRegina/testsuite/i18n.out +6 -0
  76. regina/sageRegina/testsuite/i18n.test +91 -0
  77. regina/sageRegina/testsuite/id.out +2 -0
  78. regina/sageRegina/testsuite/id.test +47 -0
  79. regina/sageRegina/testsuite/index.out +2 -0
  80. regina/sageRegina/testsuite/index.test +43 -0
  81. regina/sageRegina/testsuite/integer.out +74 -0
  82. regina/sageRegina/testsuite/integer.test +56 -0
  83. regina/sageRegina/testsuite/italian.orb +90 -0
  84. regina/sageRegina/testsuite/iterators.out +118 -0
  85. regina/sageRegina/testsuite/iterators.test +128 -0
  86. regina/sageRegina/testsuite/knotted-Y.orb +47 -0
  87. regina/sageRegina/testsuite/listener.out +43 -0
  88. regina/sageRegina/testsuite/listener.test +101 -0
  89. regina/sageRegina/testsuite/listview.out +416 -0
  90. regina/sageRegina/testsuite/listview.test +253 -0
  91. regina/sageRegina/testsuite/lookup.out +13 -0
  92. regina/sageRegina/testsuite/lookup.test +44 -0
  93. regina/sageRegina/testsuite/memory1.out +62 -0
  94. regina/sageRegina/testsuite/memory1.test +154 -0
  95. regina/sageRegina/testsuite/memory2.out +62 -0
  96. regina/sageRegina/testsuite/memory2.test +124 -0
  97. regina/sageRegina/testsuite/memory3.out +92 -0
  98. regina/sageRegina/testsuite/memory3.test +216 -0
  99. regina/sageRegina/testsuite/misc.out +7 -0
  100. regina/sageRegina/testsuite/misc.test +56 -0
  101. regina/sageRegina/testsuite/operators.out +129 -0
  102. regina/sageRegina/testsuite/operators.test +61 -0
  103. regina/sageRegina/testsuite/orb.out +441 -0
  104. regina/sageRegina/testsuite/orb.test +49 -0
  105. regina/sageRegina/testsuite/pdf.out +4 -0
  106. regina/sageRegina/testsuite/pdf.test +49 -0
  107. regina/sageRegina/testsuite/perm.out +55 -0
  108. regina/sageRegina/testsuite/perm.test +96 -0
  109. regina/sageRegina/testsuite/plantri.out +12 -0
  110. regina/sageRegina/testsuite/plantri.test +60 -0
  111. regina/sageRegina/testsuite/presentations.out +11 -0
  112. regina/sageRegina/testsuite/presentations.test +61 -0
  113. regina/sageRegina/testsuite/refs.out +51 -0
  114. regina/sageRegina/testsuite/refs.test +128 -0
  115. regina/sageRegina/testsuite/repr.out +951 -0
  116. regina/sageRegina/testsuite/repr.out.v2 +951 -0
  117. regina/sageRegina/testsuite/repr.test +548 -0
  118. regina/sageRegina/testsuite/safeheldtype_basic.out +17 -0
  119. regina/sageRegina/testsuite/safeheldtype_basic.test +113 -0
  120. regina/sageRegina/testsuite/safeheldtype_packet.out +58 -0
  121. regina/sageRegina/testsuite/safeheldtype_packet.test +181 -0
  122. regina/sageRegina/testsuite/sample.pdf +0 -0
  123. regina/sageRegina/testsuite/sets.out +7 -0
  124. regina/sageRegina/testsuite/sets.test +44 -0
  125. regina/sageRegina/testsuite/skeleton.out +308 -0
  126. regina/sageRegina/testsuite/skeleton.test +54 -0
  127. regina/sageRegina/testsuite/snappea.out +82 -0
  128. regina/sageRegina/testsuite/snappea.test +107 -0
  129. regina/sageRegina/testsuite/snapshot.out +15 -0
  130. regina/sageRegina/testsuite/snapshot.test +78 -0
  131. regina/sageRegina/testsuite/sort.out +57 -0
  132. regina/sageRegina/testsuite/sort.test +53 -0
  133. regina/sageRegina/testsuite/special.out +4 -0
  134. regina/sageRegina/testsuite/special.test +47 -0
  135. regina/sageRegina/testsuite/standardtri.out +12101 -0
  136. regina/sageRegina/testsuite/standardtri.test +455 -0
  137. regina/sageRegina/testsuite/surfaces.out +2133 -0
  138. regina/sageRegina/testsuite/surfaces.test +114 -0
  139. regina/sageRegina/testsuite/swapping.out +25 -0
  140. regina/sageRegina/testsuite/swapping.test +88 -0
  141. regina/sageRegina/testsuite/testall.in +176 -0
  142. regina/sageRegina/testsuite/testbasic.in +279 -0
  143. regina/sageRegina/testsuite/testcallback.in +150 -0
  144. regina/sageRegina/testsuite/testsub.in +150 -0
  145. regina/sageRegina/testsuite/theta_in_solid_torus.orb +65 -0
  146. regina/sageRegina/testsuite/tightencode.out +40 -0
  147. regina/sageRegina/testsuite/tightencode.test +108 -0
  148. regina/sageRegina/testsuite/treedecomp.out +135 -0
  149. regina/sageRegina/testsuite/treedecomp.test +66 -0
  150. regina/sageRegina/testsuite/treetraversal.out +52 -0
  151. regina/sageRegina/testsuite/treetraversal.test +190 -0
  152. regina/sageRegina/testsuite/trigeneral.out +1251 -0
  153. regina/sageRegina/testsuite/trigeneral.test +155 -0
  154. regina/sageRegina/testsuite/utf8.out +42 -0
  155. regina/sageRegina/testsuite/utf8.test +94 -0
  156. regina/sageRegina/version.py +5 -0
  157. regina/sageSetup.py +41 -0
  158. regina/test.py +6 -0
  159. regina-7.3.1.1.dist-info/METADATA +109 -0
  160. regina-7.3.1.1.dist-info/RECORD +162 -0
  161. regina-7.3.1.1.dist-info/WHEEL +6 -0
  162. regina-7.3.1.1.dist-info/top_level.txt +4 -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
+