aboutsummaryrefslogtreecommitdiff
path: root/src/pj_tsfn.c
blob: eff20cab7228765b251dd44639a664931d5dd11d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/* determine small t */
#include <math.h>
#include <projects.h>

double pj_tsfn(double phi, double sinphi, double e) {
    double denominator;
    sinphi *= e;

    /* avoid zero division, fail gracefully */
    denominator = 1.0 + sinphi;
    if (denominator == 0.0)
        return HUGE_VAL;

    return (tan (.5 * (M_HALFPI - phi)) /
            pow((1. - sinphi) / (denominator), .5 * e));
}