FLINT3.7.0-dev

_flint_mpn_sqrhigh, _flint_mpn_sqrhigh_basecase, _flint_mpn_sqrhigh_mulders, _flint_mpn_sqrhigh_sqr

Synopsis#include <flint/mpn_extras.h>
mp_limb_t _flint_mpn_sqrhigh(mp_ptr res, mp_srcptr u, mp_size_t n)source
mp_limb_t _flint_mpn_sqrhigh_basecase(mp_ptr res, mp_srcptr u, mp_size_t n)source
mp_limb_t _flint_mpn_sqrhigh_mulders(mp_ptr res, mp_srcptr u, mp_size_t n)source
mp_limb_t _flint_mpn_sqrhigh_sqr(mp_ptr res, mp_srcptr u, mp_size_t n)source

The algorithms behind flint_mpn_sqrhigh: dispatcher, quadratic basecase (on x86-64 with ADX an assembly routine requiring n \ge 8; elsewhere the multiplication basecase), Mulders' algorithm (from FLINT_MPN_SQRHIGH_MULDERS_CUTOFF, 90 limbs) and a full square (from FLINT_MPN_SQRHIGH_SQR_CUTOFF, 2000 limbs, or a middle product with fft_small from FLINT_MPN_SQRHIGH_FFT_SMALL_CUTOFF).

Cite this page

The FLINT team, “_flint_mpn_sqrhigh, _flint_mpn_sqrhigh_basecase, _flint_mpn_sqrhigh_mulders, _flint_mpn_sqrhigh_sqr (mpn_extras.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/mpn_extras/_flint_mpn_sqrhigh.html (generated 2026-10-20).