63 double aeps2, e2, e4t, ec2, ec, b, x, y, z, p2, absz, p, s0, pn, zc,
64 c0, c02, c03, s02, s03, a02, a0, a03, d0, f0, b0, s1,
73 if ( f < 0.0 || f >= 1.0 )
return -1;
74 if ( a <= 0.0 )
return -2;
81 if ( ec2 <= 0.0 )
return -1;
94 *elong = p2 > 0.0 ? atan2(y, x) : 0.0;
119 d0 = zc*a03 + e2*s03;
120 f0 = pn*a03 - e2*c03;
123 b0 = e4t * s02 * c02 * pn * (a0 - ec);
125 cc = ec * (f0*f0 - b0*c0);
131 *
height = (p*cc + absz*s1 - a * sqrt(ec2*s12 + cc2)) /
141 if ( z < 0 ) *phi = -*phi;