From c6755955aeaddb14bd3ad231f78cda47a0a5aeaa Mon Sep 17 00:00:00 2001 From: buldi Date: Sun, 2 Apr 2023 18:16:10 +0200 Subject: tdf#147906 Use std::hypot for Pythagorean addition Change-Id: I47611e1bffed814294bd2c7b23b26e1878151464 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149939 Tested-by: Jenkins Reviewed-by: Hossein --- editeng/source/misc/txtrange.cxx | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'editeng') diff --git a/editeng/source/misc/txtrange.cxx b/editeng/source/misc/txtrange.cxx index 6374747be3c9..2f02a1150f91 100644 --- a/editeng/source/misc/txtrange.cxx +++ b/editeng/source/misc/txtrange.cxx @@ -192,11 +192,12 @@ tools::Long SvxBoundArgs::CalcMax( const Point& rPt1, const Point& rPt2, } else nB = nStart; - nB *= nB; - nB += nDa * nDa; - nB = sqrt( nB ); + + nB = std::hypot(nB, nDa); + if (nB == 0) // avoid div / 0 return 0; + nB = nRange + nDa * ( nFarRange - nRange ) / nB; bool bNote; -- cgit