Skip to content

Commit 4da968e

Browse files
committed
Improvements to type passing.
1 parent aa2afbc commit 4da968e

File tree

7 files changed

+304
-209
lines changed

7 files changed

+304
-209
lines changed

extensions/test/generic_robust_predicates/approximate.cpp

+7-4
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ void test_all()
3333
using bg::detail::generic_robust_predicates::approximate_value;
3434
using bg::detail::generic_robust_predicates::get_approx;
3535
using bg::detail::generic_robust_predicates::approximate_interim;
36+
using bg::detail::generic_robust_predicates::argument_list;
3637
using ct = CalculationType;
3738
ct r1 = approximate_value<sum<_1, _2>, ct>(
3839
std::array<ct, 2>{1.0, 2.0});
@@ -47,14 +48,16 @@ void test_all()
4748
difference<_3, _4>
4849
>;
4950
using evals = post_order<expression>;
51+
using arg_list_input = argument_list<4>;
52+
using arg_list = boost::mp11::mp_list<evals, arg_list_input>;
5053
std::array<ct, boost::mp11::mp_size<evals>::value> r;
5154
std::array<ct, 4> input {5.0, 3.0, 2.0, 8.0};
52-
approximate_interim<evals, evals, ct>(r, input);
53-
ct r3 = get_approx<evals, typename expression::left, ct>(r, input);
55+
approximate_interim<evals, arg_list, ct>(r, input);
56+
ct r3 = get_approx<typename expression::left, arg_list, ct>(r, input);
5457
BOOST_CHECK_EQUAL(2.0, r3);
55-
ct r4 = get_approx<evals, typename expression::right, ct>(r, input);
58+
ct r4 = get_approx<typename expression::right, arg_list, ct>(r, input);
5659
BOOST_CHECK_EQUAL(-6.0, r4);
57-
ct r5 = get_approx<evals, expression, ct>(r, input);
60+
ct r5 = get_approx<expression, arg_list, ct>(r, input);
5861
BOOST_CHECK_EQUAL(-12.0, r5);
5962
}
6063

include/boost/geometry/extensions/generic_robust_predicates/strategies/cartesian/detail/almost_static_filter.hpp

+1
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ class almost_static_filter
7575
extrema_array m_extrema;
7676
StaticFilter m_filter;
7777
public:
78+
static constexpr std::size_t arg_count = StaticFilter::arg_count;
7879
const StaticFilter& filter() const { return m_filter; }
7980
inline almost_static_filter()
8081
{

0 commit comments

Comments
 (0)