diff options
author | Edward Welbourne <edward.welbourne@qt.io> | 2017-03-06 17:25:45 +0100 |
---|---|---|
committer | Edward Welbourne <edward.welbourne@qt.io> | 2021-02-01 16:40:27 +0100 |
commit | 24ec3b3e7fa09900d791dcaedb0820a0b1890336 (patch) | |
tree | 0a3d470d58fea28add839e4083c84e411cddeaa4 /src/particles | |
parent | 125c0fc0b7f51847d2e6c92433c82c3e8982abb0 (diff) |
Prefer qHypot() over sqrt(a sum of squares)
It's apt to be more accurate and may even be optimised.
Comment on a benchmark where we could use Math.hypot(), but that would
break comparison with Qt 5 results.
Change-Id: I7c37dd3df82fdef18e7ebb0e1548198afd256faa
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Diffstat (limited to 'src/particles')
-rw-r--r-- | src/particles/qquicktargetdirection.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/particles/qquicktargetdirection.cpp b/src/particles/qquicktargetdirection.cpp index 0a0eeb4a24..5aa813be6f 100644 --- a/src/particles/qquicktargetdirection.cpp +++ b/src/particles/qquicktargetdirection.cpp @@ -123,7 +123,7 @@ QPointF QQuickTargetDirection::sample(const QPointF &from) qreal theta = std::atan2(targetY, targetX); qreal mag = m_magnitude + QRandomGenerator::global()->generateDouble() * m_magnitudeVariation * 2 - m_magnitudeVariation; if (m_proportionalMagnitude) - mag *= std::sqrt(targetX * targetX + targetY * targetY); + mag *= qHypot(targetX, targetY); ret.setX(mag * std::cos(theta)); ret.setY(mag * std::sin(theta)); return ret; |