From 9611c8f3c0ec43c5c4f1e60fe7035afbfbf5e7ad Mon Sep 17 00:00:00 2001 From: Sven Oesau Date: Sat, 1 Oct 2022 16:09:30 +0200 Subject: [PATCH] using epsilon tolerance for Simple_cartesian instead of exact comparison --- .../Orthogonal_incremental_neighbor_search.cpp | 9 +++++---- .../test/Spatial_searching/Splitters.cpp | 11 +++++++---- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/Spatial_searching/test/Spatial_searching/Orthogonal_incremental_neighbor_search.cpp b/Spatial_searching/test/Spatial_searching/Orthogonal_incremental_neighbor_search.cpp index 58e8febe495..ddce5124c4e 100644 --- a/Spatial_searching/test/Spatial_searching/Orthogonal_incremental_neighbor_search.cpp +++ b/Spatial_searching/test/Spatial_searching/Orthogonal_incremental_neighbor_search.cpp @@ -71,21 +71,21 @@ void run() typename K_search::iterator it = oins.begin(); typename K_search::Point_with_transformed_distance pd = *it; points2.push_back(get_point(pd.first)); - if(CGAL::squared_distance(query,get_point(pd.first)) != pd.second){ + if(abs(CGAL::squared_distance(query, get_point(pd.first)) - pd.second) >= 0.000000001){ std::cout << "different distances: " << CGAL::squared_distance(query,get_point(pd.first)) << " != " << pd.second << std::endl; } - assert(CGAL_IA_FORCE_TO_DOUBLE(CGAL::squared_distance(query,get_point(pd.first))) == pd.second); + assert(abs(CGAL::squared_distance(query, get_point(pd.first)) - pd.second) < 0.000000001); it++; for(; it != oins.end();it++){ typename K_search::Point_with_transformed_distance qd = *it; assert(pd.second <= qd.second); pd = qd; points2.push_back(get_point(pd.first)); - if(CGAL_IA_FORCE_TO_DOUBLE(CGAL::squared_distance(query,get_point(pd.first))) != pd.second){ + if(abs(CGAL::squared_distance(query, get_point(pd.first)) - pd.second) >= 0.000000001){ std::cout << "different distances: " << CGAL::squared_distance(query,get_point(pd.first)) << " != " << pd.second << std::endl; } - assert(CGAL_IA_FORCE_TO_DOUBLE(CGAL::squared_distance(query,get_point(pd.first))) == pd.second); + assert(abs(CGAL::squared_distance(query, get_point(pd.first)) - pd.second) < 0.000000001); } @@ -176,6 +176,7 @@ bool search(bool nearest) int main() { + std::cout << std::setprecision(17); bool OK=true; std::cout << "Testing Incremental_neighbor_search\n"; run(); diff --git a/Spatial_searching/test/Spatial_searching/Splitters.cpp b/Spatial_searching/test/Spatial_searching/Splitters.cpp index eb79416c6ca..9bde600fefa 100644 --- a/Spatial_searching/test/Spatial_searching/Splitters.cpp +++ b/Spatial_searching/test/Spatial_searching/Splitters.cpp @@ -60,20 +60,23 @@ struct Splitter_test { typename Orthogonal_incremental_neighbor_search::iterator it = oins.begin(); Point_with_transformed_distance pd = *it; points2.push_back(get_point(pd.first)); - if(CGAL::squared_distance(query,get_point(pd.first)) != pd.second){ + + std::cout << std::setprecision(17); + + if(abs(CGAL::squared_distance(query, get_point(pd.first)) - pd.second) >= 0.000000001){ std::cout << CGAL::squared_distance(query,get_point(pd.first)) << " != " << pd.second << std::endl; } - assert(CGAL_IA_FORCE_TO_DOUBLE(CGAL::squared_distance(query,get_point(pd.first))) == pd.second); + assert(abs(CGAL::squared_distance(query,get_point(pd.first)) - pd.second) < 0.000000001); it++; for(; it != oins.end();it++){ Point_with_transformed_distance qd = *it; assert(pd.second <= qd.second); pd = qd; points2.push_back(get_point(pd.first)); - if(CGAL_IA_FORCE_TO_DOUBLE(CGAL::squared_distance(query,get_point(pd.first))) != pd.second){ + if(abs(CGAL::squared_distance(query, get_point(pd.first)) - pd.second) >= 0.000000001){ std::cout << CGAL::squared_distance(query,get_point(pd.first)) << " != " << pd.second << std::endl; } - assert(CGAL_IA_FORCE_TO_DOUBLE(CGAL::squared_distance(query,get_point(pd.first))) == pd.second); + assert(abs(CGAL::squared_distance(query, get_point(pd.first)) - pd.second) < 0.000000001); } std::sort(points.begin(),points.end()); std::sort(points2.begin(),points2.end());