flint_mpn_mulhigh_n_complex, flint_mpn_sqrhigh_n_complex
#include <flint/mpn_extras.h>void flint_mpn_mulhigh_n_complex(nn_ptr zr, int * zr_sgn, nn_ptr zi, int * zi_sgn, nn_srcptr ar, int ar_sgn, nn_srcptr ai, int ai_sgn, nn_srcptr br, int br_sgn, nn_srcptr bi, int bi_sgn, mp_size_t n)sourcevoid flint_mpn_sqrhigh_n_complex(nn_ptr zr, int * zr_sgn, nn_ptr zi, int * zi_sgn, nn_srcptr ar, int ar_sgn, nn_srcptr ai, int ai_sgn, mp_size_t n)sourceHigh products: all parts have limbs, and each output part receives exactly limbs, zero padded, approximating the limbs of the exact part, together with its sign.
Relative to the exact value, the error is below units of the lowest returned limb for the product and below for the square, hence below 3 units for any practical : each underlying flint_mpn_mulhigh_n, read as limbs, errs by an amount in units with , and each output part combines at most three of them. The transformed path stays within units.
The FLINT team, “flint_mpn_mulhigh_n_complex, flint_mpn_sqrhigh_n_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_mulhigh_n_complex.html (generated 2026-11-02).
@misc{flint-doc-mpn-extras-flint-mpn-mulhigh-n-complex,
author = {{The FLINT team}},
title = {{flint\_mpn\_mulhigh\_n\_complex, flint\_mpn\_sqrhigh\_n\_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_mulhigh_n_complex.html},
note = {Generated 2026-11-02}
}