FLINT3.7.0-dev

NMOD_MUL_PRENORM, NMOD_MUL_FULLWORD

Synopsis#include <flint/nmod.h>
NMOD_MUL_PRENORM(res, a, b, mod)source
NMOD_MUL_FULLWORD(res, a, b, mod)source

Multiply without the operand shift done by nmod_mul. NMOD_MUL_PRENORM requires a < n and b = c\, 2^{\mathit{norm}} with c < n, that is, b is a reduced value already shifted left by mod.norm bits, and sets res to the reduced residue ac \bmod n; nmod_mul(a, c, mod) is this macro applied to a and c << mod.norm. NMOD_MUL_FULLWORD requires mod.norm = 0 and reduced operands, and sets res to ab \bmod n.

Cite this page

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