This commit is contained in:
fredrik 2021-12-09 16:49:03 +01:00
parent cf768614ca
commit 555bc0403e
3 changed files with 6 additions and 4 deletions

View file

@ -340,11 +340,11 @@ arb_hypgeom_1f1_integration(arb_t res, const arb_t a, const arb_t b, const arb_t
arb_init(t);
ok = arb_is_finite(z);
arb_sub_ui(t, b, 1, prec);
ok = ok && arb_is_positive(t);
arb_sub_ui(t, a, 1, prec);
ok = ok && arb_is_nonnegative(t);
arb_sub(t, b, a, prec);
arb_sub_ui(t, t, 1, prec);
ok = ok && arb_is_positive(t);
ok = ok && arb_is_nonnegative(t);
if (!ok)
{

View file

@ -166,7 +166,7 @@ Confluent hypergeometric functions
is used.
This algorithm can be useful if the parameters are large. This will currently
only return a finite enclosure if `b > 1` and `b - a > 1`.
only return a finite enclosure if `a \ge 1` and `b - a \ge 1`.
.. function:: void arb_hypgeom_u(arb_t res, const arb_t a, const arb_t b, const arb_t z, slong prec)

View file

@ -162,6 +162,8 @@ DOUBLE_INTERVAL_INLINE
di_t di_fast_mid(di_t x)
{
di_t a, b;
if (x.a == -D_INF || x.b == D_INF)
return di_interval(-D_INF, D_INF);
a = di_interval(x.a, x.a);
b = di_interval(x.b, x.b);
return di_fast_mul_d(di_fast_add(a, b), 0.5);