aocc23

Advent of Code 2023
git clone git://www.tkruger.se/aocc23.git
Log | Files | Refs | README

common.c (545B)


      1 #include "common.h"
      2 
      3 void parse_sets(smallset *ls, smallset *rs, char **lines, size_t nlines) {
      4   size_t i;
      5   char *cc;
      6   uint64_t v;
      7 
      8   for (i = 0; i < nlines; i++) {
      9     cc = lines[i];
     10 
     11     // until data
     12     while (*cc != ':') {
     13       cc++;
     14     }
     15 
     16     smallset_init(&ls[i], 128);
     17     smallset_init(&rs[i], 128);
     18 
     19     while ((cc = sread_next_u64(&v, cc)) != NULL) {
     20       smallset_insert(&ls[i], v);
     21       if (cc[1] == '|')
     22         break;
     23     }
     24 
     25     while ((cc = sread_next_u64(&v, cc)) != NULL) {
     26       smallset_insert(&rs[i], v);
     27     }
     28   }
     29 }