FLINT3.7.0-dev

_dfloat_renorm

Synopsis#include <flint/dfloat.h>
void _dfloat_renorm(double * res, int n, double * err, double * t, int len)source

Renormalises the sum of the len doubles t (overwritten) to n nonoverlapping components res, adding the magnitude of the dropped part to *err if err is not NULL. This is a bottom-up VecSum followed by a top-down pass, with a branchy fallback (VecSumErrBranch [JMPT2016]) when a gap would otherwise be left. The terms should be roughly sorted by decreasing magnitude.

References#

  • [JMPT2016] M. Joldes, O. Marty, J.-M. Muller and V. Popescu. Arithmetic algorithms for extended precision using floating-point expansions. IEEE Transactions on Computers 65:4 (2016), 1197–1210. https://doi.org/10.1109/TC.2015.2441714
Cite this page

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