regina 7.4.1__cp314-cp314-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.
Files changed (186) hide show
  1. regina/.dylibs/libgmp.10.dylib +0 -0
  2. regina/.dylibs/libgmpxx.4.dylib +0 -0
  3. regina/__init__.py +192 -0
  4. regina/engine.cpython-314-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 +131 -0
  16. regina/sageRegina/testsuite/CMakeLists.txt +64 -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 +21 -0
  20. regina/sageRegina/testsuite/alltypes-exc.out +698 -0
  21. regina/sageRegina/testsuite/alltypes-exc.test +92 -0
  22. regina/sageRegina/testsuite/alltypes-noexc.out +698 -0
  23. regina/sageRegina/testsuite/alltypes-noexc.test +85 -0
  24. regina/sageRegina/testsuite/alltypes.out +698 -0
  25. regina/sageRegina/testsuite/alltypes.test +85 -0
  26. regina/sageRegina/testsuite/angles.out +102 -0
  27. regina/sageRegina/testsuite/angles.test +70 -0
  28. regina/sageRegina/testsuite/arrow.out +86 -0
  29. regina/sageRegina/testsuite/arrow.test +224 -0
  30. regina/sageRegina/testsuite/base64.out +2 -0
  31. regina/sageRegina/testsuite/base64.test +37 -0
  32. regina/sageRegina/testsuite/basic_callback.out +124 -0
  33. regina/sageRegina/testsuite/basic_sub.out +7 -0
  34. regina/sageRegina/testsuite/binom.out +14 -0
  35. regina/sageRegina/testsuite/binom.test +69 -0
  36. regina/sageRegina/testsuite/bool.out +6 -0
  37. regina/sageRegina/testsuite/bool.test +62 -0
  38. regina/sageRegina/testsuite/bytes.out +17 -0
  39. regina/sageRegina/testsuite/bytes.test +76 -0
  40. regina/sageRegina/testsuite/callbacks.out +515 -0
  41. regina/sageRegina/testsuite/callbacks.test +279 -0
  42. regina/sageRegina/testsuite/census.out +120 -0
  43. regina/sageRegina/testsuite/census.test +156 -0
  44. regina/sageRegina/testsuite/clone.out +18 -0
  45. regina/sageRegina/testsuite/clone.test +99 -0
  46. regina/sageRegina/testsuite/comparison.out +41 -0
  47. regina/sageRegina/testsuite/comparison.test +47 -0
  48. regina/sageRegina/testsuite/construction.out +120 -0
  49. regina/sageRegina/testsuite/construction.test +63 -0
  50. regina/sageRegina/testsuite/constructors.out +14 -0
  51. regina/sageRegina/testsuite/constructors.test +95 -0
  52. regina/sageRegina/testsuite/cube.orb +87 -0
  53. regina/sageRegina/testsuite/discs.out +3 -0
  54. regina/sageRegina/testsuite/discs.test +38 -0
  55. regina/sageRegina/testsuite/docstrings.filter +22 -0
  56. regina/sageRegina/testsuite/docstrings.out +802 -0
  57. regina/sageRegina/testsuite/docstrings.out.v2 +799 -0
  58. regina/sageRegina/testsuite/docstrings.test +55 -0
  59. regina/sageRegina/testsuite/dodec.orb +309 -0
  60. regina/sageRegina/testsuite/embeddings.out +23 -0
  61. regina/sageRegina/testsuite/embeddings.test +87 -0
  62. regina/sageRegina/testsuite/enumerate.out +62 -0
  63. regina/sageRegina/testsuite/enumerate.test +80 -0
  64. regina/sageRegina/testsuite/equality.out +112 -0
  65. regina/sageRegina/testsuite/equality.test +308 -0
  66. regina/sageRegina/testsuite/euler.out +15 -0
  67. regina/sageRegina/testsuite/euler.test +93 -0
  68. regina/sageRegina/testsuite/exception.out +7 -0
  69. regina/sageRegina/testsuite/exception.test +98 -0
  70. regina/sageRegina/testsuite/facenumbering.out +546 -0
  71. regina/sageRegina/testsuite/facenumbering.test +72 -0
  72. regina/sageRegina/testsuite/faces.out +40 -0
  73. regina/sageRegina/testsuite/faces.test +70 -0
  74. regina/sageRegina/testsuite/file.out +1229 -0
  75. regina/sageRegina/testsuite/file.test +68 -0
  76. regina/sageRegina/testsuite/file1.rga +0 -0
  77. regina/sageRegina/testsuite/file2.rga +0 -0
  78. regina/sageRegina/testsuite/file3.rga +119 -0
  79. regina/sageRegina/testsuite/flags.out +38 -0
  80. regina/sageRegina/testsuite/flags.out.v2 +38 -0
  81. regina/sageRegina/testsuite/flags.test +81 -0
  82. regina/sageRegina/testsuite/flype.out +37 -0
  83. regina/sageRegina/testsuite/flype.test +48 -0
  84. regina/sageRegina/testsuite/generic.out +116 -0
  85. regina/sageRegina/testsuite/generic.test +74 -0
  86. regina/sageRegina/testsuite/groups.out +70 -0
  87. regina/sageRegina/testsuite/groups.test +115 -0
  88. regina/sageRegina/testsuite/hash.out +66 -0
  89. regina/sageRegina/testsuite/hash.test +84 -0
  90. regina/sageRegina/testsuite/hypersurfaces.out +681 -0
  91. regina/sageRegina/testsuite/hypersurfaces.test +89 -0
  92. regina/sageRegina/testsuite/i18n-latin1.rga +8 -0
  93. regina/sageRegina/testsuite/i18n-utf8.rga +8 -0
  94. regina/sageRegina/testsuite/i18n.out +6 -0
  95. regina/sageRegina/testsuite/i18n.test +89 -0
  96. regina/sageRegina/testsuite/id.out +2 -0
  97. regina/sageRegina/testsuite/id.test +45 -0
  98. regina/sageRegina/testsuite/index.out +2 -0
  99. regina/sageRegina/testsuite/index.test +41 -0
  100. regina/sageRegina/testsuite/integer.out +74 -0
  101. regina/sageRegina/testsuite/integer.test +54 -0
  102. regina/sageRegina/testsuite/italian.orb +90 -0
  103. regina/sageRegina/testsuite/iterators.out +118 -0
  104. regina/sageRegina/testsuite/iterators.test +126 -0
  105. regina/sageRegina/testsuite/knotted-Y.orb +47 -0
  106. regina/sageRegina/testsuite/listener.out +43 -0
  107. regina/sageRegina/testsuite/listener.test +99 -0
  108. regina/sageRegina/testsuite/listview.out +416 -0
  109. regina/sageRegina/testsuite/listview.test +251 -0
  110. regina/sageRegina/testsuite/lookup.out +13 -0
  111. regina/sageRegina/testsuite/lookup.test +42 -0
  112. regina/sageRegina/testsuite/lst.out +844 -0
  113. regina/sageRegina/testsuite/lst.test +195 -0
  114. regina/sageRegina/testsuite/memory1.out +62 -0
  115. regina/sageRegina/testsuite/memory1.test +152 -0
  116. regina/sageRegina/testsuite/memory2.out +62 -0
  117. regina/sageRegina/testsuite/memory2.test +122 -0
  118. regina/sageRegina/testsuite/memory3.out +92 -0
  119. regina/sageRegina/testsuite/memory3.test +214 -0
  120. regina/sageRegina/testsuite/misc.out +7 -0
  121. regina/sageRegina/testsuite/misc.test +54 -0
  122. regina/sageRegina/testsuite/operators.out +129 -0
  123. regina/sageRegina/testsuite/operators.test +59 -0
  124. regina/sageRegina/testsuite/orb.out +441 -0
  125. regina/sageRegina/testsuite/orb.test +47 -0
  126. regina/sageRegina/testsuite/pdf.out +4 -0
  127. regina/sageRegina/testsuite/pdf.test +47 -0
  128. regina/sageRegina/testsuite/perm.out +36 -0
  129. regina/sageRegina/testsuite/perm.test +74 -0
  130. regina/sageRegina/testsuite/plantri.out +12 -0
  131. regina/sageRegina/testsuite/plantri.test +58 -0
  132. regina/sageRegina/testsuite/poincare.tri +55 -0
  133. regina/sageRegina/testsuite/presentations.out +11 -0
  134. regina/sageRegina/testsuite/presentations.test +59 -0
  135. regina/sageRegina/testsuite/refs.out +51 -0
  136. regina/sageRegina/testsuite/refs.test +126 -0
  137. regina/sageRegina/testsuite/repr.out +951 -0
  138. regina/sageRegina/testsuite/repr.out.v2 +951 -0
  139. regina/sageRegina/testsuite/repr.test +546 -0
  140. regina/sageRegina/testsuite/runbasic.in +75 -0
  141. regina/sageRegina/testsuite/safeheldtype_basic.out +17 -0
  142. regina/sageRegina/testsuite/safeheldtype_basic.test +111 -0
  143. regina/sageRegina/testsuite/safeheldtype_packet.out +58 -0
  144. regina/sageRegina/testsuite/safeheldtype_packet.test +179 -0
  145. regina/sageRegina/testsuite/sample.pdf +0 -0
  146. regina/sageRegina/testsuite/sets.out +7 -0
  147. regina/sageRegina/testsuite/sets.test +42 -0
  148. regina/sageRegina/testsuite/skeleton.out +308 -0
  149. regina/sageRegina/testsuite/skeleton.test +52 -0
  150. regina/sageRegina/testsuite/snappea.out +90 -0
  151. regina/sageRegina/testsuite/snappea.test +133 -0
  152. regina/sageRegina/testsuite/snapshot.out +15 -0
  153. regina/sageRegina/testsuite/snapshot.test +76 -0
  154. regina/sageRegina/testsuite/sort.out +78 -0
  155. regina/sageRegina/testsuite/sort.test +58 -0
  156. regina/sageRegina/testsuite/special.out +4 -0
  157. regina/sageRegina/testsuite/special.test +45 -0
  158. regina/sageRegina/testsuite/standardtri.out +12101 -0
  159. regina/sageRegina/testsuite/standardtri.test +453 -0
  160. regina/sageRegina/testsuite/surfaces.out +2133 -0
  161. regina/sageRegina/testsuite/surfaces.test +112 -0
  162. regina/sageRegina/testsuite/swapping.out +25 -0
  163. regina/sageRegina/testsuite/swapping.test +86 -0
  164. regina/sageRegina/testsuite/testall.in +174 -0
  165. regina/sageRegina/testsuite/testbasic.in +277 -0
  166. regina/sageRegina/testsuite/testcallback.in +148 -0
  167. regina/sageRegina/testsuite/testsub.in +148 -0
  168. regina/sageRegina/testsuite/theta_in_solid_torus.orb +65 -0
  169. regina/sageRegina/testsuite/tightencode.out +40 -0
  170. regina/sageRegina/testsuite/tightencode.test +106 -0
  171. regina/sageRegina/testsuite/treedecomp.out +135 -0
  172. regina/sageRegina/testsuite/treedecomp.test +64 -0
  173. regina/sageRegina/testsuite/treetraversal.out +52 -0
  174. regina/sageRegina/testsuite/treetraversal.test +188 -0
  175. regina/sageRegina/testsuite/trigeneral.out +1251 -0
  176. regina/sageRegina/testsuite/trigeneral.test +153 -0
  177. regina/sageRegina/testsuite/utf8.out +42 -0
  178. regina/sageRegina/testsuite/utf8.test +92 -0
  179. regina/sageRegina/testsuite/whitehead.tri +47 -0
  180. regina/sageRegina/version.py +5 -0
  181. regina/sageSetup.py +41 -0
  182. regina/test.py +6 -0
  183. regina-7.4.1.dist-info/METADATA +109 -0
  184. regina-7.4.1.dist-info/RECORD +186 -0
  185. regina-7.4.1.dist-info/WHEEL +6 -0
  186. regina-7.4.1.dist-info/top_level.txt +4 -0
