diff --git a/math/angle.cpp b/math/angle.cpp index f14751c8b85..59767d500ad 100644 --- a/math/angle.cpp +++ b/math/angle.cpp @@ -144,11 +144,13 @@ void Angle::setRange(float low) { } void Angle::crop() { - while (_degrees >= _rangeLow + 360) { - _degrees -= 360; + if (_degrees >= _rangeLow + 360.f) { + int x = (int)(_degrees - _rangeLow) / 360.f; + _degrees -= 360.f * x; } - while (_degrees < _rangeLow) { - _degrees += 360; + if (_degrees < _rangeLow) { + int x = (int)(_degrees - _rangeLow) / 360.f; + _degrees -= 360.f * x; } }