_fq_poly_powmod_x_fmpz_preinv, fq_poly_powmod_x_fmpz_preinv
Synopsis
#include <flint/fq_poly.h>void _fq_poly_powmod_x_fmpz_preinv(fq_struct * res, const fmpz_t e, const fq_struct * f, slong lenf, const fq_struct * finv, slong lenfinv, const fq_ctx_t ctx)void fq_poly_powmod_x_fmpz_preinv(fq_poly_t res, const fmpz_t e, const fq_poly_t f, const fq_poly_t finv, const fq_ctx_t ctx)Set res to x^e \bmod f, using sliding window exponentiation, in which multiplications by x are shifts. The underscore version requires e > 0, lenf > 2 and space for lenf - 1 coefficients. This is the first step of distinct-degree factorisation and irreducibility testing, with e = q.
Cite this page
The FLINT team, “_fq_poly_powmod_x_fmpz_preinv, fq_poly_powmod_x_fmpz_preinv (fq_poly.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/fq_poly/_fq_poly_powmod_x_fmpz_preinv.html (generated 2026-10-20).
@misc{flint-doc-fq-poly-fq-poly-powmod-x-fmpz-preinv,
author = {{The FLINT team}},
title = {{\_fq\_poly\_powmod\_x\_fmpz\_preinv, fq\_poly\_powmod\_x\_fmpz\_preinv (fq\_poly.h)}},
howpublished = {FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev},
year = {2026},
url = {https://flintlib.org/doc/fq_poly/_fq_poly_powmod_x_fmpz_preinv.html},
note = {Generated 2026-10-20}
}