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>
This commit is contained in:
pragat-pandya
2022-03-31 13:51:34 +02:00
committed by Hossein
parent 9f041e7678
commit a31aadb1ef
5 changed files with 19 additions and 20 deletions
@@ -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);
+2 -2
View File
@@ -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;
+12 -12
View File
@@ -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 )
+1 -2
View File
@@ -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 ) ) );
+3 -3
View File
@@ -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) ) );