FLINT3.7.0-dev

fft_small_op_addmul, fft_small_op_submul, fft_small_op_addsqr, fft_small_op_subsqr

Synopsis#include <flint/fft_small.h>
void fft_small_op_addmul(fft_small_op_t Z, const fft_small_op_t A, const fft_small_op_t B, const fft_small_plan_t P)source
void fft_small_op_submul(fft_small_op_t Z, const fft_small_op_t A, const fft_small_op_t B, const fft_small_plan_t P)source
void fft_small_op_addsqr(fft_small_op_t Z, const fft_small_op_t A, const fft_small_plan_t P)source
void fft_small_op_subsqr(fft_small_op_t Z, const fft_small_op_t A, const fft_small_plan_t P)source

Add or subtract the pointwise product AB, respectively A^2, of primal operands to Z, which must be in the product domain. The sqr versions read A once and are preferable to addmul with B = A.

A subtraction is exact only if the exported coefficients stay nonnegative, unless the plan is signed and a signed export is used: the unsigned exports reconstruct values in [0, P), with P the product of the primes.

Guides#

Cite this page

The FLINT team, “fft_small_op_addmul, fft_small_op_submul, fft_small_op_addsqr, fft_small_op_subsqr (fft_small.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/fft_small/fft_small_op_addmul.html (generated 2026-10-20).