From b07b36ec87f43896805a86614c5eae657902abba Mon Sep 17 00:00:00 2001 From: Philip Trettner <Philip.Trettner@rwth-aachen.de> Date: Mon, 19 Apr 2021 11:53:37 +0200 Subject: [PATCH] more gcc fixes --- tests/feature/intersections/aabb-intersect.cc | 19 ++++++++++--------- tests/feature/intersections/ray-intersect.cc | 2 +- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/tests/feature/intersections/aabb-intersect.cc b/tests/feature/intersections/aabb-intersect.cc index 8807b58..f8d7801 100644 --- a/tests/feature/intersections/aabb-intersect.cc +++ b/tests/feature/intersections/aabb-intersect.cc @@ -206,7 +206,6 @@ TG_FUZZ_TEST(AABB, ObjectIntersection) { auto const numSamples = 250; auto const test_obj = [&](auto const& bb, auto const& o) { - if (!intersects(o, bb)) { for (auto i = 0; i < numSamples; ++i) @@ -228,8 +227,10 @@ TG_FUZZ_TEST(AABB, ObjectIntersection) if constexpr (tg::object_traits<std::decay_t<decltype(o)>>::is_finite) { +#ifndef TG_COMPILER_GCC auto const objBounds = aabb_of(o); CHECK(intersects(o, objBounds)); +#endif if (!intersects(o, bb)) { @@ -334,11 +335,11 @@ TG_FUZZ_TEST(AABB, ObjectIntersection) // cylinder test_obj_and_boundary_no_caps(bb3, tg::cylinder3(axis0, r)); // TODO: ellipse -// test_obj_and_boundary(bb1, tg::ellipse1(pos10, m1)); -// test_obj_and_boundary(bb2, tg::ellipse2(pos20, m2)); -// test_obj_and_boundary(bb3, tg::ellipse3(pos30, m3)); + // test_obj_and_boundary(bb1, tg::ellipse1(pos10, m1)); + // test_obj_and_boundary(bb2, tg::ellipse2(pos20, m2)); + // test_obj_and_boundary(bb3, tg::ellipse3(pos30, m3)); // TODO: ellipse4 -// test_obj_and_boundary(bb3, tg::ellipse2in3(pos30, m23)); + // test_obj_and_boundary(bb3, tg::ellipse2in3(pos30, m23)); // halfspace test_obj(bb1, tg::halfspace1(n1, h)); test_obj(bb2, tg::halfspace2(n2, h)); @@ -350,8 +351,8 @@ TG_FUZZ_TEST(AABB, ObjectIntersection) test_obj_and_boundary_no_caps(bb3, tg::hemisphere3(pos30, r, n3)); // test_obj_and_boundary_no_caps(bb4, tg::hemisphere4(pos40, r, n4)); // TODO: inf_cone -// test_obj_and_boundary(bb2, tg::inf_cone2(pos20, n2, a)); -// test_obj_and_boundary(bb3, tg::inf_cone3(pos30, n3, a)); + // test_obj_and_boundary(bb2, tg::inf_cone2(pos20, n2, a)); + // test_obj_and_boundary(bb3, tg::inf_cone3(pos30, n3, a)); // inf_cylinder test_obj_and_boundary(bb2, tg::inf_cylinder2(tg::line2(pos20, n2), r)); test_obj_and_boundary(bb3, tg::inf_cylinder3(tg::line3(pos30, n3), r)); @@ -367,10 +368,10 @@ TG_FUZZ_TEST(AABB, ObjectIntersection) test_obj(bb4, tg::plane4(n4, h)); // pyramid test_obj_and_boundary_no_caps(bb3, tg::pyramid<tg::box2in3>(tg::box2in3(pos30, m23), h)); -// test_obj_and_boundary_no_caps(bb3, tg::pyramid<tg::sphere2in3>(disk0, h)); // == cone + // test_obj_and_boundary_no_caps(bb3, tg::pyramid<tg::sphere2in3>(disk0, h)); // == cone test_obj_and_boundary_no_caps(bb3, tg::pyramid<tg::triangle3>(tg::triangle3(pos30, pos31, pos32), h)); test_obj(bb3, tg::pyramid_boundary_no_caps<tg::quad3>(tg::quad3(pos30, pos31, pos32, pos32 + (pos30 - pos31)), h)); -// test_obj_and_boundary_no_caps(bb3, tg::pyramid<tg::quad3>(tg::quad3(pos30, pos31, pos32, pos32 + (pos30 - pos31)), h)); // needs uniform(quad) + // test_obj_and_boundary_no_caps(bb3, tg::pyramid<tg::quad3>(tg::quad3(pos30, pos31, pos32, pos32 + (pos30 - pos31)), h)); // needs uniform(quad) // TODO: quad // test_obj(bb2, tg::quad2(pos20, pos21, pos22, pos23)); // test_obj(bb3, tg::quad3(pos30, pos31, pos32, pos32 + (pos31 - pos30))); diff --git a/tests/feature/intersections/ray-intersect.cc b/tests/feature/intersections/ray-intersect.cc index cd6725d..99507b3 100644 --- a/tests/feature/intersections/ray-intersect.cc +++ b/tests/feature/intersections/ray-intersect.cc @@ -25,7 +25,7 @@ TG_FUZZ_TEST(TypedGeometry, Intersections) auto iRay = 0; for (auto iLine = 0; iLine < tsLine.size(); ++iLine) if (tsLine[iLine] >= 0) - CHECK(tsLine[iLine] == ts[iRay++]); + CHECK(tsLine[iLine] == approx(ts[iRay++])); CHECK(iRay == ts.size()); }; -- GitLab