FLINT3.7.0-dev

_mp_real_exp_sum_bs_powtab, _mp_real_sin_cos_sum_bs_powtab, _mp_real_exp_bs_num_terms

Synopsis#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)source
void _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)source
slong _mp_real_exp_bs_num_terms(flint_bitcnt_t r, slong prec)source

The 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.

Cite this page

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).