diff --git a/arb_hypgeom/ci.c b/arb_hypgeom/ci.c index 522b6fb2..11381e91 100644 --- a/arb_hypgeom/ci.c +++ b/arb_hypgeom/ci.c @@ -9,6 +9,7 @@ (at your option) any later version. See . */ +#include "flint/double_extras.h" #include "arb_hypgeom.h" #define LOG2 0.69314718055994531 diff --git a/arb_hypgeom/erf.c b/arb_hypgeom/erf.c index 2f7ad2a6..15dfd9d8 100644 --- a/arb_hypgeom/erf.c +++ b/arb_hypgeom/erf.c @@ -9,6 +9,7 @@ (at your option) any later version. See . */ +#include "flint/double_extras.h" #include "arb_hypgeom.h" #define LOG2 0.69314718055994530942 diff --git a/arb_hypgeom/gamma_fmpq.c b/arb_hypgeom/gamma_fmpq.c index ee750d0d..2bba139b 100644 --- a/arb_hypgeom/gamma_fmpq.c +++ b/arb_hypgeom/gamma_fmpq.c @@ -9,6 +9,7 @@ (at your option) any later version. See . */ +#include "flint/double_extras.h" #include "arb_hypgeom.h" #include "hypgeom.h" diff --git a/arb_hypgeom/gamma_upper_fmpq_step_bsplit.c b/arb_hypgeom/gamma_upper_fmpq_step_bsplit.c index 1813b1b5..6248302f 100644 --- a/arb_hypgeom/gamma_upper_fmpq_step_bsplit.c +++ b/arb_hypgeom/gamma_upper_fmpq_step_bsplit.c @@ -46,6 +46,9 @@ mag_geom_choose_N(const mag_t M, const mag_t C, const mag_t tol) mag_t t, u; slong N; + if (mag_is_finite(M) && mag_is_zero(C)) + return 1; + /* N = log(M / ((1 - C) tol)) / log(1/C) */ mag_init(t); mag_init(u); diff --git a/arb_hypgeom/si.c b/arb_hypgeom/si.c index fdfd31e7..cf49d3c1 100644 --- a/arb_hypgeom/si.c +++ b/arb_hypgeom/si.c @@ -9,6 +9,7 @@ (at your option) any later version. See . */ +#include "flint/double_extras.h" #include "arb_hypgeom.h" #define LOG2 0.69314718055994531