|
Regina 7.4 Calculation Engine
|
Contains implementation details and common functionality for Regina's dimension-agnostic classes. More...
Classes | |
| class | BoundaryComponentBase |
| Helper class that provides core functionality for a boundary component of a dim-dimensional triangulation. More... | |
| class | ComponentBase |
| Helper class that provides core functionality for a connected component of a dim-manifold triangulation. More... | |
| struct | ConstArrayOf |
| Provides some implementation details for TableView. More... | |
| class | ExampleBase |
| Provides core functionality for constructing example dim-dimensional triangulations. More... | |
| class | ExampleFromLowDim |
| Helper class that builds various dim-dimensional triangulations from (dim-1)-dimensional triangulations. More... | |
| class | ExampleFromLowDim< dim, false > |
| Helper class that builds various dim-dimensional triangulations from (dim-1)-dimensional triangulations. More... | |
| class | FaceBase |
| Helper class that provides core functionality for a subdim-face in the skeleton of a dim-dimensional triangulation. More... | |
| class | FaceEmbeddingBase |
| Helper class that provides core functionality for describing how a subdim-face of a dim-dimensional triangulation appears within each top-dimensional simplex. More... | |
| class | FaceNumberingAPI |
| Placeholder class that outlines the functions provided by FaceNumbering<dim, subdim>. More... | |
| class | FaceNumberingImpl |
| Implementation details for numbering subdim-faces of a dim-dimensional simplex. More... | |
| class | FaceNumberingImpl< 1, 0, 0 > |
| class | FaceNumberingImpl< 2, 1, 0 > |
| class | FaceNumberingImpl< 3, 1, 1 > |
| class | FaceNumberingImpl< 3, 2, 0 > |
| class | FaceNumberingImpl< 4, 1, 2 > |
| class | FaceNumberingImpl< 4, 2, 1 > |
| class | FaceNumberingImpl< 4, 3, 0 > |
| class | FaceNumberingImpl< dim, 0, codim > |
| class | FaceNumberingImpl< dim, 1, codim > |
| class | FaceNumberingImpl< dim, subdim, 0 > |
| class | FacetPairingBase |
| Provides core functionality for facet pairings (that is, dual graphs) of dim-dimensional triangulations. More... | |
| struct | PermSubSn |
A lightweight array-like object that indexes smaller permutations within larger permutation groups; that is, it embeds the group S_m inside S_n for some n > m. More... | |
| struct | RetriangulateActionTraits |
| A traits class that analyses callable objects that are passed to retriangulation or link rewriting functions. More... | |
| class | SimplexBase |
| Helper class that provides core functionality for a top-dimensional simplex in a dim-manifold triangulation. More... | |
| struct | Strings |
| Contains a collection of compile-time constant strings that describe features of the dimension dim. More... | |
| class | TriangulationBase |
| Provides core functionality for dim-dimensional triangulations. More... | |
Typedefs | |
| template<class Object , bool withSig> | |
| using | RetriangulateActionFunc |
| Declares the internal type used to store a callable action that is passed to a retriangulation or link rewriting function. | |
Enumerations | |
| enum | { RetriangulateDefault = 0x0000 , RetriangulateNoLocks = 0x0001 , RetriangulateNotFinished = 0x0002 } |
| Represents different options that can be used internally with a retriangulation or link rewriting function. More... | |
Functions | |
| mpz_ptr | mpz_from_ll (long long value) |
| Returns a raw GMP integer holding the given value. | |
| mpz_ptr | mpz_from_ull (unsigned long long value) |
| Returns a raw GMP integer holding the given value. | |
| template<class Object , bool withSig, int flags = RetriangulateDefault, typename PropagationOptions = void> | |
| bool | retriangulateInternal (const Object &obj, bool rigid, int height, int nThreads, ProgressTrackerOpen *tracker, RetriangulateActionFunc< Object, withSig > &&action) |
| The common implementation of all retriangulation and link rewriting functions. | |
| template<class Object , typename PropagationOptions = void> | |
| bool | simplifyExhaustiveInternal (Object &obj, int height, int threads, ProgressTrackerOpen *tracker) |
| The common implementation of all exhaustive simplification functions. | |
| template<class Object , typename PropagationOptions = void> | |
| bool | improveTreewidthInternal (Object &obj, ssize_t maxAttempts, int height, int threads, ProgressTrackerOpen *tracker) |
| The common implementation of all exhaustive treewidth improvement functions, which aim to rewrite/retriangulate the given link diagram or triangulation to become one with a smaller-width greedy tree decomposition. | |
| template<typename Int > | |
| void | tightEncodeInteger (std::ostream &out, Int value) |
| Internal function that writes the tight encoding of the given integer to the given output stream. | |
| template<typename Int , typename iterator > | |
| Int | tightDecodeInteger (iterator start, iterator limit, bool noTrailingData) |
| Internal function that reconstructs an integer from its given tight encoding. | |
| template<typename Int > | |
| void | tightEncodeIndex (std::ostream &out, Int value) |
| Internal function that writes the tight encoding of an integer whose value is either non-negative or -1. | |
| void | tightEncodeNoIndex (std::ostream &out) |
| Internal function that writes the tight encoding of -1, using an encoding that is compatible with tightEncodeIndex(). | |
| template<typename Int > | |
| Int | tightDecodeIndex (std::istream &input) |
| Internal function that reconstructs an integer that was encoded using tightEncodeIndex(). | |
Variables | |
| constexpr int | binomSmall_ [17][17] |
| A lookup table that stores (n choose k) for all n ≤ 16. | |
| constexpr int | countPermClasses [17] |
| Stores the total number of conjugacy classes of permutations on n elements, for all n ≤ 16. | |
| constexpr int64_t | permClassRep [countPermClasses[16]] |
| Stores the S_n indices of all minimal representatives of conjugacy classes of permutations on n elements, for all n ≤ 16. | |
Contains implementation details and common functionality for Regina's dimension-agnostic classes.
For most of Regina's dimension-agnostic classes, such as Triangulation<dim>, Simplex<dim> and Face<dim, subdim>, the bulk of the implementation is hidden away in the namespace regina::detail.
Regina's main classes acquire their functionality through inheritance. For example, the end-user class regina::Triangulation<dim> inherits most of its functionality from the implementation class regina::detail::TriangulationBase<dim>.
Because of this inheritance, there is typically no need for end users to explicitly refer to the namespace regina::detail.
Since regina::detail contains implementation details, its classes are subject to change between releases. Specifically:
| mpz_ptr regina::detail::mpz_from_ll | ( | long long | value | ) |
Returns a raw GMP integer holding the given value.
| value | the value to assign to the new GMP integer. |
| mpz_ptr regina::detail::mpz_from_ull | ( | unsigned long long | value | ) |
Returns a raw GMP integer holding the given value.
| value | the value to assign to the new GMP integer. |
|
constexpr |
Stores the total number of conjugacy classes of permutations on n elements, for all n ≤ 16.
See OEIS, sequence A000041.
This hard-coded array is an implementation detail; these numbers should be accessed by end users as PermClass<n>::count.
|
constexpr |
Stores the S_n indices of all minimal representatives of conjugacy classes of permutations on n elements, for all n ≤ 16.
Specifically, for each fixed n, the permutations obtained via Perm<n>::Sn[permClassRep[i]] for 0 ≤ i < countPermClasses[i] will be precisely the same permutations, and seen in the same order, as you would obtain by beginning with a default-constructed PermClass<n> c, repeatedly incrementing c until it is past-the-end, and computing c.rep() at each stage.