Merge pull request #8028 from mglisse/Triangulation-dim_8bit-glisse

Store index/dimension in 8 bits
This commit is contained in:
Laurent Rineau 2024-02-16 18:03:15 +01:00
commit c21128e652
3 changed files with 7 additions and 4 deletions

View File

@ -76,6 +76,9 @@ Release date: October 2023
- Added three functions `vertices()` to the class `Triangulation_3`.
Each of them returns an array containing the vertices of the given triangulation simplex.
### [dD Triangulations](https://doc.cgal.org/6.0/Manual/packages.html#PkgTriangulations)
- **Breaking change**: `CGAL::TDS_full_cell_mirror_storage_policy` is now unsupported in dimension larger than 127.
[Release 5.6](https://github.com/CGAL/cgal/releases/tag/v5.6)
-----------

View File

@ -37,7 +37,7 @@ indices are not stored).
<LI>`CGAL::TDS_full_cell_default_storage_policy`. In that case, the mirror
indices are not stored.
<LI>`CGAL::TDS_full_cell_mirror_storage_policy`. In that case, the mirror
indices are stored.
indices are stored. This last policy is not supported when the dimension is larger than 127.
</UL>
See the user manual for how to choose the second option.

View File

@ -14,8 +14,8 @@
#include <CGAL/license/Triangulation.h>
#include <CGAL/TDS_full_cell_default_storage_policy.h>
#include <cstdint>
namespace CGAL {
@ -30,7 +30,7 @@ struct TFC_data< Vertex_handle, Full_cell_handle, Maximal_dimension, TDS_full_
typedef TFC_data< Vertex_handle, Full_cell_handle, Maximal_dimension, TDS_full_cell_default_storage_policy > Base;
typedef typename Base::Vertex_handle_array Vertex_handle_array;
typedef typename Base::Full_cell_handle_array Full_cell_handle_array;
typedef typename internal::S_or_D_array< int, typename Base::Dimen_plus > Int_array;
typedef typename internal::S_or_D_array< std::int_least8_t, typename Base::Dimen_plus > Int_array;
private:
Int_array mirror_vertices_;
@ -42,7 +42,7 @@ public:
void set_mirror_index(const int i, const int index)
{
mirror_vertices_[i] = index;
mirror_vertices_[i] = static_cast<std::int_least8_t>(index);
}
int mirror_index(const int i) const
{