Skip to content

Commit

Permalink
Remove nb argument in sum_work
Browse files Browse the repository at this point in the history
  • Loading branch information
j-kieffer committed Feb 11, 2025
1 parent cf6a767 commit 55dbb6e
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 18 deletions.
4 changes: 2 additions & 2 deletions src/acb_theta.h
Original file line number Diff line number Diff line change
Expand Up @@ -153,8 +153,8 @@ int acb_theta_ctx_z_overlaps(const acb_theta_ctx_z_t ctx1, const acb_theta_ctx_z

/* Summation algorithms */

void acb_theta_sum_work(acb_ptr th, slong len, acb_srcptr exp_zs, acb_srcptr exp_zs_inv,
slong nb, const acb_mat_t exp_tau, const acb_mat_t exp_tau_inv, const acb_theta_eld_t E,
void acb_theta_sum_work(acb_ptr th, slong len, acb_srcptr exp_z, acb_srcptr exp_z_inv,
const acb_mat_t exp_tau, const acb_mat_t exp_tau_inv, const acb_theta_eld_t E,
slong ord, slong prec, acb_theta_sum_worker_t worker);
void acb_theta_sum(acb_ptr th, const acb_theta_ctx_z_struct * vec, slong nb,
const acb_theta_ctx_tau_t ctx_tau, arb_srcptr distances, int all_a,
Expand Down
2 changes: 1 addition & 1 deletion src/acb_theta/sum.c
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ acb_theta_sum_0x(acb_ptr th, const acb_theta_ctx_z_struct * vec, slong nb,
for (j = 0; j < nb; j++)
{
acb_theta_sum_work(th + j * n, n, (&vec[j])->exp_2z,
(&vec[j])->exp_2z_inv, 1, ctx_tau->exp_tau,
(&vec[j])->exp_2z_inv, ctx_tau->exp_tau,
ctx_tau->exp_tau_inv, E, 0, prec,
(all_b ? acb_theta_sum_0b_worker : acb_theta_sum_00_worker));
arb_mul_arf(err, &(&vec[j])->u, eps, guard);
Expand Down
4 changes: 2 additions & 2 deletions src/acb_theta/sum_jet.c
Original file line number Diff line number Diff line change
Expand Up @@ -429,15 +429,15 @@ acb_theta_sum_jet(acb_ptr th, const acb_theta_ctx_z_struct * vec, slong nb,
if (all_a)
{
acb_theta_sum_work(th + j * nbth * nbjet, nbth * nbjet,
(&vec[j])->exp_z, (&vec[j])->exp_z_inv, 1,
(&vec[j])->exp_z, (&vec[j])->exp_z_inv,
ctx_tau->exp_tau_div_4, ctx_tau->exp_tau_div_4_inv, E,
ord, prec,
(all_b ? acb_theta_sum_jet_all_worker : acb_theta_sum_jet_a0_worker));
}
else
{
acb_theta_sum_work(th + j * nbth * nbjet, nbth * nbjet,
(&vec[j])->exp_2z,(&vec[j])->exp_2z_inv, 1,
(&vec[j])->exp_2z,(&vec[j])->exp_2z_inv,
ctx_tau->exp_tau, ctx_tau->exp_tau_inv, E,
ord, prec,
(all_b ? acb_theta_sum_jet_0b_worker : acb_theta_sum_jet_00_worker));
Expand Down
24 changes: 11 additions & 13 deletions src/acb_theta/sum_work.c
Original file line number Diff line number Diff line change
Expand Up @@ -283,8 +283,8 @@ acb_theta_sum_sqr_pow(acb_ptr * sqr_pow, const acb_mat_t exp_tau, const acb_thet
/* Main function */

void
acb_theta_sum_work(acb_ptr th, slong len, acb_srcptr exp_zs, acb_srcptr exp_zs_inv,
slong nb, const acb_mat_t exp_tau, const acb_mat_t exp_tau_inv, const acb_theta_eld_t E,
acb_theta_sum_work(acb_ptr th, slong len, acb_srcptr exp_z, acb_srcptr exp_z_inv,
const acb_mat_t exp_tau, const acb_mat_t exp_tau_inv, const acb_theta_eld_t E,
slong ord, slong prec, acb_theta_sum_worker_t worker)
{
slong g = E->ambient_dim;
Expand Down Expand Up @@ -312,23 +312,21 @@ acb_theta_sum_work(acb_ptr th, slong len, acb_srcptr exp_zs, acb_srcptr exp_zs_i
}
v1 = _acb_vec_init(width);
v2 = _acb_vec_init(width);
res = _acb_vec_init(len * nb);
res = _acb_vec_init(len);
acb_init(cf);
precs = flint_malloc(width * sizeof(slong));

acb_theta_sum_sqr_pow(sqr_pow, exp_tau, E, fullprec);
acb_one(cf);

for (j = 0; j < nb; j++)
{
acb_mat_set(lin_pow, exp_tau);
acb_mat_set(lin_pow_inv, exp_tau_inv);
acb_mat_set(lin_pow, exp_tau);
acb_mat_set(lin_pow_inv, exp_tau_inv);

acb_theta_sum_work_rec(res + j * len, v1, v2, precs, lin_pow, lin_pow_inv,
cf, exp_zs + j * g, exp_zs_inv + j * g, exp_tau, exp_tau_inv, sqr_pow, E, ord,
fullprec, fullprec, worker);
}
_acb_vec_set(th, res, len * nb);
acb_theta_sum_work_rec(res, v1, v2, precs, lin_pow, lin_pow_inv,
cf, exp_z, exp_z_inv, exp_tau, exp_tau_inv, sqr_pow, E, ord,
fullprec, fullprec, worker);

_acb_vec_set(th, res, len);

acb_mat_clear(lin_pow);
acb_mat_clear(lin_pow_inv);
Expand All @@ -339,7 +337,7 @@ acb_theta_sum_work(acb_ptr th, slong len, acb_srcptr exp_zs, acb_srcptr exp_zs_i
flint_free(sqr_pow);
_acb_vec_clear(v1, width);
_acb_vec_clear(v2, width);
_acb_vec_clear(res, len * nb);
_acb_vec_clear(res, len);
acb_clear(cf);
flint_free(precs);
}

0 comments on commit 55dbb6e

Please sign in to comment.