FLINT3.7.0-dev

_n_fq_mul2_lazy1, _n_fq_madd2_lazy1, _n_fq_reduce2_lazy1, _n_fq_mul2_lazy2, _n_fq_madd2_lazy2, _n_fq_reduce2_lazy2, _n_fq_mul2_lazy3, _n_fq_madd2_lazy3, _n_fq_reduce2_lazy3

Synopsis#include <flint/n_poly.h>
void _n_fq_mul2_lazy1(ulong * a, const ulong * b, const ulong * c, slong d)source
void _n_fq_madd2_lazy1(ulong * a, const ulong * b, const ulong * c, slong d)source
void _n_fq_reduce2_lazy1(ulong * a, slong d, nmod_t ctx)source
void _n_fq_mul2_lazy2(ulong * a, const ulong * b, const ulong * c, slong d)source
void _n_fq_madd2_lazy2(ulong * a, const ulong * b, const ulong * c, slong d)source
void _n_fq_reduce2_lazy2(ulong * a, slong d, nmod_t ctx)source
void _n_fq_mul2_lazy3(ulong * a, const ulong * b, const ulong * c, slong d)source
void _n_fq_madd2_lazy3(ulong * a, const ulong * b, const ulong * c, slong d)source
void _n_fq_reduce2_lazy3(ulong * a, slong d, nmod_t ctx)source

Lazy dot products with 1, 2 or 3 words per coefficient, as chosen by _n_fq_dot_lazy_size: mul2 sets and madd2 adds the unreduced product of two elements in a (6d words), and reduce2 reduces the accumulated coefficients modulo p, leaving 2d - 1 coefficients to be reduced with _n_fq_reduce2.

Cite this page

The FLINT team, “_n_fq_mul2_lazy1, _n_fq_madd2_lazy1, _n_fq_reduce2_lazy1, _n_fq_mul2_lazy2, _n_fq_madd2_lazy2, _n_fq_reduce2_lazy2, _n_fq_mul2_lazy3, _n_fq_madd2_lazy3, _n_fq_reduce2_lazy3 (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_lazy1.html (generated 2026-10-20).