Imported Upstream version 1.57.0
[platform/upstream/boost.git] / boost / math / distributions / detail / hypergeometric_pdf.hpp
index 895a2f1..1e6a5ca 100644 (file)
@@ -61,15 +61,15 @@ T hypergeometric_pdf_lanczos_imp(T /*dummy*/, unsigned x, unsigned r, unsigned n
    BOOST_MATH_INSTRUMENT_VARIABLE(typeid(Lanczos).name());
 
    T bases[9] = {
-      T(n) + Lanczos::g() + 0.5f,
-      T(r) + Lanczos::g() + 0.5f,
-      T(N - n) + Lanczos::g() + 0.5f,
-      T(N - r) + Lanczos::g() + 0.5f,
-      1 / (T(N) + Lanczos::g() + 0.5f),
-      1 / (T(x) + Lanczos::g() + 0.5f),
-      1 / (T(n - x) + Lanczos::g() + 0.5f),
-      1 / (T(r - x) + Lanczos::g() + 0.5f),
-      1 / (T(N - n - r + x) + Lanczos::g() + 0.5f)
+      T(n) + static_cast<T>(Lanczos::g()) + 0.5f,
+      T(r) + static_cast<T>(Lanczos::g()) + 0.5f,
+      T(N - n) + static_cast<T>(Lanczos::g()) + 0.5f,
+      T(N - r) + static_cast<T>(Lanczos::g()) + 0.5f,
+      1 / (T(N) + static_cast<T>(Lanczos::g()) + 0.5f),
+      1 / (T(x) + static_cast<T>(Lanczos::g()) + 0.5f),
+      1 / (T(n - x) + static_cast<T>(Lanczos::g()) + 0.5f),
+      1 / (T(r - x) + static_cast<T>(Lanczos::g()) + 0.5f),
+      1 / (T(N - n - r + x) + static_cast<T>(Lanczos::g()) + 0.5f)
    };
    T exponents[9] = {
       n + T(0.5f),
@@ -392,7 +392,7 @@ template <class T, class Policy>
 T hypergeometric_pdf_factorial_imp(unsigned x, unsigned r, unsigned n, unsigned N, const Policy&)
 {
    BOOST_MATH_STD_USING
-   BOOST_ASSERT(N < boost::math::max_factorial<T>::value);
+   BOOST_ASSERT(N <= boost::math::max_factorial<T>::value);
    T result = boost::math::unchecked_factorial<T>(n);
    T num[3] = {
       boost::math::unchecked_factorial<T>(r),