]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/boost/boost/math/special_functions/detail/hypergeometric_1F1_small_a_negative_b_by_ratio.hpp
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / boost / boost / math / special_functions / detail / hypergeometric_1F1_small_a_negative_b_by_ratio.hpp
index 7c717138ccb0e0d2edc24d264ba3438a648607a3..4414a75d864f29dae6b2737fbbf9e9679f0bddfe 100644 (file)
@@ -18,7 +18,7 @@
      inline T hypergeometric_1F1_imp(const T& a, const T& b, const T& z, const Policy& pol);
 
      template <class T, class Policy>
-     inline T hypergeometric_1F1_imp(const T& a, const T& b, const T& z, const Policy& pol, int& log_scaling);
+     inline T hypergeometric_1F1_imp(const T& a, const T& b, const T& z, const Policy& pol, long long& log_scaling);
 
       template <class T>
       T max_b_for_1F1_small_a_negative_b_by_ratio(const T& z)
@@ -39,7 +39,7 @@
       }
 
       template <class T, class Policy>
-      T hypergeometric_1F1_small_a_negative_b_by_ratio(const T& a, const T& b, const T& z, const Policy& pol, int& log_scaling)
+      T hypergeometric_1F1_small_a_negative_b_by_ratio(const T& a, const T& b, const T& z, const Policy& pol, long long& log_scaling)
       {
          BOOST_MATH_STD_USING
          //
          // then recurse until b > 0, compute a reference value and normalize (Millers method).
          //
          int iterations = itrunc(-b, pol);
-         boost::uintmax_t max_iter = boost::math::policies::get_max_series_iterations<Policy>();
+         std::uintmax_t max_iter = boost::math::policies::get_max_series_iterations<Policy>();
          T ratio = boost::math::tools::function_ratio_from_forwards_recurrence(boost::math::detail::hypergeometric_1F1_recurrence_b_coefficients<T>(a, b, z), boost::math::tools::epsilon<T>(), max_iter);
          boost::math::policies::check_series_iterations<T>("boost::math::hypergeometric_1F1_small_a_negative_b_by_ratio<%1%>(%1%,%1%,%1%)", max_iter, pol);
          T first = 1;
          T second = 1 / ratio;
-         int scaling1 = 0;
-         BOOST_ASSERT(b + iterations != a);
+         long long scaling1 = 0;
+         BOOST_MATH_ASSERT(b + iterations != a);
          second = boost::math::tools::apply_recurrence_relation_forward(boost::math::detail::hypergeometric_1F1_recurrence_b_coefficients<T>(a, b + 1, z), iterations, first, second, &scaling1);
-         int scaling2 = 0;
+         long long scaling2 = 0;
          first = hypergeometric_1F1_imp(a, T(b + iterations + 1), z, pol, scaling2);
          //
          // Result is now first/second * e^(scaling2 - scaling1)