mirror of
https://github.com/vale981/arb
synced 2025-03-05 09:21:38 -05:00
remove two obsolete helper functions
This commit is contained in:
parent
0214f750d7
commit
e3f7ef1f66
1 changed files with 0 additions and 76 deletions
|
@ -27,82 +27,6 @@
|
|||
#include "double_extras.h"
|
||||
#include "hypgeom.h"
|
||||
|
||||
void
|
||||
fmpr_gamma_ui_lbound(fmpr_t x, ulong n, long prec)
|
||||
{
|
||||
if (n == 0) abort();
|
||||
|
||||
if (n < 250)
|
||||
{
|
||||
fmpz_t t;
|
||||
fmpz_init(t);
|
||||
fmpz_fac_ui(t, n - 1);
|
||||
fmpr_set_round_fmpz(x, t, prec, FMPR_RND_DOWN);
|
||||
fmpz_clear(t);
|
||||
}
|
||||
else
|
||||
{
|
||||
/* (2 pi/x)^(1/2) * (x/e)^x < Gamma(x) */
|
||||
fmpr_t t, u;
|
||||
|
||||
fmpr_init(t);
|
||||
fmpr_init(u);
|
||||
|
||||
/* lower bound for 2 pi */
|
||||
fmpr_set_ui_2exp_si(t, 843314855, -27);
|
||||
fmpr_div_ui(t, t, n, prec, FMPR_RND_DOWN);
|
||||
fmpr_sqrt(t, t, prec, FMPR_RND_DOWN);
|
||||
|
||||
/* lower bound for 1/e */
|
||||
fmpr_set_ui_2exp_si(u, 197503771, -29);
|
||||
fmpr_mul_ui(u, u, n, prec, FMPR_RND_DOWN);
|
||||
|
||||
fmpr_pow_sloppy_ui(u, u, n, prec, FMPR_RND_DOWN);
|
||||
|
||||
fmpr_mul(x, t, u, prec, FMPR_RND_DOWN);
|
||||
|
||||
fmpr_clear(t);
|
||||
fmpr_clear(u);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
fmpr_gamma_ui_ubound(fmpr_t x, ulong n, long prec)
|
||||
{
|
||||
if (n == 0) abort();
|
||||
|
||||
if (n < 250)
|
||||
{
|
||||
fmpz_t t;
|
||||
fmpz_init(t);
|
||||
fmpz_fac_ui(t, n - 1);
|
||||
fmpr_set_round_fmpz(x, t, prec, FMPR_RND_UP);
|
||||
fmpz_clear(t);
|
||||
}
|
||||
else
|
||||
{
|
||||
fmpr_t t, u;
|
||||
fmpr_init(t);
|
||||
|
||||
/* Gamma(x) < e * (x / e)^x -- TODO: use a tighter bound */
|
||||
|
||||
fmpr_init(t);
|
||||
fmpr_init(u);
|
||||
|
||||
/* upper bound for 1/e */
|
||||
fmpr_set_ui_2exp_si(u, 197503773, -29);
|
||||
fmpr_mul_ui(u, u, n, prec, FMPR_RND_UP);
|
||||
fmpr_pow_sloppy_ui(u, u, n, prec, FMPR_RND_UP);
|
||||
|
||||
/* upper bound for e */
|
||||
fmpr_set_ui_2exp_si(t, 364841613, -27);
|
||||
fmpr_mul(x, t, u, prec, FMPR_RND_UP);
|
||||
|
||||
fmpr_clear(t);
|
||||
fmpr_clear(u);
|
||||
}
|
||||
}
|
||||
|
||||
long
|
||||
hypgeom_root_bound(const mag_t z, int r)
|
||||
{
|
||||
|
|
Loading…
Add table
Reference in a new issue