Instead of the old typedef Dim4TriangleEmbedding, you should use either the new alias TriangleEmbedding<4>, or the full class name FaceEmbedding<4, 2>.
Instead of the old typedef Dim4TetrahedronEmbedding, you should use either the new alias TetrahedronEmbedding<4>, or the full class name FaceEmbedding<4, 3>.
This routine is very slow, largely thanks to the simplification needed after the second barycentric subdivision multiplies the number of tetrahedra by 576. For those cases where drillEdge() does something interesting, you can typically achieve the same topological effect by calling pinchEdge() (followed by idealToFinite() if you need real boundary).
This method of using a hard-coded epsilon is very blunt. Currently Regina does not provide alternative methods for managing round-off error, though since Regina's computations are exact, this should not be necessary.
This method of using a hard-coded epsilon is very blunt. Currently Regina does not provide alternative methods for managing round-off error, though since Regina's computations are exact, this should not be necessary.
The TuraevViroAlg enumeration is deprecated, in favour of the more general Algorithm enumeration type. The old constants TV_DEFAULT, TV_BACKTRACK, TV_TREEWIDTH and TV_NAIVE correspond to the new constants ALG_DEFAULT, ALG_BACKTRACK, ALG_TREEWIDTH and ALG_NAIVE respectively.
The old constant TV_DEFAULT has been replaced by the constant ALG_DEFAULT, and the underlying enumeration type has been renamed from TuraevViroAlg to Algorithm.
The old constant TV_BACKTRACK has been replaced by the constant ALG_BACKTRACK, and the underlying enumeration type has been renamed from TuraevViroAlg to Algorithm.
The old constant TV_TREEWIDTH has been replaced by the constant ALG_TREEWIDTH, and the underlying enumeration type has been renamed from TuraevViroAlg to Algorithm.
The old constant TV_NAIVE has been replaced by the constant ALG_NAIVE, and the underlying enumeration type has been renamed from TuraevViroAlg to Algorithm.
The class NMatrixRing was long ago renamed to MatrixRing, and has now been absorbed into the main Matrix class. You should set the extra template parameter ring for the Matrix class to true.
This method of using a hard-coded epsilon is very blunt. Currently Regina does not provide alternative methods for managing round-off error, though since Regina's computations are exact, this should not be necessary.
This method of using a hard-coded epsilon is very blunt. Currently Regina does not provide alternative methods for managing round-off error, though since Regina's computations are exact, this should not be necessary.
This method of using a hard-coded epsilon is very blunt. Currently Regina does not provide alternative methods for managing round-off error, though since Regina's computations are exact, this should not be necessary.
This method of using a hard-coded epsilon is very blunt. Currently Regina does not provide alternative methods for managing round-off error, though since Regina's computations are exact, this should not be necessary.
This method of using a hard-coded epsilon is very blunt. Currently Regina does not provide alternative methods for managing round-off error, though since Regina's computations are exact, this should not be necessary.
The class MatrixRing has now been absorbed into the main Matrix class. The old MatrixRing functionality is made available to Matrix when the template parameter ring is true.
The class MatrixIntDomain has now been absorbed into the main Matrix class. The old MatrixIntDomain functionality is made available to Matrix only when T is one of Regina's own integer classes (Integer, LargeInteger, or NativeInteger).
Simply use the multiplication operator (which is now identical to this routine). This routine multiplyAs() dated back to when Matrix had a hierarchy of subclasses that offered different capabilities according to the underlying type T. Now that there is just a single class Matrix, this routine is no longer required.