flint_mpn_dot_strided_tab, flint_mpn_dot_tab, flint_mpn_dot_rev_tab
#include <flint/mpn_extras.h>const flint_mpn_dot_strided_func_t flint_mpn_dot_strided_tabconst flint_mpn_dot_func_t flint_mpn_dot_tabconst flint_mpn_dot_func_t flint_mpn_dot_rev_tabTables of dot product kernels. The kernel at index [sgn][n1][n2][s - (n1 + n2 - 1)] sets to , where the have limbs and the have limbs, unsigned for sgn = 0 and two's complement for sgn = 1, for and . Entries are NULL where no kernel exists (in particular for ).
The table dimensions are [2][FLINT_MPN_DOT_TAB_N + 1][FLINT_MPN_DOT_TAB_N + 1][3] for the strided kernels and [2][FLINT_MPN_DOT_DEDICATED_TAB_N + 1][FLINT_MPN_DOT_DEDICATED_TAB_N + 1][3] for the others, with FLINT_MPN_DOT_TAB_N = 4 and FLINT_MPN_DOT_DEDICATED_TAB_N = 2. In flint_mpn_dot_tab the entries are contiguous, , ; in flint_mpn_dot_rev_tab the second array is read backwards, being the entry ; in the strided kernels the entries are astride and bstride limbs apart (the strides may be negative). The kernels (static functions such as _flint_mpn_dot_2x2_5) are generated by dev/gen_mpn_dot_rev.py.
The FLINT team, “flint_mpn_dot_strided_tab, flint_mpn_dot_tab, flint_mpn_dot_rev_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_dot_strided_tab.html (generated 2026-11-02).
@misc{flint-doc-mpn-extras-flint-mpn-dot-strided-tab,
author = {{The FLINT team}},
title = {{flint\_mpn\_dot\_strided\_tab, flint\_mpn\_dot\_tab, flint\_mpn\_dot\_rev\_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_dot_strided_tab.html},
note = {Generated 2026-11-02}
}