cc [ flags ] -I/usr/local/include file(s) -L/usr/local/lib -lmcw [ ... ] #include <mathcw.h> extern float elwpf (float u, float e1, float e2); extern double elwp (double u, double e1, double e2); extern long double elwpl (long double u, long double e1, long double e2); extern __float80 elwpw (__float80 u, __float80 e1, __float80 e2); extern __float128 elwpq (__float128 u, __float128 e1, __float128 e2); extern long_long_double elwpll (long_long_double u, long_long_double e1, long_long_double e2); extern decimal_float elwpdf (decimal_float u, decimal_float e1, decimal_float e2); extern decimal_double elwpd (decimal_double u, decimal_double e1, decimal_double e2); extern decimal_long_double elwpdl (decimal_long_double u, decimal_long_double e1, decimal_long_double e2); extern decimal_long_long_double elwpdll (decimal_long_long_double u, decimal_long_long_double e1, decimal_long_long_double e2);
NB: Functions with prototypes containing underscores in type names may be available only with certain extended compilers.
The argument u is unrestricted, but function accuracy deteriorates severely for u values outside the periods of the Weierstrass elliptic function. The periods can be found with elwo(3CW).
The letter p in the Weierstrass elliptic function name is conventionally represented by a stylized script letter, although typographical limitations sometimes force it to be a calligraphic or fraktur letter.
Mathematical texts commonly parameterize the Weierstrass functions with the cubic polynomial coefficents g2 and g3, instead of the roots e1 and e2. Convert between the two argument conventions with elwe(3CW) and elwg(3CW).
See M. Abramowitz & I. A. Stegun, Handbook of Mathematical Functions, Chapter 18, for definitions of the Weierstrass elliptic, sigma, and zeta functions.