flint_mpn_poly_mulmid_tab, flint_mpn_poly_sqrmid_tab, flint_mpn_poly_mulmid_short_tab, flint_mpn_poly_sqrmid_short_tab, flint_mpn_poly_mulmid_signmag_tab, flint_mpn_poly_sqrmid_signmag_tab
#include <flint/mpn_extras.h>const flint_mpn_poly_mulmid_func_t flint_mpn_poly_mulmid_tabconst flint_mpn_poly_sqrmid_func_t flint_mpn_poly_sqrmid_tabconst flint_mpn_poly_mulmid_func_t flint_mpn_poly_mulmid_short_tabconst flint_mpn_poly_sqrmid_func_t flint_mpn_poly_sqrmid_short_tabconst flint_mpn_poly_mulmid_func_t flint_mpn_poly_mulmid_signmag_tabconst flint_mpn_poly_sqrmid_func_t flint_mpn_poly_sqrmid_signmag_tabInstances of _flint_mpn_poly_mulmid_classical (and of squaring) for fixed coefficient sizes, indexed like the dot product tables (the sign-magnitude tables have no sign index). The coefficient loop and the dot product code are fused, so that no function call is made per term or per coefficient; in the squaring kernels the doubling of the cross terms and the addition of the square term are done in registers.
The plain tables (dimensions [2][4][4][3]) cover n_1 \le 3. The short tables (dimensions [2][5][5][3]) cover n_1 = 4 with s \le 8. The sign-magnitude tables ([5][5][3]) take coefficients with a sign limb. The kernels are static and generated by dev/gen_mpn_dot_rev.py.
The FLINT team, “flint_mpn_poly_mulmid_tab, flint_mpn_poly_sqrmid_tab, flint_mpn_poly_mulmid_short_tab, flint_mpn_poly_sqrmid_short_tab, flint_mpn_poly_mulmid_signmag_tab, flint_mpn_poly_sqrmid_signmag_tab (mpn_extras.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/mpn_extras/flint_mpn_poly_mulmid_tab.html (generated 2026-10-20).
@misc{flint-doc-mpn-extras-flint-mpn-poly-mulmid-tab,
author = {{The FLINT team}},
title = {{flint\_mpn\_poly\_mulmid\_tab, flint\_mpn\_poly\_sqrmid\_tab, flint\_mpn\_poly\_mulmid\_short\_tab, flint\_mpn\_poly\_sqrmid\_short\_tab, flint\_mpn\_poly\_mulmid\_signmag\_tab, flint\_mpn\_poly\_sqrmid\_signmag\_tab (mpn\_extras.h)}},
howpublished = {FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev},
year = {2026},
url = {https://flintlib.org/doc/mpn_extras/flint_mpn_poly_mulmid_tab.html},
note = {Generated 2026-10-20}
}