_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)sourcevoid nmod_poly_mulmod(nmod_poly_t res, const nmod_poly_t poly1, const nmod_poly_t poly2, const nmod_poly_t f)sourceSet 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).
@misc{flint-doc-nmod-poly-nmod-poly-mulmod,
author = {{The FLINT team}},
title = {{\_nmod\_poly\_mulmod, nmod\_poly\_mulmod (nmod\_poly.h)}},
howpublished = {FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev},
year = {2026},
url = {https://flintlib.org/doc/nmod_poly/_nmod_poly_mulmod.html},
note = {Generated 2026-10-20}
}