DEBUG flags cleanup, some dead code removal
This commit is contained in:
27
eval.c
27
eval.c
@@ -5,6 +5,7 @@
|
||||
|
||||
static int nodes_calc; /* total nodes evaluated */
|
||||
static int leaves_calc; /* total leaves evaluated */
|
||||
int firstonly=0;
|
||||
|
||||
int eval_node(node, depth, pvals, pops, ncalcs)
|
||||
NODE *node;
|
||||
@@ -16,7 +17,7 @@ int eval_node(node, depth, pvals, pops, ncalcs)
|
||||
static int *vals, *val_zero;
|
||||
static char *ops, *ops_zero;
|
||||
static int totcalc;
|
||||
int val1, val2, op, res=-1, lcalcs, rcalcs;
|
||||
int val1, val2, op, res=-1, lcalcs, rcalcs, diff;
|
||||
|
||||
if (depth == 0) {
|
||||
val_zero=vals=pvals;
|
||||
@@ -48,15 +49,12 @@ int eval_node(node, depth, pvals, pops, ncalcs)
|
||||
node->op=*ops;
|
||||
ops++;
|
||||
totcalc++;
|
||||
//printf("NEW node(%s)\n", ops);
|
||||
val1=eval_node(node->left, depth+1, pvals, ops, &lcalcs);
|
||||
//printf("val1=%d ", val1);
|
||||
if (val1 <= 0)
|
||||
return -1;
|
||||
return val1;
|
||||
val2=eval_node(node->right, depth+1, pvals, ops, &rcalcs);
|
||||
//printf("val2=%d\n", val2);
|
||||
if (val2 <= 0)
|
||||
return -1;
|
||||
return val2;
|
||||
switch (op) {
|
||||
case Add:
|
||||
res=val1+val2;
|
||||
@@ -103,14 +101,25 @@ int eval_node(node, depth, pvals, pops, ncalcs)
|
||||
*ncalcs=lcalcs+rcalcs+1;
|
||||
}
|
||||
if (res > 0) {
|
||||
if (!check_best(res, *ncalcs, node, val_zero, ops_zero))
|
||||
res=-1;
|
||||
diff=check_best(res, *ncalcs, node, val_zero, ops_zero);
|
||||
//printf("eval=%d firstonly=%d\n", eval, firstonly);
|
||||
if (diff == 0) { /* exact result, we stop here */
|
||||
# ifdef DEBUG_EVAL3
|
||||
printf("EXACT eval=%d\n", diff);
|
||||
# endif
|
||||
if (firstonly) {
|
||||
print_results();
|
||||
exit(0);
|
||||
}
|
||||
res=0;
|
||||
}
|
||||
}
|
||||
if (sigint_received) {
|
||||
print_bests();
|
||||
exit(1);
|
||||
}
|
||||
# ifdef DEBUG1
|
||||
|
||||
# ifdef DEBUG_EVAL
|
||||
for (i=0; i<=depth; ++i)
|
||||
printf(" ");
|
||||
printf("res=%d\n", res);
|
||||
|
Reference in New Issue
Block a user