@@ -62,7 +62,7 @@ namespace math {
6262 */
6363template <typename T, require_arithmetic_t <T>* = nullptr >
6464inline return_type_t <T> falling_factorial (const T& x, int n) {
65- static const char * function = " falling_factorial" ;
65+ constexpr const char * function = " falling_factorial" ;
6666 check_not_nan (function, " first argument" , x);
6767 check_nonnegative (function, " second argument" , n);
6868 return boost::math::falling_factorial (x, n, boost_policy_t <>());
@@ -78,7 +78,8 @@ inline return_type_t<T> falling_factorial(const T& x, int n) {
7878 * @param b Second input
7979 * @return Falling factorial function applied to the two inputs.
8080 */
81- template <typename T1, typename T2, require_any_container_t <T1, T2>* = nullptr >
81+ template <typename T1, typename T2, require_any_container_t <T1, T2>* = nullptr ,
82+ require_all_not_var_matrix_t <T1, T2>* = nullptr >
8283inline auto falling_factorial (const T1& a, const T2& b) {
8384 return apply_scalar_binary (a, b, [&](const auto & c, const auto & d) {
8485 return falling_factorial (c, d);
0 commit comments