_mp_real_exp_sum_bs_powtab, _mp_real_sin_cos_sum_bs_powtab, _mp_real_exp_bs_num_terms
#include <flint/mp_real.h>void _mp_real_exp_sum_bs_powtab(nn_ptr T, slong * tn, nn_ptr Q, slong * qn, slong * QE, nn_srcptr xp, slong xn, slong D, slong N)sourcevoid _mp_real_sin_cos_sum_bs_powtab(nn_ptr A, slong * an, slong * ae, nn_ptr B, slong * bn, slong * be, nn_ptr Q, slong * qn, slong * QE, nn_srcptr xp, slong xn, slong D, slong N, slong lmax)sourceslong _mp_real_exp_bs_num_terms(flint_bitcnt_t r, slong prec)sourceThe exact binary splittings of the bit-burst steps. The first computes T/(Q B^{QE}) = \sum_{k=1}^N x^k/(k!\,B^{Dk}) for the integer x given by (x_p, x_n), x_n \le D; the second the sine and 1 - \cos of x B^{-D} over one common denominator, 1 - \cos = A B^{ae}/(Q B^{QE}) and \sin = x B^{-D}(Q B^{QE} - B B^{be})/(Q B^{QE}), with A and B truncated to lmax limbs. The third returns the number of terms for a reduced argument below 2^{-r} and prec bits.
Both splittings use a table of the powers x^{s} (resp. (x^2)^s) for the split steps s of the fixed-midpoint recursion, and compute the fft_small transform of each table entry used by at least two merges once per tree (_mp_real_powtab_pre_init). The output buffers must have room as stated in exp_sum_bs.c and sin_cos_sum_bs.c.
The FLINT team, “_mp_real_exp_sum_bs_powtab, _mp_real_sin_cos_sum_bs_powtab, _mp_real_exp_bs_num_terms (mp_real.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/mp_real/_mp_real_exp_sum_bs_powtab.html (generated 2026-10-20).
@misc{flint-doc-mp-real-mp-real-exp-sum-bs-powtab,
author = {{The FLINT team}},
title = {{\_mp\_real\_exp\_sum\_bs\_powtab, \_mp\_real\_sin\_cos\_sum\_bs\_powtab, \_mp\_real\_exp\_bs\_num\_terms (mp\_real.h)}},
howpublished = {FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev},
year = {2026},
url = {https://flintlib.org/doc/mp_real/_mp_real_exp_sum_bs_powtab.html},
note = {Generated 2026-10-20}
}