diff --git a/main.c b/main.c index e6f76e0..3a11c8f 100644 --- a/main.c +++ b/main.c @@ -490,17 +490,16 @@ void calculate_simplifications(void) lookup[truthtable].cost = cost; } - // create a list of the "done" truthtables - struct list { - int headtails[N], next[N], head; - - // for debugging: - bool in[N]; + // create a list truthtables we're done with + // and another list of truthtables we're still working on. + struct boollist { + int _128[2], _64[4], _32[8], _16[16], _8[32], _4[64], _2[128], _1[256]; } done, undone; - // init 'done': - void init(struct list* this) + void init_empty(struct boollist* this) { + assert(!"TODO"); + #if 0 this->head = -1; for (int i = 0; i < N; i++) @@ -509,11 +508,18 @@ void calculate_simplifications(void) this->in[i] = false; } + #endif + } + + void init_full(struct boollist* this) + { + assert(!"TODO"); } - init(&done), init(&undone); + assert(!"TODO"); + // init(&done), init(&undone); - void insert(struct list* this, int index) + void insert(struct boollist* this, uint16_t element) { assert(!"TODO"); #if 0 @@ -564,6 +570,11 @@ void calculate_simplifications(void) #endif } + void remove(struct boollist* this, uint16_t element) + { + assert(!"TODO"); + } + append(W, 0), lookup[W].kind = ek_W; append(X, 0), lookup[X].kind = ek_X; append(Y, 0), lookup[Y].kind = ek_Y; @@ -576,6 +587,8 @@ void calculate_simplifications(void) { uint16_t truthtable = pop(); + assert(!"TODO"); + #if 0 insert(truthtable); int cost = lookup[truthtable].cost; @@ -780,6 +793,7 @@ void calculate_simplifications(void) } } #endif + #endif } if (verbose && print_with_color)