8#ifndef model_CombinationWithoutRepetition_H_
9#define model_CombinationWithoutRepetition_H_
25 template <
int N,
int k>
28 static_assert(
N>0,
"N MUST BE >0.");
29 static_assert(
k>0,
"k MUST BE >0.");
30 static_assert(
k<=
N,
"k MUST BE <=N.");
31 static constexpr int value=Binomial<N,k>::value;
36 static Eigen::Matrix<T,value,k>
combine(
const Eigen::Matrix<T,1,N>& pool)
40 Eigen::Matrix<T,value,k>
temp;
42 temp<<(Eigen::Matrix<T,
k,Binomial<
N-1,
k-1>
::value>() << Eigen::Matrix<T,1,Binomial<
N-1,
k-1>
::value>().Constant(pool(0)),
59 static_assert(
k>0,
"k MUST BE >0.");
61 enum{
value=Binomial<N,k>::value};
65 static Eigen::Matrix<T,value,k>
combine(
const Eigen::Matrix<T,1,N>& pool)
79 static_assert(
N>0,
"N MUST BE >0.");
81 enum{
value=Binomial<N,k>::value};
84 static Eigen::Matrix<T,value,k>
combine(
const Eigen::Matrix<T,1,N>& pool)
static Eigen::Matrix< T, value, k > combine(const Eigen::Matrix< T, 1, N > &pool)
static Eigen::Matrix< T, value, k > combine(const Eigen::Matrix< T, 1, N > &pool)
static Eigen::Matrix< T, value, k > combine(const Eigen::Matrix< T, 1, N > &pool)
static constexpr int value