id summary reporter owner description type status milestone component version severity resolution keywords cc 10241 Please relax template constraints of boost::math::binomial_coefficient der-storch-85@… John Maddock "boost::math::binomial_coefficient may up to now only be used with floating point types. See also ticket #3100. This constraint has two problems: It yields in inaccurate calculations, i. e. {{{ static_cast(boost::math::binomial_coefficient(60, 30)); }}} is 118264581564861408 but should be 118264581564861424. (long long unsigned and double are both 8 byte on my machine.) And it does not make sense for very large or arbitrary-precision integer types: boost::math::binomial_coefficient would work great if you let it do so. At the moment it is not possible just to release integer types as template argument, you have to add an extra implementation, i. e. this one with unsigned k and n as input: {{{ Inttype result = 1; k = std::min(k, n-k); for (unsigned i = 1; i < k+1; ++i) { result *= Inttype(n-k+i); result /= Inttype(i); } }}}" Feature Requests new To Be Determined math Boost 1.55.0 Optimization