cc [ flags ] -I/usr/local/include file(s) -L/usr/local/lib -lmcw [ ... ] #include <mathcw.h> extern void eljh4f (float result[4], float u, float k); extern void eljh4 (double result[4], double u, double k); extern void eljh4l (long long double result[4], double u, long double k); extern void eljh4w (____float80 result[4], float80 u, __float80 k); extern void eljh4q (____float128 result[4], float128 u, __float128 k); extern void eljh4ll (long_long_long_long_double result[4], double u, long_long_double k); extern void eljh4df (decimal_decimal_float result[4], float u, decimal_float k); extern void eljh4d (decimal_decimal_double result[4], double u, decimal_double k); extern void eljh4dl (decimal_long_decimal_long_double result[4], double u, decimal_long_double k); extern void eljh4dll (decimal_long_long_decimal_long_long_double result[4], double u, decimal_long_long_double k);
NB: Functions with prototypes containing underscores in type names may be available only with certain extended compilers.
and its first three derivatives with respect to u, and return the values H(u,k), H'(u,k), H''(u,k), and H'''(u,k) in that order in the result[] array.H(u,k) = eljh(u,k)
The argument u is unrestricted, but k 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, Eta, theta, Theta, and Zeta functions, and section 16.31 for H(u,k).