GCC Code Coverage Report


Directory: ./
Coverage: low: ≥ 0% medium: ≥ 75.0% high: ≥ 90.0%
Coverage Exec / Excl / Total
Lines: 100.0% 5 / 0 / 5
Functions: 100.0% 2 / 0 / 2
Branches: -% 0 / 0 / 0

src/geo2d/ang_pp/lib.hpp
Line Branch Exec Source
1 #pragma once
2
3 #include "../ds/p/lib.hpp"
4
5 namespace tifa_libs {
6
7 // clamp angle of two points, result in $(-\pi,\pi]$
8 template <class FP>
9 47555 CEXP FP ang_PP(point<FP> CR p1, point<FP> CR p2) NE { return std::atan2(p1 ^ p2, p1 * p2); }
10 // clamp angle of two points, result in $[0,2\pi)$
11 template <class FP>
12 24 CEXP FP ang2pi_PP(point<FP> CR p1, point<FP> CR p2) NE {
13 24 const FP res = ang_PP(p1, p2);
14 24 retif_((is_neg(res)), res + 2 * pi_v<FP>, res);
15 }
16
17 } // namespace tifa_libs
18