cc [ flags ] -I/usr/local/include file(s) -L/usr/local/lib -lmcw [ ... ] #include <mathcw.h> extern float ellkf (float x); extern double ellk (double x); extern long double ellkl (long double x); extern __float80 ellkw (__float80 x); extern __float128 ellkq (__float128 x); extern long_long_double ellkll (long_long_double x); extern decimal_float ellkdf (decimal_float x); extern decimal_double ellkd (decimal_double x); extern decimal_long_double ellkdl (decimal_long_double x); extern decimal_long_long_double ellkdll (decimal_long_long_double x);
NB: Functions with prototypes containing underscores in type names may be available only with certain extended compilers.
ellk(x) = integral(t=0:pi/2) (1 / sqrt(1 - x**2 * sin(t)**2)) dtwhere x is in [-1,+1].
Equivalents in other systems are:
Abramowitz & Stegun NBS Handbook #55: K(m) = ellk(sqrt(m)) Mathematica: EllipticK[x] = ellk(sqrt(x)) Maple: EllipticK(x) = ellk(x)