FLINT3.7.0-dev

_fq_nmod_poly_compose_mod, fq_nmod_poly_compose_mod

Synopsis#include <flint/fq_nmod_poly.h>
void _fq_nmod_poly_compose_mod(fq_nmod_struct * res, const fq_nmod_struct * f, slong lenf, const fq_nmod_struct * g, const fq_nmod_struct * h, slong lenh, const fq_nmod_ctx_t ctx)
void fq_nmod_poly_compose_mod(fq_nmod_poly_t res, const fq_nmod_poly_t poly1, const fq_nmod_poly_t poly2, const fq_nmod_poly_t poly3, const fq_nmod_ctx_t ctx)

Set res to f(g) mod hf(g) \bmod h for ff = poly1, gg = poly2 and hh = poly3 ≠0\ne 0, choosing between Horner's rule and the Brent–Kung algorithm. The underscore version requires gg reduced modulo hh and zero-padded to length lenh - 1, writes lenh - 1 coefficients and does not allow aliasing.

Generated from the same template as _fq_poly_compose_mod, whose documentation has the details.

Cite this page

The FLINT team, “_fq_nmod_poly_compose_mod, fq_nmod_poly_compose_mod (fq_nmod_poly.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/fq_nmod_poly/_fq_nmod_poly_compose_mod.html (generated 2026-11-02).