Remove BG_IF_RESCALED macro

This commit is contained in:
Vissarion Fisikopoulos 2024-05-29 13:50:13 +03:00
parent d769af0d2c
commit 0a752a6575
11 changed files with 22 additions and 68 deletions

View File

@ -538,12 +538,8 @@ void test_all()
join_round, end_flat, {11363180033, 11363180045}, 50.0 * 1000.0); join_round, end_flat, {11363180033, 11363180045}, 50.0 * 1000.0);
test_one<polygon_type, polygon_type>("italy_part1_60", italy_part1, test_one<polygon_type, polygon_type>("italy_part1_60", italy_part1,
join_round, end_flat, 15479097108.720, 60.0 * 1000.0); join_round, end_flat, 15479097108.720, 60.0 * 1000.0);
#if ! defined(BOOST_GEOMETRY_USE_RESCALING) || defined(BOOST_GEOMETRY_TEST_FAILURES)
// Fails with rescaling after removing pretraverse
test_one<polygon_type, polygon_type>("italy_part2_5", italy_part2, test_one<polygon_type, polygon_type>("italy_part2_5", italy_part2,
join_round, end_flat, {12496082120, 12496082124}, 5 * 1000.0); join_round, end_flat, {12496082120, 12496082124}, 5 * 1000.0);
#endif
if (! BOOST_GEOMETRY_CONDITION((std::is_same<coor_type, float>::value))) if (! BOOST_GEOMETRY_CONDITION((std::is_same<coor_type, float>::value)))
{ {
@ -605,10 +601,7 @@ void test_all()
// Test issue 555 as reported (-0.000001) and some variants // Test issue 555 as reported (-0.000001) and some variants
bg::strategy::buffer::join_round jr(180); bg::strategy::buffer::join_round jr(180);
bg::strategy::buffer::end_round er(180); bg::strategy::buffer::end_round er(180);
#if ! defined(BOOST_GEOMETRY_USE_RESCALING) || defined(BOOST_GEOMETRY_TEST_FAILURES)
// With rescaling the interior ring is missing
test_one<polygon_type, polygon_type>("issue_555", issue_555, jr, er, 4520.7942, -0.000001); test_one<polygon_type, polygon_type>("issue_555", issue_555, jr, er, 4520.7942, -0.000001);
#endif
test_one<polygon_type, polygon_type>("issue_555", issue_555, jr, er, 4520.7957, +0.000001); test_one<polygon_type, polygon_type>("issue_555", issue_555, jr, er, 4520.7957, +0.000001);
test_one<polygon_type, polygon_type>("issue_555_1000", issue_555, jr, er, 4521.6280, +0.001); test_one<polygon_type, polygon_type>("issue_555_1000", issue_555, jr, er, 4521.6280, +0.001);
test_one<polygon_type, polygon_type>("issue_555_1000", issue_555, jr, er, 4519.9627, -0.001); test_one<polygon_type, polygon_type>("issue_555_1000", issue_555, jr, er, 4519.9627, -0.001);

View File

@ -228,9 +228,6 @@ void test_buffer(std::string const& caseid,
<< (end_name.empty() ? "" : "_") << end_name << (end_name.empty() ? "" : "_") << end_name
<< (distance_strategy.negative() ? "_deflate" : "") << (distance_strategy.negative() ? "_deflate" : "")
<< (bg::point_order<GeometryOut>::value == bg::counterclockwise ? "_ccw" : "") << (bg::point_order<GeometryOut>::value == bg::counterclockwise ? "_ccw" : "")
#if defined(BOOST_GEOMETRY_USE_RESCALING)
<< "_rescaled"
#endif
// << "_" << point_buffer_count // << "_" << point_buffer_count
; ;

View File

@ -175,7 +175,7 @@ void test_all()
{ {
ut_settings settings; ut_settings settings;
settings.validity_of_sym = BG_IF_RESCALED(false, true); settings.validity_of_sym = true;
test_one<polygon, polygon, polygon>("intersect_holes_intersect_and_disjoint", test_one<polygon, polygon, polygon>("intersect_holes_intersect_and_disjoint",
intersect_holes_intersect_and_disjoint[0], intersect_holes_intersect_and_disjoint[1], intersect_holes_intersect_and_disjoint[0], intersect_holes_intersect_and_disjoint[1],
2, 16, 15.75, 2, 16, 15.75,
@ -344,8 +344,8 @@ void test_all()
{ {
ut_settings settings; ut_settings settings;
settings.percentage = BG_IF_RESCALED(0.001, 0.1); settings.percentage = 0.1;
settings.set_test_validity(BG_IF_RESCALED(true, false)); settings.set_test_validity(false);
settings.sym_difference = false; settings.sym_difference = false;
// Isovist - the # output polygons differ per compiler/pointtype, (very) small // Isovist - the # output polygons differ per compiler/pointtype, (very) small
@ -375,7 +375,7 @@ void test_all()
{ {
ut_settings settings; ut_settings settings;
settings.set_test_validity(BG_IF_RESCALED(false, true)); settings.set_test_validity(true);
// Output polygons for sym difference might be combined // Output polygons for sym difference might be combined
expectation_limits a{138.5312, 138.6924}; expectation_limits a{138.5312, 138.6924};
@ -453,8 +453,8 @@ void test_all()
{ {
// With rescaling, difference of output a-b and a sym b is invalid // With rescaling, difference of output a-b and a sym b is invalid
ut_settings settings; ut_settings settings;
settings.set_test_validity(BG_IF_RESCALED(false, true)); settings.set_test_validity(true);
settings.validity_of_sym = BG_IF_RESCALED(false, true); settings.validity_of_sym = true;
TEST_DIFFERENCE_WITH(ggl_list_20190307_matthieu_1, TEST_DIFFERENCE_WITH(ggl_list_20190307_matthieu_1,
count_set(1, 2), 0.18461532, count_set(1, 2), 0.18461532,
count_set(1, 2), 0.617978, count_set(1, 2), 0.617978,
@ -592,7 +592,7 @@ void test_all()
{ {
ut_settings settings; ut_settings settings;
settings.set_test_validity(BG_IF_RESCALED(true, false)); settings.set_test_validity(false);
settings.validity_false_negative_a = true; settings.validity_false_negative_a = true;
TEST_DIFFERENCE_WITH(issue_838, TEST_DIFFERENCE_WITH(issue_838,
count_set(1, 2), expectation_limits(0.000026, 0.0002823), count_set(1, 2), expectation_limits(0.000026, 0.0002823),

View File

@ -109,7 +109,7 @@ void test_areal()
{ {
ut_settings settings; ut_settings settings;
settings.sym_difference = BG_IF_RESCALED(false, true); settings.sym_difference = true;
test_one<Polygon, MultiPolygon, MultiPolygon>("case_108_multi", test_one<Polygon, MultiPolygon, MultiPolygon>("case_108_multi",
case_108_multi[0], case_108_multi[1], case_108_multi[0], case_108_multi[1],
@ -148,33 +148,31 @@ void test_areal()
{ {
ut_settings settings; ut_settings settings;
settings.percentage = 0.001; settings.percentage = 0.001;
settings.set_test_validity(BG_IF_RESCALED(true, false)); settings.set_test_validity(false);
TEST_DIFFERENCE_WITH(0, 1, ggl_list_20120221_volker, 2, 7962.66, 2, 2775258.93, 4); TEST_DIFFERENCE_WITH(0, 1, ggl_list_20120221_volker, 2, 7962.66, 2, 2775258.93, 4);
} }
#if ! defined(BOOST_GEOMETRY_USE_RESCALING) || defined(BOOST_GEOMETRY_TEST_FAILURES)
{ {
// 1: Very small sliver for B (discarded when rescaling) // 1: Very small sliver for B (discarded when rescaling)
// 2: sym difference is not considered as valid (without rescaling // 2: sym difference is not considered as valid (without rescaling
// this is a false negative) // this is a false negative)
// 3: with rescaling A is considered as invalid (robustness problem) // 3: with rescaling A is considered as invalid (robustness problem)
ut_settings settings; ut_settings settings;
settings.validity_of_sym = BG_IF_RESCALED(false, true); settings.validity_of_sym = true;
settings.validity_false_negative_sym = true; settings.validity_false_negative_sym = true;
TEST_DIFFERENCE_WITH(0, 1, bug_21155501, TEST_DIFFERENCE_WITH(0, 1, bug_21155501,
(count_set(1, 4)), expectation_limits(3.75893, 3.75894), (count_set(1, 4)), expectation_limits(3.75893, 3.75894),
(count_set(1, 4)), (expectation_limits(1.776357e-15, 7.661281e-15)), (count_set(1, 4)), (expectation_limits(1.776357e-15, 7.661281e-15)),
(count_set(2, 5))); (count_set(2, 5)));
} }
#endif
#if defined(BOOST_GEOMETRY_USE_RESCALING) || defined(BOOST_GEOMETRY_TEST_FAILURES) #if defined(BOOST_GEOMETRY_TEST_FAILURES)
{ {
// With rescaling, it is complete but invalid // With rescaling, it is complete but invalid
// Without rescaling, one ring is missing (for a and s) // Without rescaling, one ring is missing (for a and s)
ut_settings settings; ut_settings settings;
settings.set_test_validity(BG_IF_RESCALED(false, true)); settings.set_test_validity(true);
settings.validity_of_sym = BG_IF_RESCALED(false, true); settings.validity_of_sym = true;
TEST_DIFFERENCE_WITH(0, 1, ticket_9081, TEST_DIFFERENCE_WITH(0, 1, ticket_9081,
2, 0.0907392476356186, 2, 0.0907392476356186,
4, 0.126018011439877, 4, 0.126018011439877,
@ -189,21 +187,12 @@ void test_areal()
ut_settings settings; ut_settings settings;
settings.percentage = 0.001; settings.percentage = 0.001;
#if ! defined(BOOST_GEOMETRY_USE_RESCALING) || defined(BOOST_GEOMETRY_TEST_FAILURES)
TEST_DIFFERENCE_WITH(0, 1, issue_630_a, 0, expectation_limits(0.0), 1, (expectation_limits(2.023, 2.2004)), 1); TEST_DIFFERENCE_WITH(0, 1, issue_630_a, 0, expectation_limits(0.0), 1, (expectation_limits(2.023, 2.2004)), 1);
#endif
TEST_DIFFERENCE_WITH(0, 1, issue_630_b, 1, 0.0056089, 2, 1.498976, 3); TEST_DIFFERENCE_WITH(0, 1, issue_630_b, 1, 0.0056089, 2, 1.498976, 3);
#if ! defined(BOOST_GEOMETRY_USE_RESCALING) || defined(BOOST_GEOMETRY_TEST_FAILURES)
TEST_DIFFERENCE_WITH(0, 1, issue_630_c, 0, 0, 1, 1.493367, 1); TEST_DIFFERENCE_WITH(0, 1, issue_630_c, 0, 0, 1, 1.493367, 1);
#endif
#if ! defined(BOOST_GEOMETRY_USE_RESCALING) || defined(BOOST_GEOMETRY_TEST_FAILURES)
// Symmetrical difference fails without get_clusters // Symmetrical difference fails without get_clusters
settings.sym_difference = BG_IF_TEST_FAILURES; settings.sym_difference = BG_IF_TEST_FAILURES;
TEST_DIFFERENCE_WITH(0, 1, issue_643, 1, expectation_limits(76.5385), optional(), optional_sliver(1.0e-6), 1); TEST_DIFFERENCE_WITH(0, 1, issue_643, 1, expectation_limits(76.5385), optional(), optional_sliver(1.0e-6), 1);
#endif
} }
// Cases below go (or went) wrong in either a ( [0] - [1] ) or b ( [1] - [0] ) // Cases below go (or went) wrong in either a ( [0] - [1] ) or b ( [1] - [0] )
@ -387,10 +376,7 @@ void test_areal()
TEST_DIFFERENCE(case_recursive_boxes_82, 5, 7.25, 7, 4.5, 8); TEST_DIFFERENCE(case_recursive_boxes_82, 5, 7.25, 7, 4.5, 8);
TEST_DIFFERENCE(case_recursive_boxes_83, 9, 5.25, 8, 5.25, 12); TEST_DIFFERENCE(case_recursive_boxes_83, 9, 5.25, 8, 5.25, 12);
TEST_DIFFERENCE(case_recursive_boxes_84, 4, 8.0, 7, 9.0, 4); TEST_DIFFERENCE(case_recursive_boxes_84, 4, 8.0, 7, 9.0, 4);
#if ! defined(BOOST_GEOMETRY_USE_RESCALING) || defined(BOOST_GEOMETRY_TEST_FAILURES)
TEST_DIFFERENCE(case_recursive_boxes_85, 4, 4.0, 7, 3.75, 9); TEST_DIFFERENCE(case_recursive_boxes_85, 4, 4.0, 7, 3.75, 9);
#endif
TEST_DIFFERENCE(case_recursive_boxes_86, 1, 1.5, 2, 1.5, 3); TEST_DIFFERENCE(case_recursive_boxes_86, 1, 1.5, 2, 1.5, 3);
TEST_DIFFERENCE(case_recursive_boxes_87, 4, 2.0, 4, 2.5, 8); TEST_DIFFERENCE(case_recursive_boxes_87, 4, 2.0, 4, 2.5, 8);
TEST_DIFFERENCE(case_recursive_boxes_88, 3, 4.75, 5, 6.75, 4); TEST_DIFFERENCE(case_recursive_boxes_88, 3, 4.75, 5, 6.75, 4);
@ -402,7 +388,7 @@ void test_areal()
{ {
ut_settings settings; ut_settings settings;
settings.sym_difference = BG_IF_RESCALED(true, BG_IF_TEST_FAILURES); settings.sym_difference = BG_IF_TEST_FAILURES;
test_one<Polygon, MultiPolygon, MultiPolygon>("mysql_21965285_b", test_one<Polygon, MultiPolygon, MultiPolygon>("mysql_21965285_b",
mysql_21965285_b[0], mysql_21965285_b[0],
mysql_21965285_b[1], mysql_21965285_b[1],

View File

@ -287,7 +287,7 @@ void test_areal()
{ {
// Not yet valid when rescaling is turned off // Not yet valid when rescaling is turned off
ut_settings settings; ut_settings settings;
settings.set_test_validity(BG_IF_RESCALED(true, false)); settings.set_test_validity(false);
test_one<Polygon, Polygon, Polygon>("ticket_9563", ticket_9563[0], ticket_9563[1], test_one<Polygon, Polygon, Polygon>("ticket_9563", ticket_9563[0], ticket_9563[1],
1, 8, 129.90381, settings); 1, 8, 129.90381, settings);
} }

View File

@ -250,9 +250,6 @@ typename bg::default_area_result<G1>::type test_intersection(std::string const&
<< string_from_type<CalculationType>::name() << string_from_type<CalculationType>::name()
<< (is_ccw ? "_ccw" : "") << (is_ccw ? "_ccw" : "")
<< (is_open ? "_open" : "") << (is_open ? "_open" : "")
#if defined(BOOST_GEOMETRY_USE_RESCALING)
<< "_rescaled"
#endif
<< ".svg"; << ".svg";
std::ofstream svg(filename.str().c_str()); std::ofstream svg(filename.str().c_str());

View File

@ -302,9 +302,6 @@ void set_operation_output(std::string const& set_op_id,
filename << "ops_" + set_op_id + "_" filename << "ops_" + set_op_id + "_"
<< caseid << "_" << caseid << "_"
<< string_from_type<coordinate_type>::name() << string_from_type<coordinate_type>::name()
#if defined(BOOST_GEOMETRY_USE_RESCALING)
<< "_rescaled"
#endif
<< ".svg"; << ".svg";
std::ofstream svg(filename.str()); std::ofstream svg(filename.str());

View File

@ -372,7 +372,7 @@ void test_areal()
{ {
ut_settings settings; ut_settings settings;
settings.set_test_validity(BG_IF_RESCALED(true, BG_IF_TEST_FAILURES)); settings.set_test_validity(BG_IF_TEST_FAILURES);
TEST_UNION_WITH(ggl_list_20110820_christophe, count_set(1, 2), 0, -1, 67.3550722317627); TEST_UNION_WITH(ggl_list_20110820_christophe, count_set(1, 2), 0, -1, 67.3550722317627);
} }
@ -381,7 +381,7 @@ void test_areal()
// PostGIS gives: 313.360364623393 // PostGIS gives: 313.360364623393
// Without rescaling, it is creates an invalidity for double // Without rescaling, it is creates an invalidity for double
ut_settings settings; ut_settings settings;
settings.set_test_validity(BG_IF_RESCALED(true, false)); settings.set_test_validity(false);
TEST_UNION_WITH(isovist, 1, 0, -1, 313.36036462); TEST_UNION_WITH(isovist, 1, 0, -1, 313.36036462);
} }
@ -454,8 +454,8 @@ void test_areal()
TEST_UNION(issue_1081c, 1, 1, -1, 2338.08); TEST_UNION(issue_1081c, 1, 1, -1, 2338.08);
TEST_UNION_REV(issue_1081c, 1, 1, -1, 2338.08); TEST_UNION_REV(issue_1081c, 1, 1, -1, 2338.08);
TEST_UNION(issue_1100, BG_IF_RESCALED(2, 1), 0, -1, 1.46181); TEST_UNION(issue_1100, 1, 0, -1, 1.46181);
TEST_UNION_REV(issue_1100, BG_IF_RESCALED(2, 1), 0, -1, 1.46181); TEST_UNION_REV(issue_1100, 1, 0, -1, 1.46181);
TEST_UNION(issue_1108, 1, 0, -1, 12.1742); TEST_UNION(issue_1108, 1, 0, -1, 12.1742);
TEST_UNION_REV(issue_1108, 1, 0, -1, 12.1742); TEST_UNION_REV(issue_1108, 1, 0, -1, 12.1742);

View File

@ -370,7 +370,7 @@ void test_areal()
TEST_UNION(case_recursive_boxes_79, 1, 2, -1, 14.75); TEST_UNION(case_recursive_boxes_79, 1, 2, -1, 14.75);
// No hole should be generated (but rescaling generates one hole) // No hole should be generated (but rescaling generates one hole)
TEST_UNION(case_recursive_boxes_80, 2, BG_IF_RESCALED(bg_if_mp<ct>(0, 1), 0), -1, 1.5); TEST_UNION(case_recursive_boxes_80, 2, 0, -1, 1.5);
TEST_UNION(case_recursive_boxes_81, 5, 0, -1, 15.5); TEST_UNION(case_recursive_boxes_81, 5, 0, -1, 15.5);
TEST_UNION(case_recursive_boxes_82, 2, 2, -1, 20.25); TEST_UNION(case_recursive_boxes_82, 2, 2, -1, 20.25);
@ -396,10 +396,10 @@ void test_areal()
// Generates either 4 or 3 output polygons // Generates either 4 or 3 output polygons
// With rescaling the result is invalid. // With rescaling the result is invalid.
ut_settings settings; ut_settings settings;
settings.set_test_validity(BG_IF_RESCALED(false, true)); settings.set_test_validity(true);
test_one<Polygon, MultiPolygon, MultiPolygon>("ticket_9081", test_one<Polygon, MultiPolygon, MultiPolygon>("ticket_9081",
ticket_9081[0], ticket_9081[1], ticket_9081[0], ticket_9081[1],
BG_IF_RESCALED(bg_if_mp<ct>(3, 4), 3), 0, -1, 0.2187385, 3, 0, -1, 0.2187385,
settings); settings);
} }
@ -413,29 +413,19 @@ void test_areal()
ticket_12118[0], ticket_12118[1], ticket_12118[0], ticket_12118[1],
1, -1, 27, 2221.38713); 1, -1, 27, 2221.38713);
#if ! defined(BOOST_GEOMETRY_USE_RESCALING) || defined(BOOST_GEOMETRY_TEST_FAILURES)
// No output if rescaling is done
test_one<Polygon, MultiPolygon, MultiPolygon>("ticket_12125", test_one<Polygon, MultiPolygon, MultiPolygon>("ticket_12125",
ticket_12125[0], ticket_12125[1], ticket_12125[0], ticket_12125[1],
1, 0, -1, 575.831180350007); 1, 0, -1, 575.831180350007);
#endif
TEST_UNION(ticket_12503, 42, 1, -1, 945.625); TEST_UNION(ticket_12503, 42, 1, -1, 945.625);
#if ! defined(BOOST_GEOMETRY_USE_RESCALING) || defined(BOOST_GEOMETRY_TEST_FAILURES)
// Failure with rescaling
TEST_UNION(issue_630_a, 1, 0, -1, 2.200326); TEST_UNION(issue_630_a, 1, 0, -1, 2.200326);
#endif
TEST_UNION(issue_630_b, 1, 0, -1, 1.675976); TEST_UNION(issue_630_b, 1, 0, -1, 1.675976);
#if ! defined(BOOST_GEOMETRY_USE_RESCALING) || defined(BOOST_GEOMETRY_TEST_FAILURES)
// With rescaling the smaller rectangle is added on top of the outer polygon
TEST_UNION(issue_630_c, 1, 0, -1, 1.670367); TEST_UNION(issue_630_c, 1, 0, -1, 1.670367);
// With rescaling the small polygon is added on top of the outer polygon
TEST_UNION(issue_643, 1, 0, -1, 80.0); TEST_UNION(issue_643, 1, 0, -1, 80.0);
#endif
// It returns 3 polygons, the first with an interior // It returns 3 polygons, the first with an interior
// This is correct (the difference, resulting in the same spatial coverage, // This is correct (the difference, resulting in the same spatial coverage,

View File

@ -184,9 +184,6 @@ inline T1 const& bg_if_mp(T1 const& value_mp, T2 const& value)
return std::is_same<CoordinateType, mp_test_type>::type::value ? value_mp : value; return std::is_same<CoordinateType, mp_test_type>::type::value ? value_mp : value;
} }
//! Macro for expectations depending on rescaling
#define BG_IF_RESCALED(a, b) b
//! Macro for turning of a test setting when testing without failures //! Macro for turning of a test setting when testing without failures
#if defined(BOOST_GEOMETRY_TEST_FAILURES) #if defined(BOOST_GEOMETRY_TEST_FAILURES)
#define BG_IF_TEST_FAILURES true #define BG_IF_TEST_FAILURES true

View File

@ -128,9 +128,6 @@ inline void to_svg(G1 const& g1, G2 const& g2, G3 const& g3,
filename << "case_" filename << "case_"
<< caseid << "_" << caseid << "_"
<< string_from_type<coordinate_type>::name() << string_from_type<coordinate_type>::name()
#if defined(BOOST_GEOMETRY_USE_RESCALING)
<< "_rescaled"
#endif
<< ".svg"; << ".svg";
std::ofstream svg(filename.str()); std::ofstream svg(filename.str());