diff options
author | pragat-pandya <pragat.pandya@gmail.com> | 2022-03-29 16:25:15 +0530 |
---|---|---|
committer | Hossein <hossein@libreoffice.org> | 2022-03-31 13:51:34 +0200 |
commit | a31aadb1ef7dfdd4ae76a15707ab51a82c95d868 (patch) | |
tree | 0cf5626a67b7c3a18b546c3e9d4d2c96b62dfbbf | |
parent | 9f041e7678521074b09b20f4088996c86bea5cd0 (diff) |
tdf#147906 Use std::hypot for Pythagorean addition
Change-Id: I38166d36e9e8518ab86ded7ab630a35f3a0c39d7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132268
Tested-by: Jenkins
Reviewed-by: Hossein <hossein@libreoffice.org>
-rw-r--r-- | dbaccess/source/ui/querydesign/ConnectionLine.cxx | 2 | ||||
-rw-r--r-- | filter/source/graphicfilter/icgm/bitmap.cxx | 4 | ||||
-rw-r--r-- | filter/source/graphicfilter/icgm/class4.cxx | 24 | ||||
-rw-r--r-- | filter/source/svg/svgwriter.cxx | 3 | ||||
-rw-r--r-- | vcl/workben/svptest.cxx | 6 |
5 files changed, 19 insertions, 20 deletions
diff --git a/dbaccess/source/ui/querydesign/ConnectionLine.cxx b/dbaccess/source/ui/querydesign/ConnectionLine.cxx index 96086d60b682..77a67004e995 100644 --- a/dbaccess/source/ui/querydesign/ConnectionLine.cxx +++ b/dbaccess/source/ui/querydesign/ConnectionLine.cxx @@ -307,7 +307,7 @@ static double dist_Euklid(const Point &p1, const Point& p2,const Point& pM, Poin { Point v(p2 - p1); Point w(pM - p1); - double a = sqrt(static_cast<double>(v.X()*v.X() + v.Y()*v.Y())); + double a = std::hypot(v.X(), v.Y()); double l = (v.X() * w.Y() - v.Y() * w.X()) / a; double a2 = w.X()*v.X()+w.Y()*v.Y(); a = a2 / (a * a); diff --git a/filter/source/graphicfilter/icgm/bitmap.cxx b/filter/source/graphicfilter/icgm/bitmap.cxx index 2dc6ff370757..67652d9eccd6 100644 --- a/filter/source/graphicfilter/icgm/bitmap.cxx +++ b/filter/source/graphicfilter/icgm/bitmap.cxx @@ -216,12 +216,12 @@ void CGMBitmap::ImplGetBitmap( CGMBitmapDescriptor& rDesc ) double nX = rDesc.mnR.X - rDesc.mnQ.X; double nY = rDesc.mnR.Y - rDesc.mnQ.Y; - rDesc.mndy = sqrt( nX * nX + nY * nY ); + rDesc.mndy = std::hypot(nX, nY); nX = rDesc.mnR.X - rDesc.mnP.X; nY = rDesc.mnR.Y - rDesc.mnP.Y; - rDesc.mndx = sqrt( nX * nX + nY * nY ); + rDesc.mndx = std::hypot(nX, nY); nX = rDesc.mnR.X - rDesc.mnP.X; nY = rDesc.mnR.Y - rDesc.mnP.Y; diff --git a/filter/source/graphicfilter/icgm/class4.cxx b/filter/source/graphicfilter/icgm/class4.cxx index c915576c2bdb..4ef817844570 100644 --- a/filter/source/graphicfilter/icgm/class4.cxx +++ b/filter/source/graphicfilter/icgm/class4.cxx @@ -89,10 +89,10 @@ bool CGM::ImplGetEllipse( FloatPoint& rCenter, FloatPoint& rRadius, double& rAng rAngle = ImplGetOrientation( rCenter, aPoint1 ); aPoint1.X -= rCenter.X; aPoint1.Y -= rCenter.Y; - rRadius.X = sqrt( aPoint1.X * aPoint1.X + aPoint1.Y * aPoint1.Y ); + rRadius.X = std::hypot(aPoint1.X, aPoint1.Y); aPoint2.X -= rCenter.X; aPoint2.Y -= rCenter.Y; - rRadius.Y = sqrt( aPoint2.X * aPoint2.X + aPoint2.Y * aPoint2.Y ); + rRadius.Y = std::hypot(aPoint2.X, aPoint2.Y); if ( fRot1 > fRot2 ) { @@ -418,7 +418,7 @@ void CGM::ImplDoClass4() fStartAngle = fEndAngle; fEndAngle = fG; } - double fRadius = sqrt( pow( ( aStartingPoint.X - aCenterPoint.X ), 2 ) + pow( ( aStartingPoint.Y - aCenterPoint.Y ), 2 ) ) ; + double fRadius = std::hypot(aStartingPoint.X - aCenterPoint.X, aStartingPoint.Y - aCenterPoint.Y); if ( mbFigure ) { @@ -508,7 +508,7 @@ void CGM::ImplDoClass4() fEndAngle = fG; } FloatPoint fRadius; - fRadius.Y = fRadius.X = sqrt( pow( ( aStartingPoint.X - aCenterPoint.X ), 2 ) + pow( ( aStartingPoint.Y - aCenterPoint.Y ), 2 ) ) ; + fRadius.Y = fRadius.X = std::hypot(aStartingPoint.X - aCenterPoint.X, aStartingPoint.Y - aCenterPoint.Y); sal_uInt32 nType = ImplGetUI16(); if ( nType == 0 ) @@ -548,9 +548,9 @@ void CGM::ImplDoClass4() bool bUseless = useless(vector[0]) || useless(vector[1]) || useless(vector[2]) || useless(vector[3]); if (!bUseless) { - const double fStartSqrt = sqrt(vector[0] * vector[ 0 ] + vector[1] * vector[1]); + const double fStartSqrt = std::hypot(vector[0], vector[1]); fStartAngle = fStartSqrt != 0.0 ? basegfx::rad2deg(acos(vector[0] / fStartSqrt)) : 0.0; - const double fEndSqrt = sqrt(vector[2] * vector[ 2 ] + vector[3] * vector[3]); + const double fEndSqrt = std::hypot(vector[2], vector[3]); fEndAngle = fEndSqrt != 0.0 ? basegfx::rad2deg(acos(vector[ 2 ] / fEndSqrt)) : 0.0; if ( vector[ 1 ] > 0 ) @@ -626,9 +626,9 @@ void CGM::ImplDoClass4() bool bUseless = useless(vector[0]) || useless(vector[1]) || useless(vector[2]) || useless(vector[3]); if (!bUseless) { - const double fStartSqrt = sqrt(vector[0] * vector[0] + vector[1] * vector[1]); + const double fStartSqrt = std::hypot(vector[0], vector[1]); double fStartAngle = fStartSqrt ? basegfx::rad2deg(acos(vector[0] / fStartSqrt)) : 0.0; - const double fEndSqrt = sqrt(vector[2] * vector[2] + vector[3] * vector[3]); + const double fEndSqrt = std::hypot(vector[2], vector[3]); double fEndAngle = fEndSqrt ? basegfx::rad2deg(acos(vector[2] / fEndSqrt)) : 0.0; if ( vector[ 1 ] > 0 ) @@ -683,9 +683,9 @@ void CGM::ImplDoClass4() bool bUseless = useless(vector[0]) || useless(vector[1]) || useless(vector[2]) || useless(vector[3]); if (!bUseless) { - double fStartSqrt = sqrt(vector[0] * vector[0] + vector[1] * vector[1]); + double fStartSqrt = std::hypot(vector[0], vector[1]); fStartAngle = fStartSqrt ? basegfx::rad2deg(acos(vector[0] / fStartSqrt)) : 0.0; - double fEndSqrt = sqrt(vector[2] * vector[2] + vector[3] * vector[3]); + double fEndSqrt = std::hypot(vector[2], vector[3]); fEndAngle = fEndSqrt ? basegfx::rad2deg(acos(vector[2] / fEndSqrt)) : 0.0; if ( vector[ 1 ] > 0 ) @@ -719,9 +719,9 @@ void CGM::ImplDoClass4() bool bUseless = useless(vector[0]) || useless(vector[1]) || useless(vector[2]) || useless(vector[3]); if (!bUseless) { - double fStartSqrt = sqrt(vector[0] * vector[0] + vector[1] * vector[1]); + double fStartSqrt = std::hypot(vector[0], vector[1]); fStartAngle = fStartSqrt ? basegfx::rad2deg(acos(vector[0] / fStartSqrt)) : 0.0; - double fEndSqrt = sqrt(vector[2] * vector[2] + vector[3] * vector[3]); + double fEndSqrt = std::hypot(vector[2], vector[3]); fEndAngle = fEndSqrt ? basegfx::rad2deg(acos(vector[2] / fEndSqrt)) : 0.0; if ( vector[ 1 ] > 0 ) diff --git a/filter/source/svg/svgwriter.cxx b/filter/source/svg/svgwriter.cxx index 8e5f897ec5c8..9e7d5a5cb10d 100644 --- a/filter/source/svg/svgwriter.cxx +++ b/filter/source/svg/svgwriter.cxx @@ -301,8 +301,7 @@ void SVGAttributeWriter::AddGradientDef( const tools::Rectangle& rObjRect, const { const double fCenterX = rObjRect.Left() + rObjRect.GetWidth() * rGradient.GetOfsX() * 0.01; const double fCenterY = rObjRect.Top() + rObjRect.GetHeight() * rGradient.GetOfsY() * 0.01; - const double fRadius = sqrt( static_cast< double >( rObjRect.GetWidth() ) * rObjRect.GetWidth() + - rObjRect.GetHeight() * rObjRect.GetHeight() ) * 0.5; + const double fRadius = std::hypot(rObjRect.GetWidth(), rObjRect.GetHeight()) * 0.5; mrExport.AddAttribute( XML_NAMESPACE_NONE, aXMLAttrGradientUnits, "userSpaceOnUse" ); mrExport.AddAttribute( XML_NAMESPACE_NONE, aXMLAttrCX, OUString::number( ImplRound( fCenterX ) ) ); diff --git a/vcl/workben/svptest.cxx b/vcl/workben/svptest.cxx index 37aa0dfa1a55..dde13e256ddd 100644 --- a/vcl/workben/svptest.cxx +++ b/vcl/workben/svptest.cxx @@ -115,13 +115,13 @@ MyWin::MyWin( vcl::Window* pParent, WinBits nWinStyle ) : { for( int nY = 0; nY < 256; nY++ ) { - double fRed = 255.0-1.5*sqrt(static_cast<double>(nX*nX+nY*nY)); + double fRed = 255.0-1.5*std::hypot(nX, nY); if( fRed < 0.0 ) fRed = 0.0; - double fGreen = 255.0-1.5*sqrt(static_cast<double>((255-nX)*(255-nX)+nY*nY)); + double fGreen = 255.0-1.5*std::hypot(255-nX, nY); if( fGreen < 0.0 ) fGreen = 0.0; - double fBlue = 255.0-1.5*sqrt(static_cast<double>((128-nX)*(128-nX)+(255-nY)*(255-nY))); + double fBlue = 255.0-1.5*std::hypot(128-nX, 255-nY); if( fBlue < 0.0 ) fBlue = 0.0; pAcc->SetPixel( nY, nX, BitmapColor( sal_uInt8(fRed), sal_uInt8(fGreen), sal_uInt8(fBlue) ) ); |