diff --git a/Periodic_3_triangulation_3/include/CGAL/Periodic_3_triangulation_3.h b/Periodic_3_triangulation_3/include/CGAL/Periodic_3_triangulation_3.h index f3d854aa264..22c6da361a3 100644 --- a/Periodic_3_triangulation_3/include/CGAL/Periodic_3_triangulation_3.h +++ b/Periodic_3_triangulation_3/include/CGAL/Periodic_3_triangulation_3.h @@ -3920,19 +3920,19 @@ namespace internal { /// Internal function used by operator==. // This function tests and registers the 4 neighbors of c1/c2, - // and recursively calls itself over them. + // and performs a bfs traversal // Returns false if an inequality has been found. //TODO: introduce offsets template bool test_next(const Periodic_3_triangulation_3 &t1, - const Periodic_3_triangulation_3 &t2, - typename Periodic_3_triangulation_3::Cell_handle c1, - typename Periodic_3_triangulation_3::Cell_handle c2, - std::map::Cell_handle, - typename Periodic_3_triangulation_3::Cell_handle> &Cmap, - std::map::Vertex_handle, - typename Periodic_3_triangulation_3::Vertex_handle> &Vmap) + const Periodic_3_triangulation_3 & /* needed_for_deducing_TDS2 */, + typename Periodic_3_triangulation_3::Cell_handle c1, + typename Periodic_3_triangulation_3::Cell_handle c2, + std::map::Cell_handle, + typename Periodic_3_triangulation_3::Cell_handle> &Cmap, + std::map::Vertex_handle, + typename Periodic_3_triangulation_3::Vertex_handle> &Vmap) { typedef Periodic_3_triangulation_3 Tr1; typedef Periodic_3_triangulation_3 Tr2; @@ -3993,7 +3993,6 @@ namespace internal { // We register n1/n2. Cmap.insert(std::make_pair(n1, n2)); - // We recurse on n1/n2. queue.push_back(std::make_pair(n1, n2)); } } @@ -4123,9 +4122,8 @@ operator==(const Periodic_3_triangulation_3 &t1, if (Cmap.size() == 0) return false; - // We now have one cell, we need to propagate recursively. - return internal::test_next(t1, t2, - Cmap.begin()->first, Cmap.begin()->second, Cmap, Vmap); + // We now have one cell, we need to compare in a bfs graph traversal + return internal::test_next(t1, t2, Cmap.begin()->first, Cmap.begin()->second, Cmap, Vmap); } template < class GT, class TDS1, class TDS2 > diff --git a/Periodic_3_triangulation_3/test/Periodic_3_triangulation_3/test_periodic_3_triangulation_traits_3.h b/Periodic_3_triangulation_3/test/Periodic_3_triangulation_3/test_periodic_3_triangulation_traits_3.h index db0096a558b..8298000de59 100644 --- a/Periodic_3_triangulation_3/test/Periodic_3_triangulation_3/test_periodic_3_triangulation_traits_3.h +++ b/Periodic_3_triangulation_3/test/Periodic_3_triangulation_3/test_periodic_3_triangulation_traits_3.h @@ -95,19 +95,16 @@ void test_periodic_3_triangulation_traits_3() std::cout<<" GMP not available"<(); -#define LRT CGAL::Lazy_exact_nt< RT > -#define LFT CGAL::Lazy_exact_nt< FT > - test_traits(); + std::cout<<" done"< test_traits(); -#ifndef _MSC_VER -#define LRT CGAL::Lazy_exact_nt< RT > -#define LFT CGAL::Lazy_exact_nt< FT > - test_traits(); -#else - std::cout << "Skip test with Lazy_exact_nt" << std::endl; -#endif + std::cout<<" done"< +#define TEST_CARTESIAN 1 #define KERNEL CGAL::Cartesian< FT > #define LAZY_KERNEL CGAL::Cartesian< LFT > diff --git a/Periodic_3_triangulation_3/test/Periodic_3_triangulation_3/test_periodic_3_triangulation_traits_SC_3.cpp b/Periodic_3_triangulation_3/test/Periodic_3_triangulation_3/test_periodic_3_triangulation_traits_SC_3.cpp index febba52e58e..78d16dc679e 100644 --- a/Periodic_3_triangulation_3/test/Periodic_3_triangulation_3/test_periodic_3_triangulation_traits_SC_3.cpp +++ b/Periodic_3_triangulation_3/test/Periodic_3_triangulation_3/test_periodic_3_triangulation_traits_SC_3.cpp @@ -19,6 +19,7 @@ // // Author(s) : Manuel Caroli +#define TEST_CARTESIAN 1 #define KERNEL CGAL::Simple_cartesian< FT > #define LAZY_KERNEL CGAL::Simple_cartesian< LFT >