Go to the documentation of this file.
65 double a,
b,
c,
e, temp,
t,
K, denom, npio2;
90 return asinh(
tan(phi));
97 phi = phi - npio2 *
M_PI_2;
113 if (
fabs(
t) > 10.0) {
117 if (
fabs(
e) < 10.0) {
133 denom = 1.0 - temp *
t *
t;
135 t =
t * (1.0 + temp) / denom;
159 #define MAX3(a, b, c) (a > b ? (a > c ? a : c) : (b > c ? b : c))
181 double x,
y,
z,
x1,
y1,
z1,
A0,
A,
Q,
X,
Y,
Z,
E2, E3,
scale;
183 double mpp = (
m*phi)*phi;
185 if (-mpp < 1
e-6 && phi < -
m) {
186 return phi + (-mpp*phi*phi/30.0 + 3.0*mpp*mpp/40.0 + mpp/6.0)*phi;
190 double sm =
sqrt(-
m);
191 double sp =
sin(phi);
192 double cp =
cos(phi);
194 double a =
log(4*sp*sm/(1+cp));
195 double b = -(1 + cp/sp/sp -
a) / 4 /
m;
199 if (phi > 1
e-153 &&
m > -1e305) {
201 double csc2 = 1.0 / (
s*
s);
203 x = 1.0 / (
tan(phi) *
tan(phi));
214 if (
x ==
y &&
x ==
z) {
218 A0 = (
x +
y +
z) / 3.0;
225 while (
Q >
fabs(
A) &&
n <= 100) {
229 double lam = sx*sy + sx*sz + sy*sz;
230 x1 = (
x1 + lam) / 4.0;
231 y1 = (
y1 + lam) / 4.0;
232 z1 = (
z1 + lam) / 4.0;
237 X = (
A0 -
x) /
A / (1 << 2*
n);
238 Y = (
A0 -
y) /
A / (1 << 2*
n);
244 return scale * (1.0 -
E2/10.0 + E3/14.0 +
E2*
E2/24.0
Array< double, 1, 3 > e(1./3., 0.5, 2.)
const EIGEN_DEVICE_FUNC AtanReturnType atan() const
static const double d[K][N]
Jet< T, N > sin(const Jet< T, N > &f)
GaussianFactorGraphValuePair Y
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
const EIGEN_DEVICE_FUNC SignReturnType sign() const
const EIGEN_DEVICE_FUNC LogReturnType log() const
Jet< T, N > cos(const Jet< T, N > &f)
Matrix< SCALARA, Dynamic, Dynamic, opt_A > A
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 fmod(const bfloat16 &a, const bfloat16 &b)
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 scale
static double ellik_neg_m(double phi, double m)
const EIGEN_DEVICE_FUNC TanReturnType tan() const
The quaternion class used to represent 3D orientations and rotations.
#define cephes_isfinite(x)
void sf_error(const char *func_name, sf_error_t code, const char *fmt,...)
double ellik(double phi, double m)
Jet< T, N > sqrt(const Jet< T, N > &f)
const EIGEN_DEVICE_FUNC FloorReturnType floor() const
gtsam
Author(s):
autogenerated on Sat Nov 16 2024 04:02:15