For code such as this:
why is the
if (include_summand<propto>::value) inside the loop. In other words, since that condition does not vary across
i why isn’t it
for (size_t i = 0; i < max_size(N, n); i++)
normalizing_constant[i] = binomial_coefficient_log(N_vec[i], n_vec[i]);
We seem to put these constant conditions inside loops a lot. Is the compiler much smarter than I think or am I much dumber than I think?