cc [ flags ] -I/usr/local/include file(s) -L/usr/local/lib -lmcw [ ... ] #include <mathcw.h> extern float eljaamf (float u, float k); extern double eljaam (double u, double k); extern long double eljaaml (long double u, long double k); extern __float80 eljaamw (__float80 u, __float80 k); extern __float128 eljaamq (__float128 u, __float128 k); extern long_long_double eljaamll (long_long_double u, long_long_double k); extern decimal_float eljaamdf (decimal_float u, decimal_float k); extern decimal_double eljaamd (decimal_double u, decimal_double k); extern decimal_long_double eljaamdl (decimal_long_double u, decimal_long_double k); extern decimal_long_long_double eljaamdll (decimal_long_long_double u, decimal_long_long_double k);
NB: Functions with prototypes containing underscores in type names may be available only with certain extended compilers.
whereeljaam(v, k) = aam(v, k) = u,
eljam(u,k) = am(u,k) = v.
The argument v may be large, but it must be representable in the form v = n*(PI/2) + r, with n an exact whole number, and r in [0, pi/2). The argument k (the modulus) is required to be in [-1,+1].
See M. Abramowitz & I. A. Stegun, Handbook of Mathematical Functions, Chapter 16, for definitions of the Jacobian elliptic, theta, and zeta functions.