FLINT3.7.0-dev

_nmod_poly_mulmod, nmod_poly_mulmod

Synopsis#include <flint/nmod_poly.h>
void _nmod_poly_mulmod(nn_ptr res, nn_srcptr poly1, slong len1, nn_srcptr poly2, slong len2, nn_srcptr f, slong lenf, nmod_t mod)source
void nmod_poly_mulmod(nmod_poly_t res, const nmod_poly_t poly1, const nmod_poly_t poly2, const nmod_poly_t f)source

Set res to \mathit{poly1} \cdot \mathit{poly2} \bmod f, computed as a product followed by _nmod_poly_divrem. The underscore version requires \mathit{len1}, \mathit{len2} \ge 1 and \mathit{len1} + \mathit{len2} - 1 \ge \mathit{lenf} (otherwise there is nothing to reduce; use _nmod_poly_mul), writes \mathit{lenf} - 1 coefficients and does not allow res to overlap f. The non-underscore version accepts inputs of any length and throws FLINT_ERROR for f = 0.

Guides#

Cite this page

The FLINT team, “_nmod_poly_mulmod, nmod_poly_mulmod (nmod_poly.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/nmod_poly/_nmod_poly_mulmod.html (generated 2026-10-20).