in pachi_py/pachi/uct/slave.c [71:87]
void uct_htable_reset(struct tree *t)
{
if (!t->htable) return;
double start = time_now();
memset(t->htable, 0, (1 << t->hbits) * sizeof(t->htable[0]));
if (DEBUGL(3))
fprintf(stderr, "tree occupied %ld %.1f%% inserts %ld collisions %ld/%ld %.1f%% clear %.3fms\n"
"parent_not_found %.1f%% parent_leaf %.1f%% node_not_found %.1f%%\n",
h_counts.occupied, h_counts.occupied * 100.0 / (1 << t->hbits),
h_counts.inserts, h_counts.collisions, h_counts.lookups,
h_counts.collisions * 100.0 / (h_counts.lookups + 1),
(time_now() - start)*1000,
parent_not_found * 100.0 / (h_counts.lookups + 1),
parent_leaf * 100.0 / (h_counts.lookups + 1),
node_not_found * 100.0 / (h_counts.lookups + 1));
if (DEBUG_MODE) h_counts.occupied = 0;
}