common.c (478B)
1 #include "common.h" 2 3 uint64_t chrs_to_node(char *s) { 4 return (((uint64_t)s[0] - 'A') * 26 * 26) + (((uint64_t)s[1] - 'A') * 26) + 5 ((uint64_t)s[2] - 'A'); 6 } 7 8 void read_graph(uint64_t *lefts, uint64_t *rights, char **lines, 9 size_t nlines) { 10 size_t i; 11 size_t n, l, r; 12 13 for (i = 2; i < nlines; i++) { 14 n = chrs_to_node(lines[i]); 15 l = chrs_to_node(&lines[i][7]); 16 r = chrs_to_node(&lines[i][12]); 17 lefts[n] = l; 18 rights[n] = r; 19 } 20 }