annotate IMSAME/src/commonFunctions.h @ 5:353e5673bcb8 draft default tip

Uploaded
author bitlab
date Mon, 17 Dec 2018 12:20:41 -0500
parents 762009a91895
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
762009a91895 Uploaded
bitlab
parents:
diff changeset
1 #ifndef COMMON_FUNCTIONS_H
762009a91895 Uploaded
bitlab
parents:
diff changeset
2 #define COMMON_FUNCTIONS_H
762009a91895 Uploaded
bitlab
parents:
diff changeset
3 #include "structs.h"
762009a91895 Uploaded
bitlab
parents:
diff changeset
4 /**
762009a91895 Uploaded
bitlab
parents:
diff changeset
5 * Print the error message 's' and exit(-1)
762009a91895 Uploaded
bitlab
parents:
diff changeset
6 */
762009a91895 Uploaded
bitlab
parents:
diff changeset
7 void terror(char *s);
762009a91895 Uploaded
bitlab
parents:
diff changeset
8
762009a91895 Uploaded
bitlab
parents:
diff changeset
9
762009a91895 Uploaded
bitlab
parents:
diff changeset
10 /**
762009a91895 Uploaded
bitlab
parents:
diff changeset
11 * Function to read char by char buffered from a FILE
762009a91895 Uploaded
bitlab
parents:
diff changeset
12 */
762009a91895 Uploaded
bitlab
parents:
diff changeset
13 char buffered_fgetc(char *buffer, uint64_t *pos, uint64_t *read, FILE *f);
762009a91895 Uploaded
bitlab
parents:
diff changeset
14
762009a91895 Uploaded
bitlab
parents:
diff changeset
15
762009a91895 Uploaded
bitlab
parents:
diff changeset
16 void get_num_seqs_and_length(char * seq_buffer, uint64_t * n_seqs, uint64_t * t_len, LoadingDBArgs * ldbargs);
762009a91895 Uploaded
bitlab
parents:
diff changeset
17
762009a91895 Uploaded
bitlab
parents:
diff changeset
18 /*
762009a91895 Uploaded
bitlab
parents:
diff changeset
19 Generates a queue of tasks for threads
762009a91895 Uploaded
bitlab
parents:
diff changeset
20 */
762009a91895 Uploaded
bitlab
parents:
diff changeset
21 Queue * generate_queue(Head * queue_head, uint64_t t_reads, uint64_t n_threads, uint64_t levels);
762009a91895 Uploaded
bitlab
parents:
diff changeset
22
762009a91895 Uploaded
bitlab
parents:
diff changeset
23 /*
762009a91895 Uploaded
bitlab
parents:
diff changeset
24 Prints a queue task
762009a91895 Uploaded
bitlab
parents:
diff changeset
25 */
762009a91895 Uploaded
bitlab
parents:
diff changeset
26 void print_queue(Queue * q);
762009a91895 Uploaded
bitlab
parents:
diff changeset
27
762009a91895 Uploaded
bitlab
parents:
diff changeset
28 /*
762009a91895 Uploaded
bitlab
parents:
diff changeset
29 Gets the next task to do when a pthread is free
762009a91895 Uploaded
bitlab
parents:
diff changeset
30 */
762009a91895 Uploaded
bitlab
parents:
diff changeset
31 Queue * get_task_from_queue(Head * queue_head, pthread_mutex_t * lock);
762009a91895 Uploaded
bitlab
parents:
diff changeset
32
762009a91895 Uploaded
bitlab
parents:
diff changeset
33 uint64_t quick_pow4(uint64_t n);
762009a91895 Uploaded
bitlab
parents:
diff changeset
34
762009a91895 Uploaded
bitlab
parents:
diff changeset
35 uint64_t quick_pow4byLetter(uint64_t n, const char c);
762009a91895 Uploaded
bitlab
parents:
diff changeset
36
762009a91895 Uploaded
bitlab
parents:
diff changeset
37 uint64_t hashOfWord(const unsigned char * word, uint32_t k);
762009a91895 Uploaded
bitlab
parents:
diff changeset
38
762009a91895 Uploaded
bitlab
parents:
diff changeset
39 uint64_t asciiToUint64(const char *text);
762009a91895 Uploaded
bitlab
parents:
diff changeset
40
762009a91895 Uploaded
bitlab
parents:
diff changeset
41 #endif /* COMMON_FUNCTIONS_H */