43template <base::concepts::real_scalar F, base::concepts::
integral I>
45 if constexpr (std::is_signed_v<I>) {
47 return std::numeric_limits<F>::quiet_NaN();
62 static_cast<F
>(i) * y_m) /
79template <base::concepts::real_scalar F, base::concepts::
integral I>
81 if constexpr (std::is_signed_v<I>) {
83 return {std::numeric_limits<F>::quiet_NaN(),
84 std::numeric_limits<F>::quiet_NaN()};
116 static_cast<F
>(i) * y_m) /
Definition of integral concept.
constexpr T half
Value 0.5.
Namespace of special functions.
constexpr auto legendre(F x, I n) -> F
Calculate Legendre function.
constexpr auto legendre_with_diff(F x, I n) -> std::pair< F, F >
Calculate Legendre function and its differential coefficient.
Definition of real_scalar concept.