Legofit
infers population history from nucleotide site patterns.
comb.h
1#ifndef ARR_COMB_H
2#define ARR_COMB_H
3
4#include <stdint.h>
5
6int traverseComb(int n, int t,
7 int (*visit)(int tt, int a[tt], void *data),
8 void *data);
9
10int traverseMultiComb(int k, int n[k],
11 int (*visit)(int kk, int nn[kk],
12 int *b[kk], void *data),
13 void *data);
14long multinom(int k, int x[k]);
15int64_t binom(int32_t n, int32_t x);
16void binom_free(void);
17
18#endif
int traverseMultiComb(int k, int n[k], int(*visit)(int kk, int nn[kk], int *b[kk], void *data), void *data)
Visit each way of allocating N balls among k boxes, such that there are b[0] balls in the first box,...
Definition: comb.c:195
int64_t binom(int32_t n, int32_t x)
Binomial coefficient.
Definition: comb.c:312
void binom_free(void)
Free the hash map used to store binom values.
Definition: comb.c:378
long multinom(int k, int x[k])
Return N!/(prod x[i]!), the number of ways of allocating N = sum(x[i]) balls among k boxes,...
Definition: comb.c:292