0
|
1 #define QF_LAMBDA 0.275
|
|
2 #define QF_KARLIN 0.333
|
|
3
|
|
4 typedef struct container{
|
|
5 llpos * table[4][4][4][4][4][4][4][4][4][4][4][4];
|
|
6 } Container;
|
|
7
|
|
8 typedef struct index{
|
|
9 Tuple_hits table[4][4][4][4][4][4][4][4][4][4][4][4];
|
|
10 } Index;
|
|
11
|
|
12 /*
|
|
13 Nucleotides matching function
|
|
14 */
|
|
15 int64_t compare_letters(unsigned char a, unsigned char b);
|
|
16
|
|
17 /**
|
|
18 * Initialize the memory pool to later retrieve individual memory addresses for llpos
|
|
19 *
|
|
20 */
|
|
21 void init_mem_pool_llpos(Mempool_l * mp);
|
|
22
|
|
23 /**
|
|
24 * Get a new memory address from the pool mp for a type llpos
|
|
25 *
|
|
26 */
|
|
27 llpos * getNewLocationllpos(Mempool_l * mp, uint64_t * n_pools_used);
|
|
28
|
|
29
|
|
30
|
|
31 AVLTree * getNewLocationAVLTree(Mempool_AVL * mp, uint64_t * n_pools_used, uint64_t key);
|
|
32
|
|
33
|
|
34 void init_mem_pool_AVL(Mempool_AVL * mp);
|
|
35
|
|
36
|
|
37 AVLTree * right_rotate(AVLTree * y);
|
|
38
|
|
39 AVLTree * left_rotate(AVLTree * x);
|
|
40
|
|
41 AVLTree * find_AVLTree(AVLTree * node, uint64_t key);
|
|
42
|
|
43 llpos * find_AVLTree_llpos(AVLTree * node, uint64_t key);
|
|
44
|
|
45 AVLTree * insert_AVLTree(AVLTree * node, uint64_t key, Mempool_AVL * mp, uint64_t * n_pools_used, uint64_t pos, Mempool_l * mp_l, uint64_t * n_pools_used_l);
|
|
46
|
|
47 void pre_order(AVLTree * root);
|
|
48
|
|
49 uint64_t sum_of_all_tree(AVLTree * root);
|