Go to the documentation of this file.
14 # pragma warning (disable: 4127)
31 static const real tolRF =
61 return (E3 * (6930 * E3 +
E2 * (15015 *
E2 - 16380) + 17160) +
62 E2 * ((10010 - 5775 *
E2) *
E2 - 24024) + 240240) /
68 static const real tolRG0 =
72 while (
abs(xn-
yn) > tolRG0 * xn) {
100 return (
z * RF(
x,
y,
z) - (
x-
z) * (
y-
z) * RD(
x,
y,
z) / 3
106 static const real tolRG0 =
115 while (
abs(xn-
yn) > tolRG0 * xn) {
150 s += RC(1, 1 + e0)/(
mul * d0);
163 P = -(
X +
Y +
Z) / 2,
173 return ((471240 - 540540 *
E2) * E5 +
174 (612612 *
E2 - 540540 * E3 - 556920) * E4 +
175 E3 * (306306 * E3 +
E2 * (675675 *
E2 - 706860) + 680680) +
176 E2 * ((417690 - 255255 *
E2) *
E2 - 875160) + 4084080) /
177 (4084080 *
mul * An *
sqrt(An)) + 6 *
s;
186 A0 = (
x +
y + 3*
z)/5,
197 s += 1/(
mul *
sqrt(z0) * (z0 + lam));
209 E3 = (3*
X*
Y - 8*
Z*
Z)*
Z,
210 E4 = 3 * (
X*
Y -
Z*
Z) *
Z*
Z,
217 return ((471240 - 540540 *
E2) * E5 +
218 (612612 *
E2 - 540540 * E3 - 556920) * E4 +
219 E3 * (306306 * E3 +
E2 * (675675 *
E2 - 706860) + 680680) +
220 E2 * ((417690 - 255255 *
E2) *
E2 - 875160) + 4084080) /
221 (4084080 *
mul * An *
sqrt(An)) + 3 *
s;
268 _Ec = _kp2 != 0 ? 2 * RG(_kp2, 1) : 1;
273 _Kc = _Ec =
Math::pi()/2; _Dc = _Kc/2;
277 real rj = (_kp2 != 0 && _alphap2 != 0) ? RJ(0, _kp2, 1, _alphap2) :
285 _Gc = _kp2 != 0 ? _Kc + (_alpha2 - _k2) * rj / 3 : rc;
287 _Hc = _kp2 != 0 ? _Kc - (_alphap2 != 0 ? _alphap2 * rj : 0) / 3 : rc;
289 _Pic = _Kc; _Gc = _Ec;
303 _Hc = _kp2 != 0 ? _kp2 * RD(0, 1, _kp2) / 3 : 1;
317 static const real tolJAC =
320 real mc = _kp2,
d = 0;
335 if (!(
abs(
a - mc) > tolJAC *
a)) {
353 dn = (
n[
l] +
a) / (
b +
a);
374 fi = cn2 != 0 ?
abs(
sn) * RF(cn2, dn2, 1) :
K();
383 cn2 =
cn*
cn, dn2 = dn*dn, sn2 =
sn*
sn,
385 abs(
sn) * ( _k2 <= 0 ?
388 RF(cn2, dn2, 1) - _k2 * sn2 * RD(cn2, dn2, 1) / 3 :
391 _kp2 * RF(cn2, dn2, 1) +
392 _k2 * _kp2 * sn2 * RD(cn2, 1, dn2) / 3 +
395 - _kp2 * sn2 * RD(dn2, 1, cn2) / 3 +
408 cn2 =
cn*
cn, dn2 = dn*dn, sn2 =
sn*
sn,
409 di = cn2 != 0 ?
abs(
sn) * sn2 * RD(cn2, dn2, 1) / 3 :
D();
420 cn2 =
cn*
cn, dn2 = dn*dn, sn2 =
sn*
sn,
421 pii = cn2 != 0 ?
abs(
sn) * (RF(cn2, dn2, 1) +
423 RJ(cn2, dn2, 1, cn2 + _alphap2 * sn2) / 3) :
427 pii = 2 * Pi() - pii;
433 cn2 =
cn*
cn, dn2 = dn*dn, sn2 =
sn*
sn,
434 gi = cn2 != 0 ?
abs(
sn) * (RF(cn2, dn2, 1) +
435 (_alpha2 - _k2) * sn2 *
436 RJ(cn2, dn2, 1, cn2 + _alphap2 * sn2) / 3) :
446 cn2 =
cn*
cn, dn2 = dn*dn, sn2 =
sn*
sn,
448 hi = cn2 != 0 ?
abs(
sn) * (RF(cn2, dn2, 1) -
450 RJ(cn2, dn2, 1, cn2 + _alphap2 * sn2) / 3) :
539 static const real tolJAC =
546 phi -= _eps *
sin(2 * phi) / 2;
555 err = (
E(
sn,
cn, dn) -
x)/dn;
557 if (
abs(err) < tolJAC)
565 if (ctau < 0) { ctau = -ctau; stau = -stau; }
567 return Einv( tau *
E() / (
Math::pi()/2) ) - tau;
set noclip points set clip one set noclip two set bar set border lt lw set xdata set ydata set zdata set x2data set y2data set boxwidth set dummy y set format x g set format y g set format x2 g set format y2 g set format z g set angles radians set nogrid set key title set key left top Right noreverse box linetype linewidth samplen spacing width set nolabel set noarrow set nologscale set logscale x set set pointsize set encoding default set nopolar set noparametric set set set set surface set nocontour set clabel set mapping cartesian set nohidden3d set cntrparam order set cntrparam linear set cntrparam levels auto set cntrparam points set size set set xzeroaxis lt lw set x2zeroaxis lt lw set yzeroaxis lt lw set y2zeroaxis lt lw set tics in set ticslevel set tics set mxtics default set mytics default set mx2tics default set my2tics default set xtics border mirror norotate autofreq set ytics border mirror norotate autofreq set ztics border nomirror norotate autofreq set nox2tics set noy2tics set timestamp bottom norotate set rrange[*:*] noreverse nowriteback set trange[*:*] noreverse nowriteback set urange[*:*] noreverse nowriteback set vrange[*:*] noreverse nowriteback set xlabel matrix size set x2label set timefmt d m y n H
static real RF(real x, real y, real z)
const EIGEN_DEVICE_FUNC AtanReturnType atan() const
static const double d[K][N]
static T copysign(T x, T y)
Jet< T, N > sin(const Jet< T, N > &f)
Namespace for GeographicLib.
GaussianFactorGraphValuePair Y
Header for GeographicLib::EllipticFunction class.
set noclip points set clip one set noclip two set bar set border lt lw set xdata set ydata set zdata set x2data set y2data set boxwidth set dummy x
void Reset(real k2=0, real alpha2=0)
static void sincosd(T x, T &sinx, T &cosx)
double mul(const double &a, const double &b)
static real RC(real x, real y)
Math::real deltaE(real sn, real cn, real dn) const
void sncndn(real x, real &sn, real &cn, real &dn) const
Exception handling for GeographicLib.
Jet< T, N > cos(const Jet< T, N > &f)
const EIGEN_DEVICE_FUNC CoshReturnType cosh() const
Math::real deltaH(real sn, real cn, real dn) const
#define GEOGRAPHICLIB_PANIC
double yn(int n, double x)
static const Line3 l(Rot3(), 1, 1)
Math::real deltaPi(real sn, real cn, real dn) const
static real RD(real x, real y, real z)
Math::real Ed(real ang) const
Jet< T, N > pow(const Jet< T, N > &f, double g)
static real RJ(real x, real y, real z, real p)
AnnoyingScalar atan2(const AnnoyingScalar &y, const AnnoyingScalar &x)
The quaternion class used to represent 3D orientations and rotations.
const EIGEN_DEVICE_FUNC TanhReturnType tanh() const
Math::real deltaF(real sn, real cn, real dn) const
static real RG(real x, real y, real z)
JacobiRotation< float > G
Math::real Einv(real x) const
Math::real F(real phi) const
const EIGEN_DEVICE_FUNC CeilReturnType ceil() const
int EIGEN_BLAS_FUNC() swap(int *n, RealScalar *px, int *incx, RealScalar *py, int *incy)
Math::real deltaD(real sn, real cn, real dn) const
Math::real deltaG(real sn, real cn, real dn) const
Jet< T, N > sqrt(const Jet< T, N > &f)
const EIGEN_DEVICE_FUNC FloorReturnType floor() const
Math::real deltaEinv(real stau, real ctau) const
gtsam
Author(s):
autogenerated on Sun Dec 22 2024 04:11:30