1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| var pj_mlfn = require("./pj_mlfn");
| var EPSLN = 1.0e-10;
| var MAX_ITER = 20;
| module.exports = function(arg, es, en) {
| var k = 1 / (1 - es);
| var phi = arg;
| for (var i = MAX_ITER; i; --i) { /* rarely goes over 2 iterations */
| var s = Math.sin(phi);
| var t = 1 - es * s * s;
| //t = this.pj_mlfn(phi, s, Math.cos(phi), en) - arg;
| //phi -= t * (t * Math.sqrt(t)) * k;
| t = (pj_mlfn(phi, s, Math.cos(phi), en) - arg) * (t * Math.sqrt(t)) * k;
| phi -= t;
| if (Math.abs(t) < EPSLN) {
| return phi;
| }
| }
| //..reportError("cass:pj_inv_mlfn: Convergence error");
| return phi;
| };
|
|