flint_mpn_mulmod_2expp1_basecase
Synopsis
#include <flint/mpn_extras.h>int flint_mpn_mulmod_2expp1_basecase(mp_ptr xp, mp_srcptr yp, mp_srcptr zp, int c, flint_bitcnt_t b, mp_ptr tp)sourceMultiplication modulo 2^b + 1 for the representation of the Schönhage–Strassen FFT (see fft.h): the inputs are y + c_1 2^b and z + c_0 2^b, where (y, n) and (z, n) with n = \lceil b/\mathtt{FLINT\_BITS} \rceil are reduced modulo 2^b and c holds the top bits (c_1 = 2 bit, c_0 = 1 bit), each input being at most 2^b. Sets (x, n) and returns the top bit of the product modulo 2^b + 1, fully reduced. tp must have room for 2n limbs.
Cite this page
The FLINT team, “flint_mpn_mulmod_2expp1_basecase (mpn_extras.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/mpn_extras/flint_mpn_mulmod_2expp1_basecase.html (generated 2026-10-20).
@misc{flint-doc-mpn-extras-flint-mpn-mulmod-2expp1-basecase,
author = {{The FLINT team}},
title = {{flint\_mpn\_mulmod\_2expp1\_basecase (mpn\_extras.h)}},
howpublished = {FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev},
year = {2026},
url = {https://flintlib.org/doc/mpn_extras/flint_mpn_mulmod_2expp1_basecase.html},
note = {Generated 2026-10-20}
}