FLINT3.7.0-dev

_flint_mpn_mullow_n, flint_mpn_mullow_basecase, _flint_mpn_mullow_n_mulders, _flint_mpn_mullow_n_mul, _flint_mpn_mullow_n_mulders_recursive

Synopsis#include <flint/mpn_extras.h>
mp_limb_t _flint_mpn_mullow_n(mp_ptr res, mp_srcptr u, mp_srcptr v, mp_size_t n)source
mp_limb_t flint_mpn_mullow_basecase(mp_ptr res, mp_srcptr u, mp_srcptr v, mp_size_t n)source
mp_limb_t _flint_mpn_mullow_n_mulders(mp_ptr res, mp_srcptr u, mp_srcptr v, mp_size_t n)source
mp_limb_t _flint_mpn_mullow_n_mul(mp_ptr res, mp_srcptr u, mp_srcptr v, mp_size_t n)source
void _flint_mpn_mullow_n_mulders_recursive(mp_ptr rp, mp_srcptr np, mp_srcptr mp, mp_size_t n)source

The algorithms behind flint_mpn_mullow_n: dispatcher, quadratic basecase (up to FLINT_MPN_MULLOW_MULDERS_CUTOFF, 50 limbs; an assembly routine on x86-64 with ADX), Mulders' recursive short product (up to FLINT_MPN_MULHIGH_FFT_SMALL_CUTOFF or FLINT_MPN_MULHIGH_MUL_CUTOFF), and a full product (or an fft_small middle product). The low product is exact in every case, and so is the returned limb n. _flint_mpn_mullow_n_mulders_recursive writes the n low limbs only and uses rp beyond them as scratch space (it needs room for 2n limbs).

Cite this page

The FLINT team, “_flint_mpn_mullow_n, flint_mpn_mullow_basecase, _flint_mpn_mullow_n_mulders, _flint_mpn_mullow_n_mul, _flint_mpn_mullow_n_mulders_recursive (mpn_extras.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/mpn_extras/_flint_mpn_mullow_n.html (generated 2026-10-20).