FLINT3.7.0-dev

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

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