double legendre(unsigned l, double x); float legendref(unsigned l, float x); long double legendrel(unsigned l, long double x);
Pℓ(x)=12ℓℓ!dℓdxℓ(x2−1)ℓ , for |x|≤1,
where l is l and x is x.