_nmod_geometric_progression_init_fft
#include <flint/nmod_poly.h>void _nmod_geometric_progression_init_fft(nmod_geometric_progression_t G, slong ev_len, slong int_len, slong ext_len)sourceStores the fft_small transforms described above for the functionalities of G, with a separate bound, at most G->len, for each: evaluation of polynomials of length at most ev_len, interpolation from at most int_len points, and extrapolation from at most ext_len values. A bound 0 removes the stored transforms of the functionality and a negative bound keeps them unchanged. Smaller bounds give shorter transforms for evaluation (\mathit{ev\_len} + \mathit{len} - 1 instead of 2 \mathit{len} - 1) and interpolation (about 2\,\mathit{int\_len}), and may need fewer primes; the extrapolation transforms have length \mathit{len} - 1 whatever ext_len, which only bounds the number of primes. Longer inputs remain possible without the stored transforms. Must not be called while other threads use G.
The FLINT team, “_nmod_geometric_progression_init_fft (nmod_poly.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/nmod_poly/_nmod_geometric_progression_init_fft.html (generated 2026-10-20).
@misc{flint-doc-nmod-poly-nmod-geometric-progression-init-fft,
author = {{The FLINT team}},
title = {{\_nmod\_geometric\_progression\_init\_fft (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_geometric_progression_init_fft.html},
note = {Generated 2026-10-20}
}