cc [ flags ] -I/usr/local/include file(s) -L/usr/local/lib -lmcw [ ... ] #include <mathcw.h> extern float ellrlf (float x, float y, float rho); extern double ellrl (double x, double y, double rho); extern long double ellrll (long double x, long double y, long double rho); extern __float80 ellrlw (__float80 x, __float80 y, __float80 rho); extern __float128 ellrlq (__float128 x, __float128 y, __float128 rho); extern long_long_double ellrlll (long_long_double x, long_long_double y, long_long_double rho); extern decimal_float ellrldf (decimal_float x, decimal_float y, decimal_float rho); extern decimal_double ellrld (decimal_double x, decimal_double y, decimal_double rho); extern decimal_long_double ellrldl (decimal_long_double x, decimal_long_double y, decimal_long_double rho); extern decimal_long_long_double ellrldll (decimal_long_long_double x, decimal_long_long_double y, decimal_long_long_double rho);
NB: Functions with prototypes containing underscores in type names may be available only with certain extended compilers.
where x >= 0, y > 0, and rho > 0.ellrl(x, y, rho) = R(1/2; 1/2, 1/2, 1; x, y, rho) = (2 / pi) * integral(t = 0:Infinity) t**(1/2) * (t + x)**(-1/2) * (t + y)**(-1/2) * (t + rho)**(-1) dt = (8 / (3 * pi)) * ellrh(x, y, 0, rho)
The function is symmetric in x and y.
The normalization condition satisfied is
ellrl(x, x, x) = x**(-1/2).