aboutsummaryrefslogtreecommitdiff
path: root/src/utils/constants.h
blob: da0a81340fa5afba3f4c80491e3d88679b0bddeb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#define UINT8_BIT(i) (UINT8_C(1) << (uint8_t)(i))

#define FACTORIAL_MAX INT64_C(12)

#define POW_2_11   INT64_C(2048)
#define POW_3_7    INT64_C(2187)
#define FACT_12    INT64_C(479001600)
#define FACT_8     INT64_C(40320)
#define COMB_12_4  INT64_C(495)
#define COMB_8_4   INT64_C(70)

#define UINT8_ERROR UINT8_MAX

STATIC int64_t binomial[12][12] = {
	{1,  0,  0,   0,   0,   0,   0,   0,   0,  0,  0, 0},
	{1,  1,  0,   0,   0,   0,   0,   0,   0,  0,  0, 0},
	{1,  2,  1,   0,   0,   0,   0,   0,   0,  0,  0, 0},
	{1,  3,  3,   1,   0,   0,   0,   0,   0,  0,  0, 0},
	{1,  4,  6,   4,   1,   0,   0,   0,   0,  0,  0, 0},
	{1,  5, 10,  10,   5,   1,   0,   0,   0,  0,  0, 0},
	{1,  6, 15,  20,  15,   6,   1,   0,   0,  0,  0, 0},
	{1,  7, 21,  35,  35,  21,   7,   1,   0,  0,  0, 0},
	{1,  8, 28,  56,  70,  56,  28,   8,   1,  0,  0, 0},
	{1,  9, 36,  84, 126, 126,  84,  36,   9,  1,  0, 0},
	{1, 10, 45, 120, 210, 252, 210, 120,  45, 10,  1, 0},
	{1, 11, 55, 165, 330, 462, 462, 330, 165, 55, 11, 1},
};

Generated with cgit - Back to sebastiano.tronto.net