#include <boost/math/tools/roots.hpp> // for root finding.
#include <boost/math/distributions/detail/inv_discrete_quantile.hpp>
-#include <boost/type_traits/is_floating_point.hpp>
-#include <boost/type_traits/is_integral.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/mpl/if.hpp>
-
#include <limits> // using std::numeric_limits;
#include <utility>
typedef negative_binomial_distribution<double> negative_binomial; // Reserved name of type double.
+ #ifdef __cpp_deduction_guides
+ template <class RealType>
+ negative_binomial_distribution(RealType,RealType)->negative_binomial_distribution<typename boost::math::tools::promote_args<RealType>::type>;
+ #endif
+
template <class RealType, class Policy>
inline const std::pair<RealType, RealType> range(const negative_binomial_distribution<RealType, Policy>& /* dist */)
{ // Range of permissible values for random variable k.
//
// Max iterations permitted:
//
- boost::uintmax_t max_iter = policies::get_max_root_iterations<Policy>();
+ std::uintmax_t max_iter = policies::get_max_root_iterations<Policy>();
typedef typename Policy::discrete_quantile_type discrete_type;
return detail::inverse_discrete_quantile(
dist,
//
// Max iterations permitted:
//
- boost::uintmax_t max_iter = policies::get_max_root_iterations<Policy>();
+ std::uintmax_t max_iter = policies::get_max_root_iterations<Policy>();
typedef typename Policy::discrete_quantile_type discrete_type;
return detail::inverse_discrete_quantile(
dist,