regina 7.3.1.1__cp311-cp311-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.

Files changed (163) hide show
  1. regina/__init__.py +203 -0
  2. regina/engine.cpython-311-aarch64-linux-gnu.so +0 -0
  3. regina/plainCompleter.py +221 -0
  4. regina/pyCensus/__init__.py +14 -0
  5. regina/pyCensus/christy-knots-links.tdb +0 -0
  6. regina/pyCensus/closed-hyp-census-full.tdb +0 -0
  7. regina/pyCensus/closed-nor-census-11.tdb +0 -0
  8. regina/pyCensus/closed-or-census-11.tdb +0 -0
  9. regina/pyCensus/cusped-hyp-nor-census-9.tdb +0 -0
  10. regina/pyCensus/cusped-hyp-or-census-9.tdb +0 -0
  11. regina/sageRegina/__init__.py +2 -0
  12. regina/sageRegina/config.py +9 -0
  13. regina/sageRegina/test.py +132 -0
  14. regina/sageRegina/testsuite/CMakeLists.txt +60 -0
  15. regina/sageRegina/testsuite/O2_1.rga +15 -0
  16. regina/sageRegina/testsuite/O2_1.tri +28 -0
  17. regina/sageRegina/testsuite/README.txt +20 -0
  18. regina/sageRegina/testsuite/alltypes.out +1551 -0
  19. regina/sageRegina/testsuite/alltypes.test +88 -0
  20. regina/sageRegina/testsuite/angles.out +102 -0
  21. regina/sageRegina/testsuite/angles.test +72 -0
  22. regina/sageRegina/testsuite/basic_callback.out +124 -0
  23. regina/sageRegina/testsuite/basic_sub.out +7 -0
  24. regina/sageRegina/testsuite/bool.out +6 -0
  25. regina/sageRegina/testsuite/bool.test +64 -0
  26. regina/sageRegina/testsuite/bytes.out +17 -0
  27. regina/sageRegina/testsuite/bytes.test +78 -0
  28. regina/sageRegina/testsuite/callbacks.out +515 -0
  29. regina/sageRegina/testsuite/callbacks.test +281 -0
  30. regina/sageRegina/testsuite/census.out +120 -0
  31. regina/sageRegina/testsuite/census.test +157 -0
  32. regina/sageRegina/testsuite/clone.out +18 -0
  33. regina/sageRegina/testsuite/clone.test +101 -0
  34. regina/sageRegina/testsuite/constructors.out +14 -0
  35. regina/sageRegina/testsuite/constructors.test +97 -0
  36. regina/sageRegina/testsuite/cube.orb +87 -0
  37. regina/sageRegina/testsuite/discs.out +3 -0
  38. regina/sageRegina/testsuite/discs.test +40 -0
  39. regina/sageRegina/testsuite/docstrings.filter +19 -0
  40. regina/sageRegina/testsuite/docstrings.out +808 -0
  41. regina/sageRegina/testsuite/docstrings.out.v3 +808 -0
  42. regina/sageRegina/testsuite/docstrings.test +57 -0
  43. regina/sageRegina/testsuite/dodec.orb +309 -0
  44. regina/sageRegina/testsuite/embeddings.out +23 -0
  45. regina/sageRegina/testsuite/embeddings.test +89 -0
  46. regina/sageRegina/testsuite/enumerate.out +62 -0
  47. regina/sageRegina/testsuite/enumerate.test +82 -0
  48. regina/sageRegina/testsuite/equality.out +112 -0
  49. regina/sageRegina/testsuite/equality.test +310 -0
  50. regina/sageRegina/testsuite/euler.out +15 -0
  51. regina/sageRegina/testsuite/euler.test +95 -0
  52. regina/sageRegina/testsuite/exception.out +7 -0
  53. regina/sageRegina/testsuite/exception.test +100 -0
  54. regina/sageRegina/testsuite/facenumbering.out +546 -0
  55. regina/sageRegina/testsuite/facenumbering.test +74 -0
  56. regina/sageRegina/testsuite/faces.out +40 -0
  57. regina/sageRegina/testsuite/faces.test +72 -0
  58. regina/sageRegina/testsuite/file.out +1229 -0
  59. regina/sageRegina/testsuite/file.test +70 -0
  60. regina/sageRegina/testsuite/file1.rga +0 -0
  61. regina/sageRegina/testsuite/file2.rga +0 -0
  62. regina/sageRegina/testsuite/file3.rga +119 -0
  63. regina/sageRegina/testsuite/flype.out +37 -0
  64. regina/sageRegina/testsuite/flype.test +50 -0
  65. regina/sageRegina/testsuite/generic.out +116 -0
  66. regina/sageRegina/testsuite/generic.test +76 -0
  67. regina/sageRegina/testsuite/groups.out +70 -0
  68. regina/sageRegina/testsuite/groups.test +117 -0
  69. regina/sageRegina/testsuite/hypersurfaces.out +681 -0
  70. regina/sageRegina/testsuite/hypersurfaces.test +90 -0
  71. regina/sageRegina/testsuite/i18n-latin1.rga +8 -0
  72. regina/sageRegina/testsuite/i18n-utf8.rga +8 -0
  73. regina/sageRegina/testsuite/i18n.out +6 -0
  74. regina/sageRegina/testsuite/i18n.test +91 -0
  75. regina/sageRegina/testsuite/id.out +2 -0
  76. regina/sageRegina/testsuite/id.test +47 -0
  77. regina/sageRegina/testsuite/index.out +2 -0
  78. regina/sageRegina/testsuite/index.test +43 -0
  79. regina/sageRegina/testsuite/integer.out +74 -0
  80. regina/sageRegina/testsuite/integer.test +56 -0
  81. regina/sageRegina/testsuite/italian.orb +90 -0
  82. regina/sageRegina/testsuite/iterators.out +118 -0
  83. regina/sageRegina/testsuite/iterators.test +128 -0
  84. regina/sageRegina/testsuite/knotted-Y.orb +47 -0
  85. regina/sageRegina/testsuite/listener.out +43 -0
  86. regina/sageRegina/testsuite/listener.test +101 -0
  87. regina/sageRegina/testsuite/listview.out +416 -0
  88. regina/sageRegina/testsuite/listview.test +253 -0
  89. regina/sageRegina/testsuite/lookup.out +13 -0
  90. regina/sageRegina/testsuite/lookup.test +44 -0
  91. regina/sageRegina/testsuite/memory1.out +62 -0
  92. regina/sageRegina/testsuite/memory1.test +154 -0
  93. regina/sageRegina/testsuite/memory2.out +62 -0
  94. regina/sageRegina/testsuite/memory2.test +124 -0
  95. regina/sageRegina/testsuite/memory3.out +92 -0
  96. regina/sageRegina/testsuite/memory3.test +216 -0
  97. regina/sageRegina/testsuite/misc.out +7 -0
  98. regina/sageRegina/testsuite/misc.test +56 -0
  99. regina/sageRegina/testsuite/operators.out +129 -0
  100. regina/sageRegina/testsuite/operators.test +61 -0
  101. regina/sageRegina/testsuite/orb.out +441 -0
  102. regina/sageRegina/testsuite/orb.test +49 -0
  103. regina/sageRegina/testsuite/pdf.out +4 -0
  104. regina/sageRegina/testsuite/pdf.test +49 -0
  105. regina/sageRegina/testsuite/perm.out +55 -0
  106. regina/sageRegina/testsuite/perm.test +96 -0
  107. regina/sageRegina/testsuite/plantri.out +12 -0
  108. regina/sageRegina/testsuite/plantri.test +60 -0
  109. regina/sageRegina/testsuite/presentations.out +11 -0
  110. regina/sageRegina/testsuite/presentations.test +61 -0
  111. regina/sageRegina/testsuite/refs.out +51 -0
  112. regina/sageRegina/testsuite/refs.test +128 -0
  113. regina/sageRegina/testsuite/repr.out +951 -0
  114. regina/sageRegina/testsuite/repr.out.v3 +951 -0
  115. regina/sageRegina/testsuite/repr.test +548 -0
  116. regina/sageRegina/testsuite/safeheldtype_basic.out +17 -0
  117. regina/sageRegina/testsuite/safeheldtype_basic.test +113 -0
  118. regina/sageRegina/testsuite/safeheldtype_packet.out +58 -0
  119. regina/sageRegina/testsuite/safeheldtype_packet.test +181 -0
  120. regina/sageRegina/testsuite/sample.pdf +0 -0
  121. regina/sageRegina/testsuite/sets.out +7 -0
  122. regina/sageRegina/testsuite/sets.test +44 -0
  123. regina/sageRegina/testsuite/skeleton.out +308 -0
  124. regina/sageRegina/testsuite/skeleton.test +54 -0
  125. regina/sageRegina/testsuite/snappea.out +82 -0
  126. regina/sageRegina/testsuite/snappea.test +107 -0
  127. regina/sageRegina/testsuite/snapshot.out +15 -0
  128. regina/sageRegina/testsuite/snapshot.test +78 -0
  129. regina/sageRegina/testsuite/sort.out +57 -0
  130. regina/sageRegina/testsuite/sort.test +53 -0
  131. regina/sageRegina/testsuite/special.out +4 -0
  132. regina/sageRegina/testsuite/special.test +47 -0
  133. regina/sageRegina/testsuite/standardtri.out +12101 -0
  134. regina/sageRegina/testsuite/standardtri.test +455 -0
  135. regina/sageRegina/testsuite/surfaces.out +2133 -0
  136. regina/sageRegina/testsuite/surfaces.test +114 -0
  137. regina/sageRegina/testsuite/swapping.out +25 -0
  138. regina/sageRegina/testsuite/swapping.test +88 -0
  139. regina/sageRegina/testsuite/testall.in +176 -0
  140. regina/sageRegina/testsuite/testbasic.in +279 -0
  141. regina/sageRegina/testsuite/testcallback.in +150 -0
  142. regina/sageRegina/testsuite/testsub.in +150 -0
  143. regina/sageRegina/testsuite/theta_in_solid_torus.orb +65 -0
  144. regina/sageRegina/testsuite/tightencode.out +40 -0
  145. regina/sageRegina/testsuite/tightencode.test +108 -0
  146. regina/sageRegina/testsuite/treedecomp.out +135 -0
  147. regina/sageRegina/testsuite/treedecomp.test +66 -0
  148. regina/sageRegina/testsuite/treetraversal.out +52 -0
  149. regina/sageRegina/testsuite/treetraversal.test +190 -0
  150. regina/sageRegina/testsuite/trigeneral.out +1251 -0
  151. regina/sageRegina/testsuite/trigeneral.test +155 -0
  152. regina/sageRegina/testsuite/utf8.out +42 -0
  153. regina/sageRegina/testsuite/utf8.test +94 -0
  154. regina/sageRegina/version.py +5 -0
  155. regina/sageSetup.py +41 -0
  156. regina/test.py +6 -0
  157. regina-7.3.1.1.dist-info/METADATA +109 -0
  158. regina-7.3.1.1.dist-info/RECORD +163 -0
  159. regina-7.3.1.1.dist-info/WHEEL +6 -0
  160. regina-7.3.1.1.dist-info/top_level.txt +4 -0
  161. regina.libs/libbz2-738ca772.so.1.0.6 +0 -0
  162. regina.libs/libgmp-6683d5d4.so.10.2.0 +0 -0
  163. regina.libs/libgmpxx-7c3a5907.so.4.4.0 +0 -0
