common.h (684B)
1 #ifndef COMMON_H_ 2 #define COMMON_H_ 3 4 #include <assert.h> 5 #include <reading.h> 6 #include <stdint.h> 7 #include <stdio.h> 8 #include <sys/queue.h> 9 10 struct entry { 11 size_t index; 12 SIMPLEQ_ENTRY(entry) entries; 13 }; 14 15 typedef struct { 16 size_t n; 17 uint64_t *mod; 18 uint64_t *rmod; 19 size_t *fnext; 20 size_t *tnext; 21 22 uint64_t *inspections; 23 24 size_t nitems; 25 uint64_t *items; 26 27 SIMPLEQ_HEAD(listhead, entry) * heads; 28 29 uint64_t (*operate)(uint64_t, size_t); 30 } monkis; 31 32 void print_monkis(monkis m); 33 monkis parse_monkis(char **lines, size_t nlines, int mods); 34 void mmonkey(monkis m, size_t i); 35 void mround(monkis m); 36 uint64_t get_result(monkis m); 37 void let_the_monkis_out(monkis m); 38 39 #endif