FLINT3.7.0-dev

_n_fq_mul2, _n_fq_madd2, _n_fq_reduce, _n_fq_reduce2

Synopsis#include <flint/n_poly.h>
void _n_fq_mul2(ulong * t, const ulong * b, const ulong * c, const fq_nmod_ctx_t ctx)source
void _n_fq_madd2(ulong * a, const ulong * b, const ulong * c, const fq_nmod_ctx_t ctx, ulong * t)source
void _n_fq_reduce(ulong * a, ulong * b, slong blen, const fq_nmod_ctx_t ctx, ulong * t)source
void _n_fq_reduce2(ulong * a, ulong * b, const fq_nmod_ctx_t ctx, ulong * t)source

Unreduced multiplication: _n_fq_mul2 sets the 2d - 1 coefficients of the product of two elements as polynomials in t, _n_fq_madd2 adds it to a; _n_fq_reduce reduces a polynomial of length blen modulo the defining polynomial to an element, and _n_fq_reduce2 does so for length 2d - 1. Delaying the reduction makes sums of products cheaper.

Cite this page

The FLINT team, “_n_fq_mul2, _n_fq_madd2, _n_fq_reduce, _n_fq_reduce2 (n_poly.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/n_poly/_n_fq_mul2.html (generated 2026-10-20).