Commit 044ff91b authored by Davis King's avatar Davis King
Browse files

I'm finding there are other issues with gcc 4.8 now and it's old enough that...

I'm finding there are other issues with gcc 4.8 now and it's old enough that we can just drop support for gcc 4.8.
parent 95271cfe
...@@ -288,31 +288,12 @@ template <typename T> static auto go(T&& f, const matrix<double, 0, 1>& a) -> de ...@@ -288,31 +288,12 @@ template <typename T> static auto go(T&& f, const matrix<double, 0, 1>& a) -> de
std::vector<function_spec> specs, std::vector<function_spec> specs,
const std::chrono::nanoseconds max_runtime, const std::chrono::nanoseconds max_runtime,
const max_function_calls num, const max_function_calls num,
double solver_epsilon, double solver_epsilon = 0,
Args&& ...args Args&& ...args
) )
{ {
return find_max_global(ymult, tp, functions, std::move(specs), num, max_runtime, solver_epsilon, std::forward<Args>(args)...); return find_max_global(ymult, tp, functions, std::move(specs), num, max_runtime, solver_epsilon, std::forward<Args>(args)...);
} }
// This overload shouldn't be required but it works around a bug in gcc 4.8 which has a bug
// that makes it complain about setting a default for solver_epsilon but then following it
// by args that "isn't defaulted" according to gcc 4.8.
template <
typename funct,
typename ...Args
>
std::pair<size_t,function_evaluation> find_max_global (
double ymult,
thread_pool& tp,
std::vector<funct>& functions,
std::vector<function_spec> specs,
const std::chrono::nanoseconds max_runtime,
const max_function_calls num,
double solver_epsilon = 0
)
{
return find_max_global(ymult, tp, functions, std::move(specs), num, max_runtime, solver_epsilon);
}
// This overload allows the num argument to be skipped. // This overload allows the num argument to be skipped.
template < template <
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment