flint_mpn_mullow_complex, flint_mpn_sqrlow_complex
#include <flint/mpn_extras.h>void flint_mpn_mullow_complex(nn_ptr zr, nn_ptr zi, mp_size_t n, nn_srcptr ar, mp_size_t arn, int ar_sgn, nn_srcptr ai, mp_size_t ain, int ai_sgn, nn_srcptr br, mp_size_t brn, int br_sgn, nn_srcptr bi, mp_size_t bin, int bi_sgn)sourcevoid flint_mpn_sqrlow_complex(nn_ptr zr, nn_ptr zi, mp_size_t n, nn_srcptr ar, mp_size_t arn, int ar_sgn, nn_srcptr ai, mp_size_t ain, int ai_sgn)sourceLow products: zr and zi receive exactly limbs, the real and imaginary parts of the product (respectively the square) modulo as two's complement residues. No sign is returned: a negative part is represented by when . The inputs are as for flint_mpn_mul_complex, and only their low limbs are read. may exceed the length of the product, the residues then being the sign-extended exact parts.
These are what a Kronecker unpacking of signed fields below limb needs. The algorithms are those of the full products with low products in place of full ones: four or three real low products from flint_mpn_mulmid with window start 0, combined modulo , or above the cutoffs _fft_small_mpn_mulmid_complex with the window on the inputs truncated to limbs, which reconstructs only the CRT coefficients below limb . The transforms keep the length of the product of the truncated inputs, since a cyclic wrap would land in the low limbs; the saving is in the reconstruction.
The FLINT team, “flint_mpn_mullow_complex, flint_mpn_sqrlow_complex (mpn_extras.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/mpn_extras/flint_mpn_mullow_complex.html (generated 2026-11-02).
@misc{flint-doc-mpn-extras-flint-mpn-mullow-complex,
author = {{The FLINT team}},
title = {{flint\_mpn\_mullow\_complex, flint\_mpn\_sqrlow\_complex (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_mullow_complex.html},
note = {Generated 2026-11-02}
}