|
184 | 184 | //
|
185 | 185 | if ((j < cache_size - 2) && (tools::max_value<T>() / fabs(64 * bessel_cache[j] / bessel_cache[j + 1]) < fabs(bessel_cache[j])))
|
186 | 186 | {
|
187 |
| - T rescale = static_cast<T>(pow(fabs(bessel_cache[j] / bessel_cache[j + 1]), j + 1) * 2); |
| 187 | + T rescale = static_cast<T>(pow(fabs(bessel_cache[j] / bessel_cache[j + 1]), T(j + 1)) * 2); |
188 | 188 | if (!((boost::math::isfinite)(rescale)))
|
189 | 189 | rescale = tools::max_value<T>();
|
190 | 190 | for (int k = j; k < cache_size; ++k)
|
|
259 | 259 | //
|
260 | 260 | if ((j < cache_size - 2) && (tools::max_value<T>() / fabs(64 * bessel_cache[j] / bessel_cache[j + 1]) < fabs(bessel_cache[j])))
|
261 | 261 | {
|
262 |
| - T rescale = static_cast<T>(pow(fabs(bessel_cache[j] / bessel_cache[j + 1]), j + 1) * 2); |
| 262 | + T rescale = static_cast<T>(pow(fabs(bessel_cache[j] / bessel_cache[j + 1]), T(j + 1)) * 2); |
263 | 263 | if (!((boost::math::isfinite)(rescale)))
|
264 | 264 | rescale = tools::max_value<T>();
|
265 | 265 | for (int k = j; k < cache_size; ++k)
|
|
558 | 558 | //
|
559 | 559 | if((j < cache_size - 2) && (bessel_i_cache[j + 1] != 0) && (tools::max_value<T>() / fabs(64 * bessel_i_cache[j] / bessel_i_cache[j + 1]) < fabs(bessel_i_cache[j])))
|
560 | 560 | {
|
561 |
| - T rescale = static_cast<T>(pow(fabs(bessel_i_cache[j] / bessel_i_cache[j + 1]), j + 1) * 2); |
| 561 | + T rescale = static_cast<T>(pow(fabs(bessel_i_cache[j] / bessel_i_cache[j + 1]), T(j + 1)) * 2); |
562 | 562 | if (rescale > tools::max_value<T>())
|
563 | 563 | rescale = tools::max_value<T>();
|
564 | 564 | for (int k = j; k < cache_size; ++k)
|
|
591 | 591 | std::uintmax_t max_iter = boost::math::policies::get_max_series_iterations<Policy>();
|
592 | 592 | T result = boost::math::tools::sum_series(s, boost::math::policies::get_epsilon<T, Policy>(), max_iter);
|
593 | 593 | boost::math::policies::check_series_iterations<T>("boost::math::hypergeometric_1F1_AS_13_3_6<%1%>(%1%,%1%,%1%)", max_iter, pol);
|
594 |
| - result *= boost::math::tgamma(b_minus_a - 0.5f, pol) * pow(z / 4, -b_minus_a + 0.5f); |
| 594 | + result *= boost::math::tgamma(b_minus_a - 0.5f, pol) * pow(z / 4, -b_minus_a + T(0.5f)); |
595 | 595 | long long scale = lltrunc(z / 2);
|
596 | 596 | log_scaling += scale;
|
597 | 597 | log_scaling += s.scaling();
|
|
0 commit comments