mirror of
https://github.com/vale981/arb
synced 2025-03-05 09:21:38 -05:00
fix (hopefully) spurious test failures for gamma_fmpq
This commit is contained in:
parent
928a2ec61a
commit
450435a84a
1 changed files with 8 additions and 8 deletions
|
@ -529,22 +529,22 @@ arb_hypgeom_gamma_fmpq_outward(arb_t y, const fmpq_t x, slong prec)
|
||||||
|
|
||||||
if (q == 1 || q == 2 || q == 3 || q == 4 || q == 6)
|
if (q == 1 || q == 2 || q == 3 || q == 4 || q == 6)
|
||||||
{
|
{
|
||||||
arb_hypgeom_gamma_small_frac(t, p, q, prec);
|
arb_hypgeom_gamma_small_frac(t, p, q, prec + 4 * (m != 0));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
arb_hypgeom_gamma_fmpq_hyp(t, a, prec);
|
arb_hypgeom_gamma_fmpq_hyp(t, a, prec + 4 * (m != 0));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* argument reduction */
|
/* argument reduction */
|
||||||
if (m >= 0)
|
if (m >= 0)
|
||||||
{
|
{
|
||||||
arb_rising_fmpq_ui(u, a, m, prec);
|
arb_rising_fmpq_ui(u, a, m, prec + 4);
|
||||||
arb_mul(y, t, u, prec);
|
arb_mul(y, t, u, prec);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
arb_rising_fmpq_ui(u, x, -m, prec);
|
arb_rising_fmpq_ui(u, x, -m, prec + 4);
|
||||||
arb_div(y, t, u, prec);
|
arb_div(y, t, u, prec);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -602,7 +602,7 @@ arb_hypgeom_gamma_fmpq_taylor(arb_t y, const fmpq_t x, slong prec)
|
||||||
}
|
}
|
||||||
|
|
||||||
arb_set_fmpq(t, a, prec + 4);
|
arb_set_fmpq(t, a, prec + 4);
|
||||||
success = arb_hypgeom_gamma_taylor(t, t, 0, prec);
|
success = arb_hypgeom_gamma_taylor(t, t, 0, prec + 4);
|
||||||
|
|
||||||
if (success)
|
if (success)
|
||||||
{
|
{
|
||||||
|
@ -611,12 +611,12 @@ arb_hypgeom_gamma_fmpq_taylor(arb_t y, const fmpq_t x, slong prec)
|
||||||
|
|
||||||
if (m >= 0)
|
if (m >= 0)
|
||||||
{
|
{
|
||||||
arb_rising_fmpq_ui(u, a, m, prec);
|
arb_rising_fmpq_ui(u, a, m, prec + 4);
|
||||||
arb_mul(y, t, u, prec);
|
arb_mul(y, t, u, prec);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
arb_rising_fmpq_ui(u, x, -m, prec);
|
arb_rising_fmpq_ui(u, x, -m, prec + 4);
|
||||||
arb_div(y, t, u, prec);
|
arb_div(y, t, u, prec);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -684,7 +684,7 @@ arb_hypgeom_gamma_fmpq(arb_t y, const fmpq_t x, slong prec)
|
||||||
wp = (slong) fmpz_bits(fmpq_numref(x)) - (slong) fmpz_bits(fmpq_denref(x));
|
wp = (slong) fmpz_bits(fmpq_numref(x)) - (slong) fmpz_bits(fmpq_denref(x));
|
||||||
wp = FLINT_MAX(wp, 0);
|
wp = FLINT_MAX(wp, 0);
|
||||||
wp = FLINT_MIN(wp, 4 * prec);
|
wp = FLINT_MIN(wp, 4 * prec);
|
||||||
wp += prec;
|
wp += prec + 4;
|
||||||
|
|
||||||
arb_set_fmpq(y, x, wp);
|
arb_set_fmpq(y, x, wp);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue