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⁡dn = \deg d: no precomputation for n=1n = 1; the matrix method for n≤16n \le 16 and num≥2\mathit{num} \ge 2. For dd with at most four nonzero coefficients below the leading one (where reduction is cheap anyway), the matrix method for n≤32n \le 32 and num≥8\mathit{num} \ge 8 or n≤64n \le 64 and num≥16\mathit{num} \ge 16, and otherwise no precomputation. For other dd, the matrix method for n≤64n \le 64 and num≥4\mathit{num} \ge 4, n≤128n \le 128 and num≥8\mathit{num} \ge 8, n≤192n \le 192 and num≥32\mathit{num} \ge 32, or n≤320n \le 320, num≥64\mathit{num} \ge 64 and moduli below 256; otherwise Shoup's method if num≥8\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-11-02).