_flint_mpn_mulhigh_n_mulders_recursive, _flint_mpn_sqrhigh_mulders_recursive
Synopsis
#include <flint/mpn_extras.h>void _flint_mpn_mulhigh_n_mulders_recursive(mp_ptr rp, mp_srcptr np, mp_srcptr mp, mp_size_t n)sourcevoid _flint_mpn_sqrhigh_mulders_recursive(mp_ptr rp, mp_srcptr np, mp_size_t n)sourceRough high product by Mulders' recursive algorithm, as described by Harvey and Zimmermann [HZ2011]. Writes to \mathit{rp}_n, \ldots, \mathit{rp}_{2n-1} an approximation of the top n limbs of the product (respectively the square), which is a lower bound with an error of less than n units of \mathit{rp}_n. rp must have room for 2n limbs; the low n limbs are used as scratch space. The split points come from a tuned table flint_mpn_mulhigh_k_tab.
References#
- [HZ2011] D. Harvey and P. Zimmermann, "Short division of long integers" (2011), Proceedings of the 20th Symposium on Computer Arithmetic (ARITH-20), July 25-27, 2011, pages 7-14. https://web.maths.unsw.edu.au/~davidharvey/research/shortdiv.pdf
Cite this page
The FLINT team, “_flint_mpn_mulhigh_n_mulders_recursive, _flint_mpn_sqrhigh_mulders_recursive (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_mulders_recursive.html (generated 2026-10-20).
@misc{flint-doc-mpn-extras-flint-mpn-mulhigh-n-mulders-recursive,
author = {{The FLINT team}},
title = {{\_flint\_mpn\_mulhigh\_n\_mulders\_recursive, \_flint\_mpn\_sqrhigh\_mulders\_recursive (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_mulders_recursive.html},
note = {Generated 2026-10-20}
}