Go to the documentation of this file.
71 int ellpj(
double u,
double m,
double *
sn,
double *
cn,
double *dn,
double *ph)
73 double ai,
b, phi,
t, twon, dnfac;
89 ai = 0.25 *
m * (u -
t *
b);
93 *dn = 1.0 - 0.5 *
m *
t *
t;
96 if (
m >= 0.9999999999) {
97 ai = 0.25 * (1.0 -
m);
102 *
sn =
t + ai * (twon - u) / (
b *
b);
105 *
cn = phi - ai * (twon - u);
106 *dn = phi + ai * (twon + u);
124 c[
i] = (ai -
b) / 2.0;
126 a[
i] = (ai +
b) / 2.0;
133 phi = twon *
a[
i] * u;
137 phi = (
asin(
t) + phi) / 2.0;
144 dnfac =
cos(phi -
b);
146 if (
fabs(dnfac) < 0.1) {
Array< double, 1, 3 > e(1./3., 0.5, 2.)
const EIGEN_DEVICE_FUNC AtanReturnType atan() const
Jet< T, N > sin(const Jet< T, N > &f)
const EIGEN_DEVICE_FUNC AsinReturnType asin() const
const EIGEN_DEVICE_FUNC ExpReturnType exp() const
int ellpj(double u, double m, double *sn, double *cn, double *dn, double *ph)
Jet< T, N > cos(const Jet< T, N > &f)
const EIGEN_DEVICE_FUNC CoshReturnType cosh() const
const EIGEN_DEVICE_FUNC TanhReturnType tanh() const
void sf_error(const char *func_name, sf_error_t code, const char *fmt,...)
const EIGEN_DEVICE_FUNC SinhReturnType sinh() const
Jet< T, N > sqrt(const Jet< T, N > &f)
gtsam
Author(s):
autogenerated on Sat Nov 16 2024 04:02:15