@@ -0,0 +1,455 @@
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
+ # 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
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 prefix(n):
35
+ return ' ' * n
36
+
37
+ def describeSatRegion(r):
38
+ for b in range(r.countBlocks()):
39
+ spec = r.block(b)
40
+ block = spec.block()
41
+ if spec.refVert() and spec.refHoriz():
42
+ refStr = '<-> vert/horiz'
43
+ elif spec.refVert():
44
+ refStr = '<-> vert'
45
+ elif spec.refHoriz():
46
+ refstr = '<-> horiz'
47
+ else:
48
+ refStr = '<-X->'
49
+ print(prefix(3) + 'Block ' + str(b) + ':', block.abbr(), refStr)
50
+ print(prefix(4) + block.str())
51
+ for a in range(block.countAnnuli()):
52
+ ann = block.annulus(a)
53
+ msg = 'Ann. ' + str(b) + '/' + str(a) + \
54
+ ' [' + str(ann.tet(0).index()) + '/' + \
55
+ str(ann.roles(0).trunc(3)) + \
56
+ ', ' + str(ann.tet(1).index()) + '/' + \
57
+ str(ann.roles(1).trunc(3)) + ']'
58
+ if not block.hasAdjacentBlock(a):
59
+ msg = msg + ': bdry'
60
+ else:
61
+ msg = msg + ' -> ' + \
62
+ str(r.blockIndex(block.adjacentBlock(a))) + '/' + \
63
+ str(block.adjacentAnnulus(a))
64
+ ref = block.adjacentReflected(a)
65
+ back = block.adjacentBackwards(a)
66
+ if ref and back:
67
+ msg = msg + ' (ref, back)'
68
+ elif ref:
69
+ msg = msg + ' (ref)'
70
+ elif back:
71
+ msg = msg + ' (back)'
72
+ print(prefix(4) + msg)
73
+ pass
74
+
75
+ def describe(t, name):
76
+ print(name + ':')
77
+ print(prefix(1) + 'IsoSig: ' + t.isoSig())
78
+
79
+ std = StandardTriangulation.recognise(t)
80
+ if std:
81
+ mfd = std.manifold()
82
+ if mfd:
83
+ print(prefix(1) + 'Standard: ' + std.name(), '=', mfd.name())
84
+ else:
85
+ print(prefix(1) + 'Standard: ' + std.name(), '= ?')
86
+
87
+ # We assume the triangulation is connected.
88
+ c = t.component(0)
89
+
90
+ sub = AugTriSolidTorus.recognise(c)
91
+ if sub:
92
+ print(prefix(1) + 'Aug. tri. solid torus: ' + sub.name())
93
+ core = sub.core()
94
+ print(prefix(2) + 'Core:', core.tetrahedron(0).index(),
95
+ core.tetrahedron(1).index(), core.tetrahedron(2).index())
96
+ if sub.hasLayeredChain():
97
+ if sub.chainType() == AugTriSolidTorus.CHAIN_MAJOR:
98
+ print(prefix(2) + 'Chain type: major')
99
+ elif sub.chainType() == AugTriSolidTorus.CHAIN_AXIS:
100
+ print(prefix(2) + 'Chain type: axis')
101
+ else:
102
+ print(prefix(2) + 'Chain type: unknown')
103
+ else:
104
+ print(prefix(2) + 'No chain')
105
+
106
+ sub = LayeredChainPair.recognise(c)
107
+ if sub:
108
+ print(prefix(1) + 'Layered chain pair: ' + sub.name())
109
+ print(prefix(2) + 'Chain lengths:',
110
+ sub.chain(0).index(), sub.chain(1).index())
111
+
112
+ sub = LayeredLensSpace.recognise(c)
113
+ if sub:
114
+ print(prefix(1) + 'Layered lens space: ' + sub.name())
115
+ torus = sub.torus()
116
+ print(prefix(2) + 'LST:', torus.meridinalCuts(0),
117
+ torus.meridinalCuts(1), torus.meridinalCuts(2))
118
+ if sub.isSnapped():
119
+ print(prefix(2) + 'Snapped')
120
+ else:
121
+ print(prefix(2) + 'Twisted')
122
+
123
+ sub = LayeredLoop.recognise(c)
124
+ if sub:
125
+ print(prefix(1) + 'Layered loop: ' + sub.name())
126
+ if sub.isTwisted():
127
+ print(prefix(2) + 'Twisted,', sub.length())
128
+ print(prefix(2) + 'Hinge:', sub.hinge(0).index())
129
+ else:
130
+ print(prefix(2) + 'Untwisted,', sub.length())
131
+ print(prefix(2) + 'Hinges:', sub.hinge(0).index(),
132
+ sub.hinge(1).index())
133
+
134
+ sub = PlugTriSolidTorus.recognise(c)
135
+ if sub:
136
+ print(prefix(1) + 'Plugged tri. solid torus: ' + sub.name())
137
+ core = sub.core()
138
+ print(prefix(2) + 'Core:', core.tetrahedron(0).index(),
139
+ core.tetrahedron(1).index(), core.tetrahedron(2).index())
140
+ for i in range(3):
141
+ chain = sub.chain(i)
142
+ if chain:
143
+ if sub.chainType(i) == PlugTriSolidTorus.CHAIN_MAJOR:
144
+ print(prefix(2) + 'Chain ' + str(i) + ':',
145
+ chain.index(), '(major)')
146
+ else:
147
+ print(prefix(2) + 'Chain ' + str(i) + ':',
148
+ chain.index(), '(minor)')
149
+ else:
150
+ print(prefix(2) + 'Chain ' + str(i) + ': 0')
151
+ if sub.equatorType() == PlugTriSolidTorus.EQUATOR_MAJOR:
152
+ print(prefix(2) + 'Equator: major')
153
+ else:
154
+ print(prefix(2) + 'Equator: minor')
155
+
156
+ sub = BlockedSFS.recognise(t)
157
+ if sub:
158
+ print(prefix(1) + 'Blocked SFS')
159
+ print(prefix(2) + 'Region:')
160
+ describeSatRegion(sub.region())
161
+
162
+ sub = BlockedSFSLoop.recognise(t)
163
+ if sub:
164
+ print(prefix(1) + 'Blocked SFS Loop')
165
+ print(prefix(2) + 'Region:')
166
+ describeSatRegion(sub.region())
167
+ print(prefix(2) + 'Matching:', sub.matchingReln())
168
+
169
+ sub = BlockedSFSPair.recognise(t)
170
+ if sub:
171
+ print(prefix(1) + 'Blocked SFS Pair')
172
+ print(prefix(2) + 'Region 0:')
173
+ describeSatRegion(sub.region(0))
174
+ print(prefix(2) + 'Region 1:')
175
+ describeSatRegion(sub.region(1))
176
+ print(prefix(2) + 'Matching:', sub.matchingReln())
177
+
178
+ sub = BlockedSFSTriple.recognise(t)
179
+ if sub:
180
+ print(prefix(1) + 'Blocked SFS Triple')
181
+ print(prefix(2) + 'Central region:')
182
+ describeSatRegion(sub.centre())
183
+ print(prefix(2) + 'End region 0:')
184
+ describeSatRegion(sub.end(0))
185
+ print(prefix(2) + 'End region 1:')
186
+ describeSatRegion(sub.end(1))
187
+ print(prefix(2) + 'Matching 0:', sub.matchingReln(0))
188
+ print(prefix(2) + 'Matching 1:', sub.matchingReln(1))
189
+
190
+ for f in t.triangles():
191
+ for g in t.triangles():
192
+ if g == f:
193
+ continue
194
+ sub = PillowTwoSphere.recognise(f, g)
195
+ if sub:
196
+ print(prefix(1) + 'Pillow 2-sphere')
197
+ print(prefix(2) + 'Triangles:', f.index(), g.index())
198
+ print(prefix(2) + 'Equator:',
199
+ f.edge(0).index(), f.edge(1).index(), f.edge(2).index())
200
+
201
+ for a in t.tetrahedra():
202
+ for b in t.tetrahedra():
203
+ if b == a:
204
+ continue
205
+ sub = SnappedTwoSphere.recognise(a, b)
206
+ if sub:
207
+ print(prefix(1) + 'Snapped 2-sphere')
208
+ print(prefix(2) + 'Tet:', a.index(), b.index())
209
+ ball = sub.snappedBall(0)
210
+ print(prefix(2) + 'Equator:',
211
+ ball.tetrahedron().edge(ball.equatorEdge()).index())
212
+
213
+
214
+ for tet in t.tetrahedra():
215
+ sub = LayeredSolidTorus.recogniseFromBase(tet)
216
+ if sub:
217
+ print(prefix(1) + 'Layered solid torus: ' + sub.name())
218
+ print(prefix(2) + 'Base:', sub.base().index())
219
+ print(prefix(2) + 'Top:', sub.topLevel().index())
220
+ print(prefix(2) + 'Cuts:', sub.meridinalCuts(0),
221
+ sub.meridinalCuts(1), sub.meridinalCuts(2))
222
+ print(prefix(2) + 'Edges:',
223
+ sub.topEdge(0, 0), sub.topEdge(0, 1), '/',
224
+ sub.topEdge(1, 0), sub.topEdge(1, 1), '/',
225
+ sub.topEdge(2, 0), sub.topEdge(2, 1))
226
+
227
+ for tet in t.tetrahedra():
228
+ sub = SnappedBall.recognise(tet)
229
+ if sub:
230
+ print(prefix(1) + 'Snapped 3-ball')
231
+ print(prefix(2) + 'Tet:', tet.index())
232
+ print(prefix(2) + 'Internal faces:',
233
+ sub.internalFace(0), sub.internalFace(1))
234
+
235
+ for tet in t.tetrahedra():
236
+ for p in Perm4.S4:
237
+ if p[0] > p[3]:
238
+ continue
239
+ sub = SpiralSolidTorus.recognise(tet, p)
240
+ if sub:
241
+ if not sub.isCanonical():
242
+ continue
243
+ msg = 'Spiral:'
244
+ for i in range(sub.size()):
245
+ msg = msg + ' ' + str(sub.tetrahedron(i).index()) + \
246
+ '/' + str(sub.vertexRoles(i))
247
+ print(prefix(1) + msg)
248
+
249
+ def describeSig(sig):
250
+ describe(Triangulation3.fromIsoSig(sig), sig)
251
+
252
+ # The following isosigs are the complete output of tricensus -sNfit<n>:
253
+
254
+ t1 = [ 'bkaajj', 'bkaajn', 'bkaagb', 'bkaagj' ]
255
+ t2 = [ 'cMcabbjqw', 'cMcabbjxr', 'cMcabbjaj', 'cMcabbjak', 'cMcabbjqs',
256
+ 'cMcabbgqw', 'cMcabbgaj', 'cPcbbbaaa', 'cPcbbbaai', 'cPcbbbqxh',
257
+ 'cPcbbbajs', 'cPcbbbahh' ]
258
+ t3 = [ 'dLQbcbchhww', 'dLQbcbchxwn', 'dLQbcbchhjw', 'dLQbcbchxjn',
259
+ 'dLQbcbchhjs', 'dLQbcbchxjj', 'dLQbccchhrw' ]
260
+ t4 = [ 'eLAkbcbddhhwhr', 'eLAkbcbddhhwqj', 'eLAkbcbddhxwqs', 'eLAkbcbddhhjhr',
261
+ 'eLAkbcbddhhjqj', 'eLAkbcbddhhwqn', 'eLAkbcbddhxjqs', 'eLAkbcbddhhjhk',
262
+ 'eLAkbcbddhhjqn', 'eLAkbcbddhxjqw', 'eLAkbccddemkiw', 'eLAkbccddemker',
263
+ 'eLAkbccddrrhrr', 'eLAkbccddemkij', 'eLAkbccddemken', 'eLAkbccddrrhrn',
264
+ 'eLMkbcdddhhhqx', 'eLPkbcdddhrrnk', 'eLPkbcddddrwos' ]
265
+ t5 = [ 'fLAMcbcbdeehhwhhw', 'fLAMcbcbdeehhwqqs', 'fLAMcbcbdeehhwhxn',
266
+ 'fLAMcbcbdeehxwxhw', 'fLAMcbcbdeehhwqxk', 'fLAMcbcbdeehxwqhr',
267
+ 'fLAMcbcbdeehhjhhw', 'fLAMcbcbdeehhjhxn', 'fLAMcbcbdeehhjqqs',
268
+ 'fLAMcbcbdeehhjqxk', 'fLAMcbcbdeehhwhxj', 'fLAMcbcbdeehxjxhw',
269
+ 'fLAMcbcbdeehhwqxr', 'fLAMcbcbdeehxjqhr', 'fLAMcbcbdeehhjhhs',
270
+ 'fLAMcbcbdeehhjqqw', 'fLAMcbcbdeehhjhxj', 'fLAMcbcbdeehxjxhs',
271
+ 'fLAMcbcbdeehhjqxr', 'fLAMcbcbdeehxjqhk', 'fLAMcbccdeeemkihr',
272
+ 'fLAMcbccdeeemkehw', 'fLAMcbccdeerrhrhw', 'fLAMcbccdeeemkiqj',
273
+ 'fLAMcbccdeeemkexn', 'fLAMcbccdeerrhrxn', 'fLAMcbccdeeemkihn',
274
+ 'fLAMcbccdeeemkehj', 'fLAMcbccdeerrhrhj', 'fLAMcbccdeeemkiqn',
275
+ 'fLAMcbccdeeemkexj', 'fLAMcbccdeerrhrxj', 'fLLQcacddeenkaikr',
276
+ 'fLLQcacddeejkaink', 'fLLQcaceeedjkuxkn', 'fLLQcacddeejkaikk',
277
+ 'fLLQcaceeedjkuxkj', 'fLLQcacddeejkaikr', 'fLLQcacddeejkainj',
278
+ 'fLLQcacddeenkaink', 'fLLQcaceeednkuxkn', 'fLLQcacddeenkaikk',
279
+ 'fLLQcacdeeenkqxvn', 'fLLQcacdeeenkaqnv', 'fLLQcacdeeejkqxvn',
280
+ 'fLLQcacdeeejkaqnv', 'fLMPcbcdeeehhhhwr', 'fLLQcbeddeehhnkxx',
281
+ 'fLLQcbededexxnxwx', 'fLLQcbededexxrxwx', 'fLLQcbeddeehhokum',
282
+ 'fLLQcbcdeeehwkiiq', 'fvPQcdecedekrsnrs', 'fvPQcceddeerrnskr' ]
283
+
284
+ # The following isosigs are from tricensus -sNfit<n>, after stripping
285
+ # out the layered lens spaces:
286
+
287
+ t6 = [ 'gLALQbcbefffxxnnmxm', 'gLALQbcbefffxxnndxd', 'gLALQbcbefffxxnnnxn',
288
+ 'gLALQbcbefffhhwsmmq', 'gLALQbcbefffhhwsuuq', 'gLALQbcbefffhhwsssq',
289
+ 'gLALQbcbefffhxwnmxm', 'gLALQbcbefffhxwndxd', 'gLALQbcbefffhxwnnxn',
290
+ 'gLALQbcbefffxhnsmmq', 'gLALQbcbefffxhnsuuq', 'gLALQbcbefffxhnsssq',
291
+ 'gLALQbcbefffxxjnmxm', 'gLALQbcbefffxxjndxd', 'gLALQbcbefffxxjnnxn',
292
+ 'gLALQbcbefffhhjsmmq', 'gLALQbcbefffhhjsuuq', 'gLALQbcbefffhhjsssq',
293
+ 'gLALQbcbefffhxjnmxm', 'gLALQbcbefffhxjndxd', 'gLALQbcbefffhxjnnxn',
294
+ 'gLALQbcbefffxhjsmmq', 'gLALQbcbefffxhjsuuq', 'gLALQbcbefffxhjsssq',
295
+ 'gLLAQaceefefjkuxxnn', 'gLLAQbcedfeftsajqnj', 'gLLAQbcedfeftsqsqwj',
296
+ 'gLLAQbcedfeftsasqnj', 'gLLAQbcedfeftsqsxwk', 'gLLAQbcedfeftsasxnk',
297
+ 'gLLAQaceefefjkuxhnw', 'gLLAQbcedfeftsajhnr', 'gLLAQaceefefjkuxxnj',
298
+ 'gLLAQbcedfeftsajqnn', 'gLLAQbcedfeftsqsqww', 'gLLAQbcedfeftsasqnw',
299
+ 'gLLAQbcedfeftsqsxwr', 'gLLAQbcedfeftsasxnr', 'gLLAQaceefefjkuxhnj',
300
+ 'gLLAQbcedfeftsajhnn', 'gLLAQaceefefnkuxxnn', 'gLLAQbcedfeftsajqjj',
301
+ 'gLLAQbcedfeftsqsqsj', 'gLLAQbcedfeftsasqjj', 'gLLAQbcedfeftsqsxsk',
302
+ 'gLLAQbcedfeftsasxjk', 'gLLAQaceefefnkuxhnw', 'gLLAQbcedfeftsajhjr',
303
+ 'gLLAQaceefefnkuxxnj', 'gLLAQbcedfeftsajqjn', 'gLLAQbcedfeftsqsqsw',
304
+ 'gLLAQbcedfeftsasqjw', 'gLLAQbcedfeftsqsxsr', 'gLLAQbcedfeftsasxjr',
305
+ 'gLLAQaceefefnkuxhnj', 'gLLAQbcedfeftsajhjn', 'gLLPQcdcfeffqsjhqos',
306
+ 'gLLPQcdcfeffqsjahos', 'gLLPQcdcfeffhsrhqos', 'gLLPQcdcfeffhsrahos',
307
+ 'gLLPQcdcfeffqsnhqos', 'gLLPQcdcfeffqsnahos', 'gLLPQcdcfeffhsnhqos',
308
+ 'gLLPQcdcfeffhsnahos', 'gLLAQacdefffnkqxqlu', 'gLLAQacdefffnkxxxxa',
309
+ 'gLLAQacdefffnkaqqul', 'gLLAQacdefffnkaaxxa', 'gLLAQacdefffnbxxxxa',
310
+ 'gLLAQacdefffnsaaxxa', 'gLLAQbedeeffxxrxxhj', 'gLLAQbedeeffxxrxxhw',
311
+ 'gLLAQacdefffjkqxqlu', 'gLLAQacdefffjkxxxxa', 'gLLAQacdefffjkaqqul',
312
+ 'gLLAQacdefffjkaaxxa', 'gLLAQacdefffjbxxxxa', 'gLLAQacdefffjsaaxxa',
313
+ 'gLLMQacdefefjkankjj', 'gLLPQaceedffjkxkjnn', 'gLLMQacdefefjkaknkr',
314
+ 'gLLMQacdefefjkakkkj', 'gLLMQacdefefnkaknrr', 'gLLMQacdefefjkakkrk',
315
+ 'gLLMQacdefefjkankjk', 'gLLPQaceedffjkxkjnj', 'gLLMQacdefefjkaknrr',
316
+ 'gLLMQacdefefjkakkrj', 'gLLPQaceedffjkxknnn', 'gLLMQacdefefnkaknkr',
317
+ 'gLLMQacdefefjkakkkk', 'gLLMQacdefefnkakkrk', 'gLLMQacdefefjkankkk',
318
+ 'gLLMQacdefefjkaknkn', 'gLLPQaceedffnkxknnn', 'gLLMQacdefefnkaknkn',
319
+ 'gLLMQacdefefnkakkkk', 'gLLMQacdefefnkankkk', 'gLLAQbcdeeffxkrllck',
320
+ 'gLLAQbcdeeffxkrllkw', 'gLLAQbcdeeffxkrllcr', 'gLLAQbcdeeffxkrllkj',
321
+ 'gLALQbccefffemkbtli', 'gLALQbccefffemkbemi', 'gLALQbccefffemkbsri',
322
+ 'gLALQbcceffflpkksuc', 'gLALQbcceffflpkkeux', 'gLALQbcceffflpkktua',
323
+ 'gLALQbccfefflpkusue', 'gLALQbccefffrrhutwf', 'gLALQbccefffrrhuswe',
324
+ 'gLALQbccfeffrrhwhwa', 'gLALQbccfeffrrbwbwa', 'gLALQbccefffnknnkan',
325
+ 'gLMzQbcdefffhhhhhxq', 'gLLAQccedffflnxkxvc', 'gLLAQccedfffhwxrxvc',
326
+ 'gLLAQbeddfffhhnkarw', 'gLLAQbeddfffhhokxjo', 'gLLMQbeefffehhaxhqa',
327
+ 'gLLPQbefefefhhxxqxh', 'gLLMQbeefffehhaqaqa', 'gLLPQbefefefjjjhhhf',
328
+ 'gLLPQbefefefjjjsqss', 'gLLMQbeefffehharhra', 'gLLAQbcedffftsajhos',
329
+ 'gLLAQbdedfffdwqsujs', 'gLLAQbdedfffdraolrj', 'gLLAQbdedfffendolgn',
330
+ 'gLLMQbcefefftsamqqs', 'gLLMQbcdfefftsommkw', 'gLLMQbcdfefftsmmriq',
331
+ 'gLLAQbddefffdwpjapq', 'gLLAQbddefffdwolaor', 'gLLPQcdeffefhsxxatn',
332
+ 'gLLPQceeffefhlatdee', 'gLLPQceeffefhtatdee', 'gLLPQceeffefhlataee',
333
+ 'gvLQQcdfeeffbqaqghh', 'gvLQQcedffefqsqsqjs', 'gvLQQdefdeffrwawrhh',
334
+ 'gvLQQdefdeffrrawwhh', 'gvLQQdefdeffrqawxhh', 'gvLQQcdefeffjwnpjhe',
335
+ 'gvLQQcdfeeffhqaqhhh', 'gvLQQcdeffefnxnnnxx', 'gvLQQdefdeffxqaqxhh',
336
+ 'gvLQQdefedffxqawrgg', 'gvLQQcdefeffndnbejx', 'gvLQQcdefeffpinjkje',
337
+ 'gvLQQcdefeffninjije', 'gvLQQcdefeffbwnpghe', 'gvLQQcdefeffbwdpikk',
338
+ 'gvLQQcdefeffncnhchx', 'gvLQQcdefeffncpjcjs', 'gvLQQcdefeffnwnpkhe',
339
+ 'gvLQQedfedffrwawrhh', 'gvLQQcedffeffsfhqjh', 'gvLQQcdefeffffjmfuu',
340
+ 'gvLQQcdefeffffomfum', 'gvLQQcdefeffffomfhm', 'gvLQQcdfeeffjjassaa',
341
+ 'gvLQQcdefeffdwnplhe', 'gvLQQcdefeffnjndspx', 'gvLQQcedffefvksidsi' ]
342
+
343
+ # The following isosigs are hand-picked from the non-orientable census with
344
+ # 7 and 8 tetrahedra, to collect blocked SFS pairs, other more exotic
345
+ # block types and manifolds, and pillow 2-spheres:
346
+
347
+ t7 = [ 'hLALAkbcceffggrrhutwun', 'hLALAkbcceffggrrhutwdk',
348
+ 'hLAwPkbccdgfggemkijjjq', 'hLAwMkbccdfgggemkiwrwa',
349
+ 'hLAwPkbccdgfggrrhrnnnx', 'hLAwMkbccdfgggrrhrrwar',
350
+ 'hLAwMkbccdfgggrrbrqwar', 'hLALPkbccefgggrrhuwrfs',
351
+ 'hLALPkbccefgggrrhurgsf', 'hLAvQkbccefgggrrhhgrwb',
352
+ 'hLLAPkbedegfggjjhqjxox', 'hLLAPkbedegfggjjjqjsja',
353
+ 'hLvAQkbefegfgghaxqahha', 'hLvAQkbefegfggjajqassa',
354
+ 'hLvAQkbefegfggjajqashf', 'hvLPQkcdefggfgqhhvvaxq',
355
+ 'hvLPQkcdefggfgqhhxaaxq', 'hvLPQkcdefgfggqqjqqjqq',
356
+ 'hvLPQkcdefgfggqqxwrrrq', 'hvLPQkcdefgfggqqxqqxqq',
357
+ 'hvLPQkcdefgfggdeiqqxqp', 'hvLPQkcedfggfgnnnvvaxn',
358
+ 'hvLPQkcdefggfgtssdjkkw', 'hvLPQkcedfggfgpnnvvawn',
359
+ 'hvLPQkcdefgfggffxqqjqo', 'hvLPQkcedfgfggnnkffeiw',
360
+ 'hvLPQkcedfgfggnnkrweiw', 'hvLPQkcedfgfggwwrwrrrr',
361
+ 'hvLPQkcedfgfggwwrffsfk', 'hvLPQkcedfgfggnpkkdrid',
362
+ 'hvLAQkcdfegfggjqajpmpt', 'hvLAQkcdfegfggjqajooof',
363
+ 'hvLAQkcdfegfggjdajpmpd', 'hvLAQkcdegffggttncseas' ]
364
+
365
+ t8 = [ 'iLALAMcbcceffghhrrhutwuxn', 'iLALAMcbccfefghhrrhuhwhhw',
366
+ 'iLALMMcbcceffghhrrhuestxk', 'iLALAMcbcceffghhrrhutwdxk',
367
+ 'iLALAMcbccfefghhrrhuhwahr', 'iLALMMcbcceffghhrrhuesexn',
368
+ 'iLALAMcbcceffghhrrhutwdqj', 'iLALAMcbccfefghhrrhuhwaqj',
369
+ 'iLALMMcbcceffghhrrhuesehw', 'iLALAMcbcceffghhrrhutwuhw',
370
+ 'iLALAMcbccfefghhrrhuhwhxn', 'iLALMMcbcceffghhrrhuestqs',
371
+ 'iLALAMcbcceffghhrrhutwuxj', 'iLALAMcbccfefghhrrhuhwhhj',
372
+ 'iLALMMcbcceffghhrrhuestxr', 'iLALAMcbcceffghhrrhutwdxr',
373
+ 'iLALAMcbccfefghhrrhuhwahk', 'iLALMMcbcceffghhrrhuesexj',
374
+ 'iLALAMcbcceffghhrrhutwdqw', 'iLALAMcbccfefghhrrhuhwaqn',
375
+ 'iLALMMcbcceffghhrrhuesehs', 'iLALAMcbcceffghhrrhutwuhj',
376
+ 'iLALAMcbccfefghhrrhuhwhxj', 'iLALMMcbcceffghhrrhuestqw',
377
+ 'iLAwLQcbccdfgghhrrhrntxnk', 'iLAwMMcbccdfgghhrrhwwlukr',
378
+ 'iLAwLQcbccdfhhghrrhrnamnn', 'iLAwMMcbccdfgghhrrhrriarr',
379
+ 'iLAwLQcbccdfgghhrrhrntxkk', 'iLAwMMcbccdfgghhrrhwwlucw',
380
+ 'iLAwLQcbccdfhhhgrrhrnamkn', 'iLAwMMcbccdfgghhrrhrriaww',
381
+ 'iLAwLQcbccdfgghhrrhrntxkr', 'iLAwMMcbccdfgghhrrhwwlucs',
382
+ 'iLAwLQcbccdfhhhgrrhrnamkj', 'iLAwMMcbccdfgghhrrhrriaws',
383
+ 'iLAwLQcbccdfgghhrrhrntxnj', 'iLAwMMcbccdfgghhrrhwwlukn',
384
+ 'iLAwLQcbccdfhhghrrhrnamrn', 'iLAwMMcbccdfgghhrrhrriarn',
385
+ 'iLALzQcbccefhgghrrhuwuswr', 'iLAvAQcbccefghghrrhhwwhsn',
386
+ 'iLALLQcbcceggfhhrrhugsnuj', 'iLALzQcbccefhgghrrhuwdjjj',
387
+ 'iLAvAQcbccefghghrrhhwranw', 'iLALLQcbccegfghhrrhugjjdr',
388
+ 'iLALzQcbccefhgghrrhuwdswk', 'iLAvAQcbccefghghrrhhwrhrn',
389
+ 'iLALLQcbccegfghhrrhugjjuj', 'iLALzQcbccefhgghrrhuwdssj',
390
+ 'iLAvAQcbccefghghrrhhwrhnr', 'iLALLQcbccegfghhrrhugwjun',
391
+ 'iLALzQcbccefhgghrrhuwussr', 'iLAvAQcbccefghghrrhhwwhsr',
392
+ 'iLALLQcbcceggfhhrrhugsjuj', 'iLALzQcbccefhgghrrhuwdjkj',
393
+ 'iLAvAQcbccefghghrrhhwrans', 'iLALLQcbccegfghhrrhugwjdr',
394
+ 'iLALzQcbccefhgghrrhuwdswj', 'iLAvAQcbccefghghrrhhwrhnn',
395
+ 'iLALLQcbccegfghhrrhugwjuj', 'iLALzQcbccefhgghrrhuwdjjk',
396
+ 'iLAvAQcbccefghghrrhhwrarw', 'iLALLQcbccegfghhrrhugjjdk',
397
+ 'iLALzQcbccefhgghrrhuwdssk', 'iLAvAQcbccefghghrrhhwrhrr',
398
+ 'iLALLQcbccegfghhrrhugjjun', 'iLALzQcbccefhgghrrhuwussn',
399
+ 'iLAvAQcbccefghghrrhhwwhwr', 'iLALLQcbcceggfhhrrhugsjun',
400
+ 'iLLALQcadddhhghgjsajsaajn', 'iLLALQcadddhhghgjsajsaqjw',
401
+ 'iLAMLPcbccdeghhhemkehwrwa', 'iLAMLPcbccdeghhhrrhwqjpqp',
402
+ 'iLAMLPcbccdeghhhlpkuhrwar', 'iLAMLPcbccdeghhhemkexjjqj',
403
+ 'iLAMLPcbccdeghhhemkihrwar', 'iLAMLPcbccdeghhhlpklqwrwa',
404
+ 'iLAMLPcbccdeghhhemkiqjjqj', 'iLAMLPcbccdeghhhlpklxrrhr',
405
+ 'iLAMLPcbccdeghhhrrhrhwrwa', 'iLAMLPcbccdeghhhrrhwqjjqj',
406
+ 'iLAMLPcbccdeghhhrrhrxjjqj', 'iLAMLPcbccdeghhhrrbrhxrwa',
407
+ 'iLAwLQcbccdfhghhrrhrnhxnv', 'iLAwLQcbccdfhghhrrhrnahvn',
408
+ 'iLAwwQcbccdfghhhrrhrrxhgw', 'iLAwwQcbccdfghhhrrhrraxgw',
409
+ 'iLALzQcbccefhghhrrhuwusqx', 'iLALLQcbccegghhhrrhugstiu',
410
+ 'iLAvAQcbccefghhhrrhhwwhml', 'iLLLQPccegffghhhkknknknka',
411
+ 'iLLLQPccegffghhhkknqhknna', 'iLLvQQccdfeghghhhsaqllqxr',
412
+ 'iLLvQQccdfehghghhsaquuahr', 'iLLvQQccdfeghghhhsaqxaiin',
413
+ 'iLLvQQccdfeghhghhsaqlllmn', 'iLLvQQccdfeghhghhsawlllsn',
414
+ 'iLLvQQccdfeghghhhsawvvodn', 'iLLvQQccdfeghhghhsanqqesn',
415
+ 'iLLvQQccdfeghhghhsaqptttr', 'iLLvQQccdfehgghhhsaqeiiir',
416
+ 'iLLvQQccdfeghhghqxaqhhhxh', 'iLLvQQccdfehgghhqxaqaaaqh',
417
+ 'iLLvQQccdfeghhghqsaqhhhxj', 'iLLLMQcceefghghhkkaakqqvq',
418
+ 'iLLLMQcceefghghhjjaajedve', 'iLvMQPcbefgfehhhjaaaaaaas' ]
419
+
420
+ # The following isosigs are hand-picked from the 9-tetrahedron census to
421
+ # pick up blocked SFS triples:
422
+
423
+ t9 = [ 'jLALMLQbcceffhiiiemkbtilubc', 'jLALALQbccfefihiilpkusudego',
424
+ 'jLALALQbccfefihiilpkusuuero' ]
425
+
426
+ # TODO: We still have nothing in this list that contains a snapped 2-sphere
427
+ # (mainly because such things do not appear in the census).
428
+
429
+ for i in t1:
430
+ describeSig(i)
431
+
432
+ for i in t2:
433
+ describeSig(i)
434
+
435
+ for i in t3:
436
+ describeSig(i)
437
+
438
+ for i in t4:
439
+ describeSig(i)
440
+
441
+ for i in t5:
442
+ describeSig(i)
443
+
444
+ for i in t6:
445
+ describeSig(i)
446
+
447
+ for i in t7:
448
+ describeSig(i)
449
+
450
+ for i in t8:
451
+ describeSig(i)
452
+
453
+ for i in t9:
454
+ describeSig(i)
455
+