21#ifndef _gcem_binomial_coef_HPP
22#define _gcem_binomial_coef_HPP
37 (k == T(0) || n == k) ? T(1) :
43template<typename T, typename std::enable_if<std::is_integral<T>::value>::type* =
nullptr>
52template<typename T, typename std::enable_if<!std::is_integral<T>::value>::type* =
nullptr>
64template<
typename T1,
typename T2,
typename TC = common_t<T1,T2>>
85template<
typename T1,
typename T2>
constexpr T binomial_coef_recur(const T n, const T k) noexcept
Definition binomial_coef.hpp:33
constexpr T binomial_coef_check(const T n, const T k) noexcept
Definition binomial_coef.hpp:46
constexpr TC binomial_coef_type_check(const T1 n, const T2 k) noexcept
Definition binomial_coef.hpp:67
constexpr common_t< T1, T2 > binomial_coef(const T1 n, const T2 k) noexcept
Compile-time binomial coefficient.
Definition binomial_coef.hpp:88
typename std::common_type< T... >::type common_t
Definition gcem_options.hpp:80
unsigned long long int ullint_t
Definition gcem_options.hpp:69