mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-31 04:25:35 +08:00
Using std::copysign
This commit is contained in:
committed by
Mathew Sutcliffe
parent
0117558ea7
commit
58b5dd1278
@@ -38,39 +38,21 @@ namespace BlackMisc
|
||||
Q_FUNC_INFO, "Same sign required");
|
||||
}
|
||||
|
||||
void CAngle::unifySign(int °rees, int &minutes, double &seconds)
|
||||
void CAngle::unifySign(int degrees, int &minutes, double &seconds)
|
||||
{
|
||||
if (degrees < 0)
|
||||
{
|
||||
if (minutes > 0) minutes *= -1;
|
||||
if (seconds > 0) seconds *= -1.0;
|
||||
}
|
||||
else if (degrees > 0)
|
||||
{
|
||||
if (minutes < 0) minutes *= -1;
|
||||
if (seconds < 0) seconds *= -1.0;
|
||||
}
|
||||
else
|
||||
{
|
||||
// degrees was 0
|
||||
if ((minutes > 0 && seconds < 0) || (minutes < 0 && seconds > 0))
|
||||
{
|
||||
seconds *= -1.0;
|
||||
}
|
||||
}
|
||||
minutes = std::copysign(minutes, degrees == 0 ? minutes : degrees);
|
||||
seconds = std::copysign(seconds, degrees == 0 ? minutes : degrees);
|
||||
}
|
||||
|
||||
void CAngle::unifySign(int °rees, int &minutes)
|
||||
void CAngle::unifySign(int degrees, int &minutes)
|
||||
{
|
||||
if ((degrees > 0 && minutes < 0) || (degrees < 0 && minutes > 0))
|
||||
{
|
||||
minutes *= -1.0;
|
||||
}
|
||||
if (degrees == 0) { return; }
|
||||
minutes = std::copysign(minutes, degrees);
|
||||
}
|
||||
|
||||
BlackMisc::CIcon CAngle::toIcon() const
|
||||
CIcon CAngle::toIcon() const
|
||||
{
|
||||
BlackMisc::CIcon i = CIcon::iconByIndex(CIcons::StandardIconArrowMediumNorth16);
|
||||
CIcon i = CIcon::iconByIndex(CIcons::StandardIconArrowMediumNorth16);
|
||||
i.setRotation(*this);
|
||||
return i;
|
||||
}
|
||||
|
||||
@@ -71,10 +71,10 @@ namespace BlackMisc
|
||||
CAngle(int degrees, double minutes);
|
||||
|
||||
//! Minutes and secods will get same sign as degrees
|
||||
void static unifySign(int °rees, int &minutes, double &seconds);
|
||||
void static unifySign(int degrees, int &minutes, double &seconds);
|
||||
|
||||
//! Minutes will get same sign as degrees
|
||||
void static unifySign(int °rees, int &minutes);
|
||||
void static unifySign(int degrees, int &minutes);
|
||||
|
||||
//! \copydoc BlackMisc::Mixin::Icon::toIcon
|
||||
BlackMisc::CIcon toIcon() const;
|
||||
|
||||
Reference in New Issue
Block a user