diff --git a/qpms/bessels.h b/qpms/bessels.h index 6c6e8f1..3bf208f 100644 --- a/qpms/bessels.h +++ b/qpms/bessels.h @@ -49,8 +49,7 @@ void hankelparts_fill(complex double *target_longrange, /* Not needed for the ac // this declaration is general; however, the implementation // is so far only for kappa == 5, maxp <= 5, longrange_order_cutoff <= 1 void lrhankel_recpart_fill(complex double *target_longrange_kspace /*Must be of size maxn*(maxn+1)/2*/, - size_t maxp /* Max. degree of transformed spherical Hankel function, - also the max. order of the Hankel transform */, + size_t maxp /* Max. order of the Hankel transform */, size_t longrange_order_cutoff /* terms e**(I x)/x**(k+1), k>= longrange_order_cutoff go completely to the shortrange part index with hankelcoeffs_get(target,p)l[delta_m] */, diff --git a/qpms/lrhankel_recspace_dirty.c b/qpms/lrhankel_recspace_dirty.c index 47d2b9f..22953b5 100644 --- a/qpms/lrhankel_recspace_dirty.c +++ b/qpms/lrhankel_recspace_dirty.c @@ -232,15 +232,14 @@ static const lrhankelspec transfuns_n[MAXKAPPA+1][MAXQM+1][MAXN+1] = { }; void lrhankel_recpart_fill(complex double *target, - size_t maxp /*max. degree of transformed spherical Hankel fun, - also the max. order of the Hankel transform */, + size_t maxp /* max. order of the Hankel transform */, size_t lrk_cutoff, complex double const *const hct, unsigned kappa, double c, double k0, double k) { assert(5 == kappa); // Only kappa == 5 implemented so far assert(maxp <= MAXN); // only n <= 5 implemented so far - assert(lrk_cutoff <= MAXQM); // only q <= 2 implemented so far + assert(lrk_cutoff <= MAXQM + 1); // only q <= 2 implemented so far; TODO shouldn't it be only MAXQM ??? const lrhankelspec (*funarr)[MAXQM+1][MAXN+1] = (k>k0) ? transfuns_f : transfuns_n; memset(target, 0, maxp*(maxp+1)/2*sizeof(complex double)); complex double a[kappa+1], b[kappa+1], d[kappa+1], e[kappa+1], ash[kappa+1];