FLINT3.7.0-dev

_nmod_geometric_progression_init_fft

Synopsis#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)source

Stores 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.

Cite this page

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).