update boost
This commit is contained in:
@@ -11,17 +11,17 @@
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include <cstdint>
|
||||
#include <cmath>
|
||||
#include <utility>
|
||||
#include <boost/config/no_tr1/cmath.hpp>
|
||||
#include <boost/math/tools/precision.hpp>
|
||||
#include <boost/math/policies/policy.hpp>
|
||||
#include <boost/cstdint.hpp>
|
||||
|
||||
namespace boost{ namespace math{ namespace tools{
|
||||
|
||||
template <class F, class T>
|
||||
std::pair<T, T> brent_find_minima(F f, T min, T max, int bits, boost::uintmax_t& max_iter)
|
||||
BOOST_NOEXCEPT_IF(BOOST_MATH_IS_FLOAT(T) && noexcept(std::declval<F>()(std::declval<T>())))
|
||||
std::pair<T, T> brent_find_minima(F f, T min, T max, int bits, std::uintmax_t& max_iter)
|
||||
noexcept(BOOST_MATH_IS_FLOAT(T) && noexcept(std::declval<F>()(std::declval<T>())))
|
||||
{
|
||||
BOOST_MATH_STD_USING
|
||||
bits = (std::min)(policies::digits<T, policies::policy<> >() / 2, bits);
|
||||
@@ -65,7 +65,7 @@ std::pair<T, T> brent_find_minima(F f, T min, T max, int bits, boost::uintmax_t&
|
||||
q = fabs(q);
|
||||
T td = delta2;
|
||||
delta2 = delta;
|
||||
// determine whether a parabolic step is acceptible or not:
|
||||
// determine whether a parabolic step is acceptable or not:
|
||||
if((fabs(p) >= fabs(q * td / 2)) || (p <= q * (min - x)) || (p >= q * (max - x)))
|
||||
{
|
||||
// nope, try golden section instead
|
||||
@@ -139,9 +139,9 @@ std::pair<T, T> brent_find_minima(F f, T min, T max, int bits, boost::uintmax_t&
|
||||
|
||||
template <class F, class T>
|
||||
inline std::pair<T, T> brent_find_minima(F f, T min, T max, int digits)
|
||||
BOOST_NOEXCEPT_IF(BOOST_MATH_IS_FLOAT(T) && noexcept(std::declval<F>()(std::declval<T>())))
|
||||
noexcept(BOOST_MATH_IS_FLOAT(T) && noexcept(std::declval<F>()(std::declval<T>())))
|
||||
{
|
||||
boost::uintmax_t m = (std::numeric_limits<boost::uintmax_t>::max)();
|
||||
std::uintmax_t m = (std::numeric_limits<std::uintmax_t>::max)();
|
||||
return brent_find_minima(f, min, max, digits, m);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user