Line | Count | Source |
1 | | /* reduce argument to range +/- PI */ |
2 | | #include <math.h> |
3 | | |
4 | | #include "proj.h" |
5 | | #include "proj_internal.h" |
6 | | |
7 | 3.49M | double adjlon(double longitude) { |
8 | | /* Let longitude slightly overshoot, to avoid spurious sign switching at the |
9 | | * date line */ |
10 | 3.49M | if (fabs(longitude) < M_PI + 1e-12) |
11 | 3.45M | return longitude; |
12 | | |
13 | | /* adjust to 0..2pi range */ |
14 | 42.7k | longitude += M_PI; |
15 | | |
16 | | /* remove integral # of 'revolutions'*/ |
17 | 42.7k | longitude -= M_TWOPI * floor(longitude / M_TWOPI); |
18 | | |
19 | | /* adjust back to -pi..pi range */ |
20 | 42.7k | longitude -= M_PI; |
21 | | |
22 | 42.7k | return longitude; |
23 | 3.49M | } |