C++ functions which evaluate Legendre polynomials
P0(x):
template <class T> T P0(const T& x);
P1(x):
template <class T> T P1(const T& x);
P2(x):
template <class T> T P2(const T& x);
Pn(x):
template <class T> T Pn(unsigned int n, const T& x);