flint_mpn_mulmid_n
Synopsis
#include <flint/mpn_extras.h>void flint_mpn_mulmid_n(mp_ptr rp, mp_srcptr ap, mp_srcptr bp, mp_size_t n)sourceBalanced middle product of (\mathit{ap}, 2n - 1) and (\mathit{bp}, n): writes the n + 2 limbs of \sum_{n-1 \le i + j \le 2n - 2} a_i b_j B^{i+j-n+1}, that is, the diagonals n - 1 to 2n - 2 of the product. Compared with the corresponding limbs of the full product only the carry from the lower diagonals is missing, so the low two limbs serve as guard limbs. This is GMP's internal mpn_mulmid_n, and is only declared if FLINT_HAVE_NATIVE_mpn_mulmid_n is set (when the build may call GMP internals and GMP exports the symbol).
Cite this page
The FLINT team, “flint_mpn_mulmid_n (mpn_extras.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/mpn_extras/flint_mpn_mulmid_n.html (generated 2026-10-20).
@misc{flint-doc-mpn-extras-flint-mpn-mulmid-n,
author = {{The FLINT team}},
title = {{flint\_mpn\_mulmid\_n (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_mulmid_n.html},
note = {Generated 2026-10-20}
}