/
githubmirror
/
omim
Обзор
Документация
Войти
/
githubmirror
/
omim
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
android-gr-922
geometry/angles.cpp
48 строк
805 B
Maxim Pimenov
[base] Replaced the namespace my with base.
18 сен 2018, 14:46
18 сен 2018, 14:46
412387c
Код
Авторство
О чём код?
#include "geometry/angles.hpp" namespace ang { double AngleIn2PI(double ang) { double const period = 2.0 * math::pi; ang = fmod(ang, period); if (ang < 0.0) ang += period; if (base::AlmostEqualULPs(period, ang)) return 0.0; return ang; } double GetShortestDistance(double rad1, double rad2) { double const period = 2.0 * math::pi; rad1 = fmod(rad1, period); rad2 = fmod(rad2, period); double res = rad2 - rad1; if (fabs(res) > math::pi) { if (res < 0.0) res = period + res; else res = -period + res; } return res; } double GetMiddleAngle(double a1, double a2) { double ang = (a1 + a2) / 2.0; if (fabs(a1 - a2) > math::pi) { if (ang > 0.0) ang -= math::pi; else ang += math::pi; } return ang; } } // namespace ang