Coverage Report

Created: 2026-05-30 06:46

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/PROJ/src/projections/gall.cpp
Line
Count
Source
1
2
3
#include <math.h>
4
5
#include "proj.h"
6
#include "proj_internal.h"
7
8
PROJ_HEAD(gall, "Gall (Gall Stereographic)") "\n\tCyl, Sph";
9
10
2.52k
#define YF 1.70710678118654752440
11
2.52k
#define XF 0.70710678118654752440
12
0
#define RYF 0.58578643762690495119
13
0
#define RXF 1.41421356237309504880
14
15
2.52k
static PJ_XY gall_s_forward(PJ_LP lp, PJ *P) { /* Spheroidal, forward */
16
2.52k
    PJ_XY xy = {0.0, 0.0};
17
2.52k
    (void)P;
18
19
2.52k
    xy.x = XF * lp.lam;
20
2.52k
    xy.y = YF * tan(.5 * lp.phi);
21
22
2.52k
    return xy;
23
2.52k
}
24
25
0
static PJ_LP gall_s_inverse(PJ_XY xy, PJ *P) { /* Spheroidal, inverse */
26
0
    PJ_LP lp = {0.0, 0.0};
27
0
    (void)P;
28
29
0
    lp.lam = RXF * xy.x;
30
0
    lp.phi = 2. * atan(xy.y * RYF);
31
32
0
    return lp;
33
0
}
34
35
72
PJ *PJ_PROJECTION(gall) {
36
72
    P->es = 0.0;
37
38
72
    P->inv = gall_s_inverse;
39
72
    P->fwd = gall_s_forward;
40
41
72
    return P;
42
72
}