FLINT3.7.0-dev

_fmpz_vec_get_fft, _fmpz_vec_set_fft

Synopsis#include <flint/fmpz_vec.h>
void _fmpz_vec_get_fft(ulong ** coeffs_f, const fmpz * coeffs_m, slong l, slong length)source
void _fmpz_vec_set_fft(fmpz * coeffs_m, slong length, const nn_ptr * coeffs_f, slong limbs, slong sign)source

Convert between a vector of integers and the coefficient arrays of the Schönhage–Strassen FFT of the fft module, used by fmpz_poly_mul_SS. _fmpz_vec_get_fft writes each of the length entries to coeffs_f[i] as l limbs plus one limb for overflow, negative values in two's complement over the l + 1 limbs (the entries must fit in l limbs). The conversion is done in parallel when threads are available. _fmpz_vec_set_fft converts fully reduced residues of limbs limbs back, to the range [-N, N] with N = 2^{\mathtt{FLINT\_BITS} \cdot \mathit{limbs} - 1} if sign is nonzero and to [0, 2N] otherwise.

Guides#

Cite this page

The FLINT team, “_fmpz_vec_get_fft, _fmpz_vec_set_fft (fmpz_vec.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/fmpz_vec/_fmpz_vec_get_fft.html (generated 2026-10-20).