annotate chromeister/src/commonFunctions.h @ 0:4616cc3476d4 draft

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