FLINT3.7.0-dev

FLINT_MPN_POLY_MUL_UNSIGNED, FLINT_MPN_POLY_MUL_SIGNED, FLINT_MPN_POLY_MUL_SIGNMAG, FLINT_MPN_POLY_MUL_BIAS

Synopsis#include <flint/mpn_extras.h>
FLINT_MPN_POLY_MUL_UNSIGNEDsource
FLINT_MPN_POLY_MUL_SIGNEDsource
FLINT_MPN_POLY_MUL_SIGNMAGsource
FLINT_MPN_POLY_MUL_BIASsource

The representations of packed coefficients accepted by _flint_mpn_poly_mulmid (values 0 to 3): nonnegative integers (zero-extended); two's complement integers; sign-magnitude, a sign limb followed by the magnitude (classical algorithm only); and biased, x + 2^b where b is the bit bound of the operand, which the multiplication treats as unsigned, leaving it to the caller to correct the outputs using sliding window sums of the inputs. The bias correction costs O(\mathit{slimbs}) per output coefficient but nothing per term, so it wins for long dot products and with Karatsuba.

Cite this page

The FLINT team, “FLINT_MPN_POLY_MUL_UNSIGNED, FLINT_MPN_POLY_MUL_SIGNED, FLINT_MPN_POLY_MUL_SIGNMAG, FLINT_MPN_POLY_MUL_BIAS (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_MUL_UNSIGNED.html (generated 2026-10-20).