@@ -0,0 +1,416 @@
1
+ Crossing 0 (-): over _4 -+-> _1, under ^3 -+-> ^1
2
+ Crossing 1 (-): over _0 -+-> _2, under ^0 -+-> ^4
3
+ Crossing 2 (+): over _3 -+-> _4, under ^1 -+-> ^3
4
+ Crossing 3 (+): over _2 -+-> _0, under ^4 -+-> ^2
5
+ Crossing 4 (-): over _1 -+-> _3, under ^2 -+-> ^0
6
+ ^0
7
+ _0
8
+
9
+ Crossing 0 (+): over _1 -+-> (null), under ^2 -+-> ^1
10
+ Crossing 1 (+): over _0 -+-> _2, under (null) -+-> ^0
11
+ Crossing 2 (-): over (null) -+-> _0, under ^1 -+-> (null)
12
+
13
+ Node 0: arcs 0, 1, 2, 3 -> 1:0, 2:0, 3:0, 3:3
14
+ Node 1: arcs 0, 1, 2, 3 -> 0:0, 4:0, 4:3, 2:1
15
+ Node 2: arcs 0, 1, 2, 3 -> 0:1, 1:3, 5:0, 3:1
16
+ Node 3: arcs 0, 1, 2, 3 -> 0:2, 2:3, 5:3, 0:3
17
+ Node 4: arcs 0, 1, 2, 3 -> 1:1, 5:2, 5:1, 1:2
18
+ Node 5: arcs 0, 1, 2, 3 -> 2:2, 4:2, 4:1, 3:2
19
+ Cell 0
20
+ 0:0
21
+ 1:1
22
+ 4:1
23
+ 5:3
24
+ 3:3
25
+ Cell 1
26
+ 0:1
27
+ 2:1
28
+ 1:0
29
+ Cell 2
30
+ 0:2
31
+ 3:1
32
+ 2:0
33
+ Cell 3
34
+ 0:3
35
+ 3:0
36
+ Cell 4
37
+ 1:2
38
+ 4:0
39
+ Cell 5
40
+ 1:3
41
+ 2:2
42
+ 5:1
43
+ 4:3
44
+ Cell 6
45
+ 2:3
46
+ 3:2
47
+ 5:0
48
+ Cell 7
49
+ 4:2
50
+ 5:2
51
+
52
+ Vertex 0, boundary, degree 3: 0 (2), 1 (1), 0 (0) : 0
53
+ 0 (2)
54
+ 1 (1)
55
+ 0 (0)
56
+ Vertex 1, boundary, degree 3: 1 (0), 0 (1), 1 (2) : 1
57
+ 1 (0)
58
+ 0 (1)
59
+ 1 (2)
60
+ Edge 0, internal: 0 (01), 1 (12) : 0
61
+ 0 (01)
62
+ 1 (12)
63
+ Edge 1, boundary: 0 (20) : 1
64
+ 0 (20)
65
+ Edge 2, internal: 0 (12), 1 (01) : 2
66
+ 0 (12)
67
+ 1 (01)
68
+ Edge 3, boundary: 1 (02) : 3
69
+ 1 (02)
70
+ 2-simplex 0: 01 -> 1 (12), 12 -> 1 (01) : 0
71
+ 2-simplex 1: 01 -> 0 (12), 12 -> 0 (01) : 1
72
+ Boundary component 0: 0 (20) : 0
73
+ Vertex 0, boundary, degree 3: 0 (2), 1 (1), 0 (0) : 0
74
+ Edge 1, boundary: 0 (20) : 1
75
+ Boundary component 1: 1 (02) : 1
76
+ Vertex 1, boundary, degree 3: 1 (0), 0 (1), 1 (2) : 1
77
+ Edge 3, boundary: 1 (02) : 3
78
+ Component with 2 triangles: entire triangulation : 0
79
+ Vertex 0, boundary, degree 3: 0 (2), 1 (1), 0 (0) : 0
80
+ Vertex 1, boundary, degree 3: 1 (0), 0 (1), 1 (2) : 1
81
+ Edge 0, internal: 0 (01), 1 (12) : 0
82
+ Edge 1, boundary: 0 (20) : 1
83
+ Edge 2, internal: 0 (12), 1 (01) : 2
84
+ Edge 3, boundary: 1 (02) : 3
85
+ 2-simplex 0: 01 -> 1 (12), 12 -> 1 (01) : 0
86
+ 2-simplex 1: 01 -> 0 (12), 12 -> 0 (01) : 1
87
+ Boundary component 0: 0 (20) : 0
88
+ Boundary component 1: 1 (02) : 1
89
+
90
+ Vertex 0, boundary, degree 8: 0 (0), 1 (0), 1 (3), 0 (3), 1 (2), 0 (2), 1 (1), 0 (1) : 0
91
+ 0 (0)
92
+ 1 (0)
93
+ 1 (3)
94
+ 0 (3)
95
+ 1 (2)
96
+ 0 (2)
97
+ 1 (1)
98
+ 0 (1)
99
+ Edge 0, boundary, degree 1: 0 (01) : 0
100
+ 0 (01)
101
+ Edge 1, boundary, degree 3: 0 (31), 1 (01), 0 (02) : 1
102
+ 0 (31)
103
+ 1 (01)
104
+ 0 (02)
105
+ Edge 2, boundary, degree 4: 0 (03), 1 (02), 1 (31), 0 (21) : 2
106
+ 0 (03)
107
+ 1 (02)
108
+ 1 (31)
109
+ 0 (21)
110
+ Edge 3, internal, degree 4: 0 (23), 1 (30), 1 (23), 1 (12) : 3
111
+ 0 (23)
112
+ 1 (30)
113
+ 1 (23)
114
+ 1 (12)
115
+ Triangle 0, boundary: 0 (012) : 0
116
+ 0 (012)
117
+ Triangle 1, boundary: 0 (031) : 1
118
+ 0 (031)
119
+ Triangle 2, internal: 0 (023), 1 (012) : 2
120
+ 0 (023)
121
+ 1 (012)
122
+ Triangle 3, internal: 1 (130), 0 (123) : 3
123
+ 1 (130)
124
+ 0 (123)
125
+ Triangle 4, internal: 1 (312), 1 (023) : 4
126
+ 1 (312)
127
+ 1 (023)
128
+ 3-simplex 0: 023 -> 1 (012), 123 -> 1 (130) : 0
129
+ 3-simplex 1: 012 -> 0 (023), 013 -> 0 (312), 023 -> 1 (312), 123 -> 1 (230) : 1
130
+ Boundary component 0, finite: 0 (012), 0 (031) : 0
131
+ Vertex 0, boundary, degree 8: 0 (0), 1 (0), 1 (3), 0 (3), 1 (2), 0 (2), 1 (1), 0 (1) : 0
132
+ Edge 2, boundary, degree 4: 0 (03), 1 (02), 1 (31), 0 (21) : 2
133
+ Edge 1, boundary, degree 3: 0 (31), 1 (01), 0 (02) : 1
134
+ Edge 0, boundary, degree 1: 0 (01) : 0
135
+ Triangle 0, boundary: 0 (012) : 0
136
+ Triangle 1, boundary: 0 (031) : 1
137
+ Component with 2 tetrahedra: entire triangulation : 0
138
+ Vertex 0, boundary, degree 8: 0 (0), 1 (0), 1 (3), 0 (3), 1 (2), 0 (2), 1 (1), 0 (1) : 0
139
+ Edge 0, boundary, degree 1: 0 (01) : 0
140
+ Edge 1, boundary, degree 3: 0 (31), 1 (01), 0 (02) : 1
141
+ Edge 2, boundary, degree 4: 0 (03), 1 (02), 1 (31), 0 (21) : 2
142
+ Edge 3, internal, degree 4: 0 (23), 1 (30), 1 (23), 1 (12) : 3
143
+ Triangle 0, boundary: 0 (012) : 0
144
+ Triangle 1, boundary: 0 (031) : 1
145
+ Triangle 2, internal: 0 (023), 1 (012) : 2
146
+ Triangle 3, internal: 1 (130), 0 (123) : 3
147
+ Triangle 4, internal: 1 (312), 1 (023) : 4
148
+ 3-simplex 0: 023 -> 1 (012), 123 -> 1 (130) : 0
149
+ 3-simplex 1: 012 -> 0 (023), 013 -> 0 (312), 023 -> 1 (312), 123 -> 1 (230) : 1
150
+ Boundary component 0, finite: 0 (012), 0 (031) : 0
151
+
152
+ Vertex 0, boundary, degree 5: 0 (0), 1 (1), 0 (2), 1 (3), 0 (4) : 0
153
+ 0 (0)
154
+ 1 (1)
155
+ 0 (2)
156
+ 1 (3)
157
+ 0 (4)
158
+ Vertex 1, boundary, degree 5: 0 (1), 1 (0), 1 (2), 0 (3), 1 (4) : 1
159
+ 0 (1)
160
+ 1 (0)
161
+ 1 (2)
162
+ 0 (3)
163
+ 1 (4)
164
+ Edge 0, boundary, degree 4: 0 (01), 1 (12), 0 (23), 1 (34) : 0
165
+ 0 (01)
166
+ 1 (12)
167
+ 0 (23)
168
+ 1 (34)
169
+ Edge 1, boundary, degree 3: 0 (02), 1 (13), 0 (24) : 1
170
+ 0 (02)
171
+ 1 (13)
172
+ 0 (24)
173
+ Edge 2, boundary, degree 2: 0 (03), 1 (14) : 2
174
+ 0 (03)
175
+ 1 (14)
176
+ Edge 3, boundary, degree 1: 0 (04) : 3
177
+ 0 (04)
178
+ Edge 4, boundary, degree 4: 0 (12), 1 (01), 1 (23), 0 (34) : 4
179
+ 0 (12)
180
+ 1 (01)
181
+ 1 (23)
182
+ 0 (34)
183
+ Edge 5, boundary, degree 3: 0 (13), 1 (02), 1 (24) : 5
184
+ 0 (13)
185
+ 1 (02)
186
+ 1 (24)
187
+ Edge 6, boundary, degree 2: 0 (14), 1 (03) : 6
188
+ 0 (14)
189
+ 1 (03)
190
+ Edge 7, boundary, degree 1: 1 (04) : 7
191
+ 1 (04)
192
+ Triangle 0, boundary, degree 3: 0 (234), 1 (123), 0 (012) : 0
193
+ 0 (234)
194
+ 1 (123)
195
+ 0 (012)
196
+ Triangle 1, boundary, degree 2: 1 (023), 0 (134) : 1
197
+ 1 (023)
198
+ 0 (134)
199
+ Triangle 2, boundary, degree 2: 0 (124), 1 (013) : 2
200
+ 0 (124)
201
+ 1 (013)
202
+ Triangle 3, boundary, degree 3: 1 (012), 0 (123), 1 (234) : 3
203
+ 1 (012)
204
+ 0 (123)
205
+ 1 (234)
206
+ Triangle 4, boundary, degree 1: 0 (034) : 4
207
+ 0 (034)
208
+ Triangle 5, boundary, degree 1: 0 (024) : 5
209
+ 0 (024)
210
+ Triangle 6, boundary, degree 2: 1 (134), 0 (023) : 6
211
+ 1 (134)
212
+ 0 (023)
213
+ Triangle 7, boundary, degree 1: 0 (014) : 7
214
+ 0 (014)
215
+ Triangle 8, boundary, degree 2: 0 (013), 1 (124) : 8
216
+ 0 (013)
217
+ 1 (124)
218
+ Triangle 9, boundary, degree 1: 1 (034) : 9
219
+ 1 (034)
220
+ Triangle 10, boundary, degree 1: 1 (024) : 10
221
+ 1 (024)
222
+ Triangle 11, boundary, degree 1: 1 (014) : 11
223
+ 1 (014)
224
+ Tetrahedron 0, internal: 0 (0123), 1 (1234) : 0
225
+ 0 (0123)
226
+ 1 (1234)
227
+ Tetrahedron 1, boundary: 0 (0142) : 1
228
+ 0 (0142)
229
+ Tetrahedron 2, boundary: 0 (0134) : 2
230
+ 0 (0134)
231
+ Tetrahedron 3, boundary: 0 (0243) : 3
232
+ 0 (0243)
233
+ Tetrahedron 4, internal: 0 (1234), 1 (0123) : 4
234
+ 0 (1234)
235
+ 1 (0123)
236
+ Tetrahedron 5, boundary: 1 (0124) : 5
237
+ 1 (0124)
238
+ Tetrahedron 6, boundary: 1 (0143) : 6
239
+ 1 (0143)
240
+ Tetrahedron 7, boundary: 1 (0234) : 7
241
+ 1 (0234)
242
+ 4-simplex 0: 0123 -> 1 (1234), 1234 -> 1 (0123) : 0
243
+ 4-simplex 1: 0123 -> 0 (1234), 1234 -> 0 (0123) : 1
244
+ Boundary component 0, finite: 0 (0142), 1 (0143), 0 (0243), 0 (0134), 1 (0234), 1 (0124) : 0
245
+ Vertex 0, boundary, degree 5: 0 (0), 1 (1), 0 (2), 1 (3), 0 (4) : 0
246
+ Vertex 1, boundary, degree 5: 0 (1), 1 (0), 1 (2), 0 (3), 1 (4) : 1
247
+ Edge 0, boundary, degree 4: 0 (01), 1 (12), 0 (23), 1 (34) : 0
248
+ Edge 3, boundary, degree 1: 0 (04) : 3
249
+ Edge 1, boundary, degree 3: 0 (02), 1 (13), 0 (24) : 1
250
+ Edge 6, boundary, degree 2: 0 (14), 1 (03) : 6
251
+ Edge 4, boundary, degree 4: 0 (12), 1 (01), 1 (23), 0 (34) : 4
252
+ Edge 7, boundary, degree 1: 1 (04) : 7
253
+ Edge 2, boundary, degree 2: 0 (03), 1 (14) : 2
254
+ Edge 5, boundary, degree 3: 0 (13), 1 (02), 1 (24) : 5
255
+ Triangle 2, boundary, degree 2: 0 (124), 1 (013) : 2
256
+ Triangle 5, boundary, degree 1: 0 (024) : 5
257
+ Triangle 7, boundary, degree 1: 0 (014) : 7
258
+ Triangle 0, boundary, degree 3: 0 (234), 1 (123), 0 (012) : 0
259
+ Triangle 6, boundary, degree 2: 1 (134), 0 (023) : 6
260
+ Triangle 9, boundary, degree 1: 1 (034) : 9
261
+ Triangle 11, boundary, degree 1: 1 (014) : 11
262
+ Triangle 4, boundary, degree 1: 0 (034) : 4
263
+ Triangle 1, boundary, degree 2: 1 (023), 0 (134) : 1
264
+ Triangle 8, boundary, degree 2: 0 (013), 1 (124) : 8
265
+ Triangle 3, boundary, degree 3: 1 (012), 0 (123), 1 (234) : 3
266
+ Triangle 10, boundary, degree 1: 1 (024) : 10
267
+ Tetrahedron 1, boundary: 0 (0142) : 1
268
+ Tetrahedron 6, boundary: 1 (0143) : 6
269
+ Tetrahedron 3, boundary: 0 (0243) : 3
270
+ Tetrahedron 2, boundary: 0 (0134) : 2
271
+ Tetrahedron 7, boundary: 1 (0234) : 7
272
+ Tetrahedron 5, boundary: 1 (0124) : 5
273
+ Component with 2 pentachora: entire triangulation : 0
274
+ Vertex 0, boundary, degree 5: 0 (0), 1 (1), 0 (2), 1 (3), 0 (4) : 0
275
+ Vertex 1, boundary, degree 5: 0 (1), 1 (0), 1 (2), 0 (3), 1 (4) : 1
276
+ Edge 0, boundary, degree 4: 0 (01), 1 (12), 0 (23), 1 (34) : 0
277
+ Edge 1, boundary, degree 3: 0 (02), 1 (13), 0 (24) : 1
278
+ Edge 2, boundary, degree 2: 0 (03), 1 (14) : 2
279
+ Edge 3, boundary, degree 1: 0 (04) : 3
280
+ Edge 4, boundary, degree 4: 0 (12), 1 (01), 1 (23), 0 (34) : 4
281
+ Edge 5, boundary, degree 3: 0 (13), 1 (02), 1 (24) : 5
282
+ Edge 6, boundary, degree 2: 0 (14), 1 (03) : 6
283
+ Edge 7, boundary, degree 1: 1 (04) : 7
284
+ Triangle 0, boundary, degree 3: 0 (234), 1 (123), 0 (012) : 0
285
+ Triangle 1, boundary, degree 2: 1 (023), 0 (134) : 1
286
+ Triangle 2, boundary, degree 2: 0 (124), 1 (013) : 2
287
+ Triangle 3, boundary, degree 3: 1 (012), 0 (123), 1 (234) : 3
288
+ Triangle 4, boundary, degree 1: 0 (034) : 4
289
+ Triangle 5, boundary, degree 1: 0 (024) : 5
290
+ Triangle 6, boundary, degree 2: 1 (134), 0 (023) : 6
291
+ Triangle 7, boundary, degree 1: 0 (014) : 7
292
+ Triangle 8, boundary, degree 2: 0 (013), 1 (124) : 8
293
+ Triangle 9, boundary, degree 1: 1 (034) : 9
294
+ Triangle 10, boundary, degree 1: 1 (024) : 10
295
+ Triangle 11, boundary, degree 1: 1 (014) : 11
296
+ Tetrahedron 0, internal: 0 (0123), 1 (1234) : 0
297
+ Tetrahedron 1, boundary: 0 (0142) : 1
298
+ Tetrahedron 2, boundary: 0 (0134) : 2
299
+ Tetrahedron 3, boundary: 0 (0243) : 3
300
+ Tetrahedron 4, internal: 0 (1234), 1 (0123) : 4
301
+ Tetrahedron 5, boundary: 1 (0124) : 5
302
+ Tetrahedron 6, boundary: 1 (0143) : 6
303
+ Tetrahedron 7, boundary: 1 (0234) : 7
304
+ 4-simplex 0: 0123 -> 1 (1234), 1234 -> 1 (0123) : 0
305
+ 4-simplex 1: 0123 -> 0 (1234), 1234 -> 0 (0123) : 1
306
+ Boundary component 0, finite: 0 (0142), 1 (0143), 0 (0243), 0 (0134), 1 (0234), 1 (0124) : 0
307
+
308
+ Vertex 0, boundary, degree 6: 0 (0), 0 (1), 0 (2), 0 (3), 0 (4), 0 (5) : 0
309
+ 0 (0)
310
+ 0 (1)
311
+ 0 (2)
312
+ 0 (3)
313
+ 0 (4)
314
+ 0 (5)
315
+ Edge 0, boundary, degree 5: 0 (01), 0 (12), 0 (23), 0 (34), 0 (45) : 0
316
+ 0 (01)
317
+ 0 (12)
318
+ 0 (23)
319
+ 0 (34)
320
+ 0 (45)
321
+ Edge 1, boundary, degree 4: 0 (02), 0 (13), 0 (24), 0 (35) : 1
322
+ 0 (02)
323
+ 0 (13)
324
+ 0 (24)
325
+ 0 (35)
326
+ Edge 2, boundary, degree 3: 0 (03), 0 (14), 0 (25) : 2
327
+ 0 (03)
328
+ 0 (14)
329
+ 0 (25)
330
+ Edge 3, boundary, degree 2: 0 (04), 0 (15) : 3
331
+ 0 (04)
332
+ 0 (15)
333
+ Edge 4, boundary, degree 1: 0 (05) : 4
334
+ 0 (05)
335
+ Triangle 0, boundary, degree 4: 0 (012), 0 (123), 0 (234), 0 (345) : 0
336
+ 0 (012)
337
+ 0 (123)
338
+ 0 (234)
339
+ 0 (345)
340
+ Triangle 1, boundary, degree 3: 0 (013), 0 (124), 0 (235) : 1
341
+ 0 (013)
342
+ 0 (124)
343
+ 0 (235)
344
+ Triangle 2, boundary, degree 2: 0 (014), 0 (125) : 2
345
+ 0 (014)
346
+ 0 (125)
347
+ Triangle 3, boundary, degree 1: 0 (015) : 3
348
+ 0 (015)
349
+ Triangle 4, boundary, degree 3: 0 (023), 0 (134), 0 (245) : 4
350
+ 0 (023)
351
+ 0 (134)
352
+ 0 (245)
353
+ Triangle 5, boundary, degree 2: 0 (024), 0 (135) : 5
354
+ 0 (024)
355
+ 0 (135)
356
+ Triangle 6, boundary, degree 1: 0 (025) : 6
357
+ 0 (025)
358
+ Triangle 7, boundary, degree 2: 0 (034), 0 (145) : 7
359
+ 0 (034)
360
+ 0 (145)
361
+ Triangle 8, boundary, degree 1: 0 (035) : 8
362
+ 0 (035)
363
+ Triangle 9, boundary, degree 1: 0 (045) : 9
364
+ 0 (045)
365
+ Tetrahedron 0, boundary, degree 3: 0 (2345), 0 (1234), 0 (0123) : 0
366
+ 0 (2345)
367
+ 0 (1234)
368
+ 0 (0123)
369
+ Tetrahedron 1, boundary, degree 2: 0 (0234), 0 (1345) : 1
370
+ 0 (0234)
371
+ 0 (1345)
372
+ Tetrahedron 2, boundary, degree 2: 0 (1245), 0 (0134) : 2
373
+ 0 (1245)
374
+ 0 (0134)
375
+ Tetrahedron 3, boundary, degree 2: 0 (0124), 0 (1235) : 3
376
+ 0 (0124)
377
+ 0 (1235)
378
+ Tetrahedron 4, boundary, degree 1: 0 (0345) : 4
379
+ 0 (0345)
380
+ Tetrahedron 5, boundary, degree 1: 0 (0245) : 5
381
+ 0 (0245)
382
+ Tetrahedron 6, boundary, degree 1: 0 (0235) : 6
383
+ 0 (0235)
384
+ Tetrahedron 7, boundary, degree 1: 0 (0145) : 7
385
+ 0 (0145)
386
+ Tetrahedron 8, boundary, degree 1: 0 (0135) : 8
387
+ 0 (0135)
388
+ Tetrahedron 9, boundary, degree 1: 0 (0125) : 9
389
+ 0 (0125)
390
+ Pentachoron 0, internal: 0 (01234), 0 (12345) : 0
391
+ Pentachoron 1, boundary: 0 (01253) : 1
392
+ Pentachoron 2, boundary: 0 (01245) : 2
393
+ Pentachoron 3, boundary: 0 (01354) : 3
394
+ Pentachoron 4, boundary: 0 (02345) : 4
395
+ Boundary component 0: 0 (01253), 0 (01245), 0 (02345), 0 (01354) : 0
396
+ Pentachoron 1, boundary: 0 (01253) : 1
397
+ Pentachoron 2, boundary: 0 (01245) : 2
398
+ Pentachoron 4, boundary: 0 (02345) : 4
399
+ Pentachoron 3, boundary: 0 (01354) : 3
400
+ Component with 1 5-simplex: entire triangulation : 0
401
+ 5-simplex 0: 01234 -> 0 (12345), 12345 -> 0 (01234) : 0
402
+ Boundary component 0: 0 (01253), 0 (01245), 0 (02345), 0 (01354) : 0
403
+
404
+ Complete cusp at vertex 0
405
+ Complete cusp at vertex 1
406
+
407
+ [ [ -1, 0, 1, 2 ], [ 0, -1, 3, 4 ], [ 1, 3, -1, 5 ], [ 2, 4, 5, -1 ] ] [4, 4] 4
408
+ [ [ 0, 1, 2, 3 ], [ 0, 2, 1, 3 ], [ 0, 3, 1, 2 ] ] [3, 4] 3
409
+ [ 01/23, 02/13, 03/12 ] [3] 3
410
+
411
+ 01/23
412
+ 02/13
413
+ 03/12
414
+ [ 0, 1, 2, 3 ] [0, 1, 2, 3]
415
+ [ 0, 2, 1, 3 ] [0, 2, 1, 3]
416
+ [ 0, 3, 1, 2 ] [0, 3, 1, 2]
@@ -0,0 +1,251 @@
1
+ # Regina - A Normal Surface Theory Calculator
2
+ # Python Test Suite Component
3
+ #
4
+ # Copyright (c) 2019-2025, Ben Burton
5
+ # For further details contact Ben Burton (bab@debian.org).
6
+ #
7
+ # Tests iteration with C++ functions that return a ListView.
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 License
30
+ # along with this program. If not, see <https://www.gnu.org/licenses/>.
31
+
32
+ l = ExampleLink.whitehead()
33
+
34
+ for c in l.crossings():
35
+ print(c)
36
+
37
+ for c in l.components():
38
+ print(c)
39
+
40
+ print()
41
+
42
+ l = Tangle(2, 3)
43
+
44
+ for c in l.crossings():
45
+ print(c)
46
+
47
+ print()
48
+
49
+ g = ModelLinkGraph.fromPlantri('bcdd,aeec,abfd,acfa,bffb,ceed')
50
+
51
+ for n in g.nodes():
52
+ print(n)
53
+
54
+ cells = g.cells()
55
+
56
+ for i in range(cells.countCells()):
57
+ print('Cell', i)
58
+ for a in cells.arcs(i):
59
+ print(a)
60
+
61
+ print()
62
+
63
+ t = Example2.annulus()
64
+
65
+ for f in t.vertices():
66
+ print(f.str(), ':', f.index())
67
+ for e in f.embeddings():
68
+ print(e)
69
+
70
+ for f in t.edges():
71
+ print(f.str(), ':', f.index())
72
+ for e in f.embeddings():
73
+ print(e)
74
+
75
+ for f in t.triangles():
76
+ print(f.str(), ':', f.index())
77
+
78
+ for c in t.boundaryComponents():
79
+ print(c.str(), ':', c.index())
80
+ for f in c.vertices():
81
+ print(f, ':', f.index())
82
+ for f in c.edges():
83
+ print(f, ':', f.index())
84
+
85
+ for c in t.components():
86
+ print(c.str(), ':', c.index())
87
+ for f in c.vertices():
88
+ print(f, ':', f.index())
89
+ for f in c.edges():
90
+ print(f, ':', f.index())
91
+ for f in c.triangles():
92
+ print(f, ':', f.index())
93
+ for f in c.boundaryComponents():
94
+ print(f, ':', f.index())
95
+
96
+ print()
97
+
98
+ t = Example3.lst(2, 3)
99
+
100
+ for f in t.vertices():
101
+ print(f.str(), ':', f.index())
102
+ for e in f.embeddings():
103
+ print(e)
104
+
105
+ for f in t.edges():
106
+ print(f.str(), ':', f.index())
107
+ for e in f.embeddings():
108
+ print(e)
109
+
110
+ for f in t.triangles():
111
+ print(f.str(), ':', f.index())
112
+ for e in f.embeddings():
113
+ print(e)
114
+
115
+ for f in t.tetrahedra():
116
+ print(f.str(), ':', f.index())
117
+
118
+ for c in t.boundaryComponents():
119
+ print(c.str(), ':', c.index())
120
+ for f in c.vertices():
121
+ print(f, ':', f.index())
122
+ for f in c.edges():
123
+ print(f, ':', f.index())
124
+ for f in c.triangles():
125
+ print(f, ':', f.index())
126
+
127
+ for c in t.components():
128
+ print(c.str(), ':', c.index())
129
+ for f in c.vertices():
130
+ print(f, ':', f.index())
131
+ for f in c.edges():
132
+ print(f, ':', f.index())
133
+ for f in c.triangles():
134
+ print(f, ':', f.index())
135
+ for f in c.tetrahedra():
136
+ print(f, ':', f.index())
137
+ for f in c.boundaryComponents():
138
+ print(f, ':', f.index())
139
+
140
+ print()
141
+
142
+ t = Example4.ballBundle()
143
+
144
+ for f in t.vertices():
145
+ print(f.str(), ':', f.index())
146
+ for e in f.embeddings():
147
+ print(e)
148
+
149
+ for f in t.edges():
150
+ print(f.str(), ':', f.index())
151
+ for e in f.embeddings():
152
+ print(e)
153
+
154
+ for f in t.triangles():
155
+ print(f.str(), ':', f.index())
156
+ for e in f.embeddings():
157
+ print(e)
158
+
159
+ for f in t.tetrahedra():
160
+ print(f.str(), ':', f.index())
161
+ for e in f.embeddings():
162
+ print(e)
163
+
164
+ for f in t.pentachora():
165
+ print(f.str(), ':', f.index())
166
+
167
+ for c in t.boundaryComponents():
168
+ print(c.str(), ':', c.index())
169
+ for f in c.vertices():
170
+ print(f, ':', f.index())
171
+ for f in c.edges():
172
+ print(f, ':', f.index())
173
+ for f in c.triangles():
174
+ print(f, ':', f.index())
175
+ for f in c.tetrahedra():
176
+ print(f, ':', f.index())
177
+
178
+ for c in t.components():
179
+ print(c.str(), ':', c.index())
180
+ for f in c.vertices():
181
+ print(f, ':', f.index())
182
+ for f in c.edges():
183
+ print(f, ':', f.index())
184
+ for f in c.triangles():
185
+ print(f, ':', f.index())
186
+ for f in c.tetrahedra():
187
+ print(f, ':', f.index())
188
+ for f in c.pentachora():
189
+ print(f, ':', f.index())
190
+ for f in c.boundaryComponents():
191
+ print(f, ':', f.index())
192
+
193
+ print()
194
+
195
+ t = Example5.ballBundle()
196
+
197
+ for f in t.vertices():
198
+ print(f.str(), ':', f.index())
199
+ for e in f.embeddings():
200
+ print(e)
201
+
202
+ for f in t.edges():
203
+ print(f.str(), ':', f.index())
204
+ for e in f.embeddings():
205
+ print(e)
206
+
207
+ for f in t.triangles():
208
+ print(f.str(), ':', f.index())
209
+ for e in f.embeddings():
210
+ print(e)
211
+
212
+ for f in t.tetrahedra():
213
+ print(f.str(), ':', f.index())
214
+ for e in f.embeddings():
215
+ print(e)
216
+
217
+ for f in t.pentachora():
218
+ print(f.str(), ':', f.index())
219
+
220
+ for c in t.boundaryComponents():
221
+ print(c.str(), ':', c.index())
222
+ for f in c.pentachora():
223
+ print(f, ':', f.index())
224
+
225
+ for c in t.components():
226
+ print(c.str(), ':', c.index())
227
+ for f in c.simplices():
228
+ print(f, ':', f.index())
229
+ for f in c.boundaryComponents():
230
+ print(f, ':', f.index())
231
+
232
+ print()
233
+
234
+ s = ExampleSnapPea.whiteheadLink()
235
+
236
+ for c in s.cusps():
237
+ print(c.str())
238
+
239
+ # While we're here, test TableView also.
240
+
241
+ print()
242
+ print(Edge3.edgeNumber, Edge3.edgeNumber.size(), len(Edge3.edgeNumber))
243
+ print(quadDefn, quadDefn.size(), len(quadDefn))
244
+ print(quadString, quadString.size(), len(quadString))
245
+ print()
246
+
247
+ for i in quadString:
248
+ print(i)
249
+
250
+ for i in quadDefn:
251
+ print(i, [j for j in i])
@@ -0,0 +1,13 @@
1
+ SEARCH: foo
2
+ Hits: 0
3
+
4
+ SEARCH: cPcbbbiht
5
+ Hits: 2
6
+ Cusped hyperbolic census (orientable) - m004 : #1
7
+ Christy's collection of knot/link complements - L104001
8
+
9
+ SEARCH: nLLvLMPMQkcdijihjjmlklmmicgcvcbkihlfng
10
+ Hits: 2
11
+ Christy's collection of knot/link complements - L111376
12
+ Christy's collection of knot/link complements - L111449
13
+
@@ -0,0 +1,42 @@
1
+ # Regina - A Normal Surface Theory Calculator
2
+ # Python Test Suite Component
3
+ #
4
+ # Copyright (c) 2007-2025, Ben Burton
5
+ # For further details contact Ben Burton (bab@debian.org).
6
+ #
7
+ # Tests the census database lookup routines.
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 License
30
+ # along with this program. If not, see <https://www.gnu.org/licenses/>.
31
+
32
+ def search(sig):
33
+ print('SEARCH:', sig)
34
+ hits = Census.lookup(sig)
35
+ print('Hits:', len(hits))
36
+ for h in hits:
37
+ print(' ' + h.db().desc() + ' - ' + h.name())
38
+ print()
39
+
40
+ search('foo')
41
+ search('cPcbbbiht')
42
+ search('nLLvLMPMQkcdijihjjmlklmmicgcvcbkihlfng')