|
CDT++ 1.0.0-rc3
Causal Dynamical Triangulations in C++
|
clang-15 does not support std::format More...
Namespaces | |
| namespace | foliated_triangulations |
| Supported construction, inspection, classification, and repair operations for foliated Delaunay triangulations. | |
Classes | |
| struct | Geometry |
| struct | Geometry< 3 > |
| 3D Geometry More... | |
| class | MoveCommand |
| Queue and execute requested moves against a three-dimensional manifold while tracking attempted and successful transitions. More... | |
| class | MoveRunCadence |
| Positive pass count and checkpoint interval for a move run. More... | |
| class | MoveStrategy |
| Select a move algorithm. More... | |
| class | MoveStrategy< MoveStrategyKind::METROPOLIS, ManifoldType > |
| Metropolis-Hastings algorithm strategy. More... | |
| class | MoveStrategy< MoveStrategyKind::MOVE_ALWAYS, ManifoldType > |
| The Move Always algorithm. More... | |
| class | Random |
| A run-owned PCG engine with a recorded seed and stream identifier. More... | |
| class | RandomSeed |
| Root entropy value used to reproduce a random run. More... | |
| class | RandomStream |
| PCG sequence selector derived from a root random seed. More... | |
Concepts | |
| concept | ConstForwardRange |
| A multi-pass range whose const-qualified value can be traversed by classification and materialization helpers. | |
Typedefs | |
| template<int dimension> | |
| using | Causal_vertices_t |
| Point/time-label pairs used to build a causal triangulation. | |
| template<int dimension> | |
| using | Cell_handle_t |
| Mutable CGAL cell handle for a triangulation dimension. | |
| template<int dimension> | |
| using | Delaunay_t = typename detail::TriangulationTraits<dimension>::Delaunay |
| Delaunay triangulation type for dimension spatial dimensions. | |
| template<int dimension> | |
| using | Edge_handle_t |
| CGAL edge descriptor for a triangulation dimension. | |
| template<int dimension> | |
| using | Facet_t = typename detail::TriangulationTraits<dimension>::Facet |
| CGAL facet descriptor for a triangulation dimension. | |
| using | Geometry_3 = Geometry<3> |
| Three-dimensional simplex-count geometry. | |
| using | Gmpzf = CGAL::Gmpzf |
| using | Int_precision = std::int32_t |
| using | Metropolis_3 |
| Metropolis-Hastings move strategy for the supported 3D manifold. | |
| using | MoveAlways_3 |
| Always-accept-applicable move strategy for the supported 3D manifold. | |
| template<int dimension> | |
| using | Point_t = typename detail::TriangulationTraits<dimension>::Point |
| Cartesian point type used by a triangulation dimension. | |
| template<int dimension> | |
| using | Spherical_points_generator_t |
| CGAL random point generator on a sphere of matching dimension. | |
| template<int dimension> | |
| using | Vertex_handle_t |
| Mutable CGAL vertex handle for a triangulation dimension. | |
Enumerations | |
| enum class | CellType { THREE_ONE = 31 , TWO_TWO = 22 , ONE_THREE = 13 , ACAUSAL = 99 , UNCLASSIFIED = 0 } |
| (n,m) is number of vertices on (lower, higher) timeslice More... | |
| enum class | EdgeType { SPACELIKE , TIMELIKE } |
| Causal classification of an edge by its endpoint timeslices. More... | |
| enum class | MoveRunCadenceError { NONPOSITIVE_PASSES , NONPOSITIVE_CHECKPOINT } |
| Reasons raw move-run cadence cannot become a domain value. More... | |
| enum class | MoveStrategyKind { MOVE_ALWAYS , METROPOLIS } |
| The algorithms available to make ergodic moves on triangulations. More... | |
| enum class | Topology { TOROIDAL , SPHERICAL } |
| Spatial-topology label stored by configuration and persistence APIs. More... | |
Functions | |
| template<typename ManifoldType, typename FunctionType, typename... Arguments> | |
| constexpr auto | apply_move (ManifoldType const &t_manifold, FunctionType t_move, Arguments &&... arguments) -> decltype(auto) |
| An applicative function similar to std::apply on a manifold. | |
| constexpr auto | format_as (RandomSeed const seed) noexcept -> std::uint64_t |
| constexpr auto | format_as (RandomStream const stream) noexcept -> std::uint64_t |
| auto | operator<< (std::ostream &output, RandomSeed const seed) -> std::ostream & |
| auto | operator<< (std::ostream &output, RandomStream const stream) -> std::ostream & |
| auto | operator<< (std::ostream &t_os, Topology const &t_topology) -> std::ostream & |
| Convert Topology to string output. | |
Variables | |
| constexpr int | ALIGNMENT_32_BIT = 32 |
| Except when we only need 32 bits. | |
| constexpr int | ALIGNMENT_64_BIT = 64 |
| Aligns data for ease of access on 64-bit CPUs at the expense of padding. | |
| constexpr double | FOLIATION_SPACING = 1.0 |
| Default distance between successive foliated timeslices. | |
| constexpr Int_precision | GV_BOUNDING_BOX_SIZE = 100 |
| Depends on INITIAL_RADIUS and RADIAL_FACTOR. | |
| constexpr double | INITIAL_RADIUS = 1.0 |
| Default initial radius for generated foliated triangulations. | |
| constexpr Int_precision | PRECISION = 256 |
| Sets the precision for MPFR. | |
| constexpr double | TOLERANCE = 0.01 |
| Sets epsilon values for floating point comparisons. | |
clang-15 does not support std::format
| using cdt::Causal_vertices_t |
Point/time-label pairs used to build a causal triangulation.
| dimension | Compile-time point dimension. |
Definition at line 67 of file Foliated_triangulation.hpp.
| using cdt::Cell_handle_t |
Mutable CGAL cell handle for a triangulation dimension.
A handle borrows from the triangulation that produced it. It must not be used with a copy or after an invalidating mutation of its owner.
| dimension | Compile-time triangulation dimension. |
Definition at line 75 of file Foliated_triangulation.hpp.
| using cdt::Delaunay_t = typename detail::TriangulationTraits<dimension>::Delaunay |
Delaunay triangulation type for dimension spatial dimensions.
| dimension | Compile-time triangulation dimension. |
Definition at line 57 of file Foliated_triangulation.hpp.
| using cdt::Edge_handle_t |
CGAL edge descriptor for a triangulation dimension.
The embedded cell handle borrows from its source triangulation and follows that triangulation's invalidation rules.
| dimension | Compile-time triangulation dimension. |
Definition at line 90 of file Foliated_triangulation.hpp.
| using cdt::Facet_t = typename detail::TriangulationTraits<dimension>::Facet |
CGAL facet descriptor for a triangulation dimension.
The embedded cell handle borrows from its source triangulation and follows that triangulation's invalidation rules.
| dimension | Compile-time triangulation dimension. |
Definition at line 83 of file Foliated_triangulation.hpp.
| using cdt::Geometry_3 = Geometry<3> |
Three-dimensional simplex-count geometry.
Definition at line 113 of file Geometry.hpp.
| using cdt::Gmpzf = CGAL::Gmpzf |
Results are converted to a CGAL multi-precision floating point number. Gmpzf itself is based on GMP (https://gmplib.org), as is MPFR.
Definition at line 23 of file Settings.hpp.
| using cdt::Int_precision = std::int32_t |
Sets the type of integer to use throughout the project. These are the base values read into the program or used in calculations. Casts to unsigned types are still necessary for certain library functions to work.
Definition at line 30 of file Settings.hpp.
| using cdt::Metropolis_3 |
Metropolis-Hastings move strategy for the supported 3D manifold.
Definition at line 722 of file Metropolis.hpp.
| using cdt::MoveAlways_3 |
Always-accept-applicable move strategy for the supported 3D manifold.
Definition at line 212 of file Move_always.hpp.
| using cdt::Point_t = typename detail::TriangulationTraits<dimension>::Point |
Cartesian point type used by a triangulation dimension.
| dimension | Compile-time triangulation dimension. |
Definition at line 62 of file Foliated_triangulation.hpp.
| using cdt::Spherical_points_generator_t |
CGAL random point generator on a sphere of matching dimension.
| dimension | Compile-time point dimension. |
Definition at line 104 of file Foliated_triangulation.hpp.
| using cdt::Vertex_handle_t |
Mutable CGAL vertex handle for a triangulation dimension.
A handle borrows from the triangulation that produced it. It must not be used with a copy or after an invalidating mutation of its owner.
| dimension | Compile-time triangulation dimension. |
Definition at line 98 of file Foliated_triangulation.hpp.
|
strong |
(n,m) is number of vertices on (lower, higher) timeslice
Definition at line 352 of file Foliated_triangulation.hpp.
|
strong |
Causal classification of an edge by its endpoint timeslices.
| Enumerator | |
|---|---|
| SPACELIKE | Both endpoints lie on the same timeslice. |
| TIMELIKE | Endpoints lie on adjacent timeslices. |
Definition at line 363 of file Foliated_triangulation.hpp.
|
strong |
Reasons raw move-run cadence cannot become a domain value.
| Enumerator | |
|---|---|
| NONPOSITIVE_PASSES | The requested pass count is not positive. |
| NONPOSITIVE_CHECKPOINT | The checkpoint interval is not positive. |
Definition at line 27 of file Move_run.hpp.
|
strong |
The algorithms available to make ergodic moves on triangulations.
| Enumerator | |
|---|---|
| MOVE_ALWAYS | Execute every applicable proposal. |
| METROPOLIS | Apply Metropolis-Hastings acceptance. |
Definition at line 21 of file Move_strategy.hpp.
|
strong |
Spatial-topology label stored by configuration and persistence APIs.
| Enumerator | |
|---|---|
| TOROIDAL | Reserved for toroidal slices; construction is unsupported. |
| SPHERICAL | Supported spherical spatial slices. |
Definition at line 71 of file Utilities.hpp.
|
nodiscardconstexpr |
An applicative function similar to std::apply on a manifold.
| ManifoldType | The type (topology, dimensionality) of manifold |
| FunctionType | The type of move applied to the manifold |
| t_manifold | The manifold on which to make the Pachner move |
| t_move | The Pachner move |
| arguments | Explicit dependencies forwarded to the move |
Definition at line 29 of file Apply_move.hpp.
|
nodiscardconstexprnoexcept |
| seed | Seed to expose to fmt-compatible formatting. |
Definition at line 69 of file Random.hpp.
|
nodiscardconstexprnoexcept |
| stream | Stream selector to expose to fmt-compatible formatting. |
Definition at line 75 of file Random.hpp.
|
inline |
| output | Destination stream. |
| seed | Seed to write as an unsigned integer. |
Definition at line 82 of file Random.hpp.
|
inline |
| output | Destination stream. |
| stream | Stream selector to write as an unsigned integer. |
Definition at line 89 of file Random.hpp.
|
inline |
Convert Topology to string output.
| t_os | The output stream |
| t_topology | The topology |
Definition at line 81 of file Utilities.hpp.
|
inlineconstexpr |
Except when we only need 32 bits.
Definition at line 61 of file Settings.hpp.
|
inlineconstexpr |
Aligns data for ease of access on 64-bit CPUs at the expense of padding.
Definition at line 58 of file Settings.hpp.
|
inlineconstexpr |
Default distance between successive foliated timeslices.
Definition at line 49 of file Settings.hpp.
Referenced by cdt::foliated_triangulations::FoliatedTriangulation< 3 >::FoliatedTriangulation(), cdt::foliated_triangulations::FoliatedTriangulation< 3 >::FoliatedTriangulation(), cdt::foliated_triangulations::FoliatedTriangulation< 3 >::FoliatedTriangulation(), cdt::foliated_triangulations::FoliatedTriangulation< 3 >::FoliatedTriangulation(), cdt::manifolds::Manifold< 3 >::Manifold(), cdt::manifolds::Manifold< 3 >::Manifold(), and cdt::manifolds::Manifold< 3 >::Manifold().
|
inlineconstexpr |
Depends on INITIAL_RADIUS and RADIAL_FACTOR.
Definition at line 55 of file Settings.hpp.
|
inlineconstexpr |
Default initial radius for generated foliated triangulations.
Definition at line 47 of file Settings.hpp.
Referenced by cdt::foliated_triangulations::FoliatedTriangulation< 3 >::FoliatedTriangulation(), cdt::foliated_triangulations::FoliatedTriangulation< 3 >::FoliatedTriangulation(), cdt::foliated_triangulations::FoliatedTriangulation< 3 >::FoliatedTriangulation(), cdt::foliated_triangulations::FoliatedTriangulation< 3 >::FoliatedTriangulation(), cdt::manifolds::Manifold< 3 >::Manifold(), cdt::manifolds::Manifold< 3 >::Manifold(), and cdt::manifolds::Manifold< 3 >::Manifold().
|
inlineconstexpr |
Sets the precision for MPFR.
Correctly declare global constants See Jonathan Boccara's C++ Pitfalls, January 2021
Definition at line 44 of file Settings.hpp.
|
inlineconstexpr |
Sets epsilon values for floating point comparisons.
Definition at line 52 of file Settings.hpp.
Referenced by cdt::foliated_triangulations::FoliatedTriangulation< 3 >::does_vertex_radius_match_timevalue().