From e2ad86f8db19fb89ddba10b7f8a7e61d4100e339 Mon Sep 17 00:00:00 2001 From: p15-git-acc <37548430+p15-git-acc@users.noreply.github.com> Date: Sun, 27 Sep 2020 20:35:14 -0500 Subject: [PATCH] commit before trying to rebase --- acb_dirichlet/platt_hardy_z_zeros.c | 35 +++++++++++++++++--------- acb_dirichlet/platt_zeta_zeros.c | 39 +++++++++++++++++++++++++++++ acb_dirichlet/zeta_zeros.c | 2 +- 3 files changed, 63 insertions(+), 13 deletions(-) create mode 100644 acb_dirichlet/platt_zeta_zeros.c diff --git a/acb_dirichlet/platt_hardy_z_zeros.c b/acb_dirichlet/platt_hardy_z_zeros.c index 781450a2..f07c2b5c 100644 --- a/acb_dirichlet/platt_hardy_z_zeros.c +++ b/acb_dirichlet/platt_hardy_z_zeros.c @@ -15,18 +15,29 @@ slong acb_dirichlet_platt_hardy_z_zeros( arb_ptr res, const fmpz_t n, slong len, slong prec) { - slong r, s=0; - fmpz_t k; - fmpz_init(k); - fmpz_set(k, n); - while (len - s) + if (len <= 0) { - r = acb_dirichlet_platt_local_hardy_z_zeros(res + s, k, len - s, prec); - flint_printf("r = %ld\n", r); - if (!r) - break; - s += r; - fmpz_add_si(k, k, r); + return 0; } - return s; + else if (fmpz_sgn(n) < 1) + { + flint_printf("nonpositive indices of zeta zeros are not supported\n"); + flint_abort(); + } + else + { + slong r, s; + fmpz_t k; + fmpz_init(k); + fmpz_set(k, n); + for (s = 0; len - s > 0; s += r) + { + r = acb_dirichlet_platt_local_hardy_z_zeros(res + s, k, len - s, prec); + if (!r) + break; + fmpz_add_si(k, k, r); + } + return s; + } + return 0; } diff --git a/acb_dirichlet/platt_zeta_zeros.c b/acb_dirichlet/platt_zeta_zeros.c new file mode 100644 index 00000000..75728e72 --- /dev/null +++ b/acb_dirichlet/platt_zeta_zeros.c @@ -0,0 +1,39 @@ +/* + Copyright (C) 2020 D.H.J. Polymath + + This file is part of Arb. + + Arb is free software: you can redistribute it and/or modify it under + the terms of the GNU Lesser General Public License (LGPL) as published + by the Free Software Foundation; either version 2.1 of the License, or + (at your option) any later version. See . +*/ + +#include "acb_dirichlet.h" + +void +acb_dirichlet_platt_zeta_zeros(acb_ptr res, const fmpz_t n, slong len, slong prec) +{ + if (len <= 0) + { + return; + } + else if (fmpz_sgn(n) < 1) + { + flint_printf("nonpositive indices of zeta zeros are not supported\n"); + flint_abort(); + } + else + { + slong i; + arb_ptr p; + p = _arb_vec_init(len); + acb_dirichlet_platt_hardy_z_zeros(p, n, len, prec); + for (i = 0; i < len; i++) + { + acb_set_d(res + i, 0.5); + arb_set(acb_imagref(res + i), p + i); + } + _arb_vec_clear(p, len); + } +} diff --git a/acb_dirichlet/zeta_zeros.c b/acb_dirichlet/zeta_zeros.c index a1bbb6e7..963b3146 100644 --- a/acb_dirichlet/zeta_zeros.c +++ b/acb_dirichlet/zeta_zeros.c @@ -21,7 +21,7 @@ acb_dirichlet_zeta_zeros(acb_ptr res, const fmpz_t n, slong len, slong prec) } else if (fmpz_sgn(n) < 1) { - flint_printf("nonpositive indices of zeros are not supported\n"); + flint_printf("nonpositive indices of zeta zeros are not supported\n"); flint_abort(); } else