FLINT3.7.0-dev

_nmod_poly_mulmod_precond_init_num, nmod_poly_mulmod_precond_init_num

Synopsis#include <flint/nmod_poly.h>
void _nmod_poly_mulmod_precond_init_num(nmod_poly_mulmod_precond_t precond, nn_srcptr a, slong alen, nn_srcptr d, slong dlen, nn_srcptr dinv, slong lendinv, slong num, nmod_t mod)source
void nmod_poly_mulmod_precond_init_num(nmod_poly_mulmod_precond_t precond, const nmod_poly_t a, const nmod_poly_t d, const nmod_poly_t dinv, slong num)source

Like the init_method functions, but choose the method expected to be fastest for num multiplications.

With n = \deg d: no precomputation for n = 1; the matrix method for n \le 16 and \mathit{num} \ge 2. For d with at most four nonzero coefficients below the leading one (where reduction is cheap anyway), the matrix method for n \le 32 and \mathit{num} \ge 8 or n \le 64 and \mathit{num} \ge 16, and otherwise no precomputation. For other d, the matrix method for n \le 64 and \mathit{num} \ge 4, n \le 128 and \mathit{num} \ge 8, n \le 192 and \mathit{num} \ge 32, or n \le 320, \mathit{num} \ge 64 and moduli below 256; otherwise Shoup's method if \mathit{num} \ge 8, and no precomputation below.

Guides#

Cite this page

The FLINT team, “_nmod_poly_mulmod_precond_init_num, nmod_poly_mulmod_precond_init_num (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_precond_init_num.html (generated 2026-10-20).