19 gradp = _gradp && gradp;
20 const vector<real>& root( SphericalEngine::sqrttable() );
23 real vc = 0, vc2 = 0, vs = 0, vs2 = 0;
26 real vrc = 0, vrc2 = 0, vrs = 0, vrs2 = 0;
27 real vtc = 0, vtc2 = 0, vts = 0, vts2 = 0;
28 real vlc = 0, vlc2 = 0, vls = 0, vls2 = 0;
29 for (
int m = _mM; m >= 0; --m) {
36 v = root[2] * root[2 * m + 3] / root[m + 1];
38 B = - v * root[2 * m + 5] / (root[8] * root[m + 2]) * _uq2;
41 v = root[2] * root[2 * m + 1] / root[m + 1];
43 B = - v * root[2 * m + 3] / (root[8] * root[m + 2]) * _uq2;
48 v = A * vc + B * vc2 + _wc[m] ; vc2 = vc ; vc = v;
49 v = A * vs + B * vs2 + _ws[m] ; vs2 = vs ; vs = v;
51 v = A * vrc + B * vrc2 + _wrc[m]; vrc2 = vrc; vrc = v;
52 v = A * vrs + B * vrs2 + _wrs[m]; vrs2 = vrs; vrs = v;
53 v = A * vtc + B * vtc2 + _wtc[m]; vtc2 = vtc; vtc = v;
54 v = A * vts + B * vts2 + _wts[m]; vts2 = vts; vts = v;
55 v = A * vlc + B * vlc2 + m*_ws[m]; vlc2 = vlc; vlc = v;
56 v = A * vls + B * vls2 - m*_wc[m]; vls2 = vls; vls = v;
63 B = - root[15]/2 * _uq2;
67 B = - root[3]/2 * _uq2;
72 qs = _q / SphericalEngine::scale();
73 vc = qs * (_wc[m] + A * (cl * vc + sl * vs ) + B * vc2);
80 vrc = - qs * (_wrc[m] + A * (cl * vrc + sl * vrs) + B * vrc2);
81 vtc = qs * (_wtc[m] + A * (cl * vtc + sl * vts) + B * vtc2);
82 vlc = qs / _u * ( A * (cl * vlc + sl * vls) + B * vlc2);
89 gradx = cl * (_u * vrc + _t * vtc) - sl * vlc;
90 grady = sl * (_u * vrc + _t * vtc) + cl * vlc;
91 gradz = _t * vrc - _u * vtc ;
Header for GeographicLib::CircularEngine class.
GeographicLib::Math::real real
Namespace for GeographicLib.