cc [ flags ] -I/usr/local/include file(s) -L/usr/local/lib -lmcw [ ... ] #include <mathcw.h> extern float ellrkf (float x, float y); extern double ellrk (double x, double y); extern long double ellrkl (long double x, long double y); extern __float80 ellrkw (__float80 x, __float80 y); extern __float128 ellrkq (__float128 x, __float128 y); extern long_long_double ellrkll (long_long_double x, long_long_double y); extern decimal_float ellrkdf (decimal_float x, decimal_float y); extern decimal_double ellrkd (decimal_double x, decimal_double y); extern decimal_long_double ellrkdl (decimal_long_double x, decimal_long_double y); extern decimal_long_long_double ellrkdll (decimal_long_long_double x, decimal_long_long_double y);
NB: Functions with prototypes containing underscores in type names may be available only with certain extended compilers.
where x >= 0 and y > 0.ellrk(x, y) = R(1/2; 1/2, 1/2; x, y) = (1/pi) * integral(t=0:Infinity) t**(-1/2) * (t + x)**(-1/2) * (t + y)**(-1/2) dt = (2 / pi) * ellrf(x, y, 0) = (2 / ( pi * sqrt(y))) * ellk(sqrt((y - x) / y))
The function is symmetric in x and y.
The normalization condition satisfied is
ellrk(x, x) = x**(-1/2).