static void write_edges(FILE *fp, const NSegment *tree) { if (tree == NULL) return; const NSegment *left = tree->left; const NSegment *right = tree->right; if (left) { write_edges(fp, left); write_edge(fp, tree, left); } if (right) { write_edges(fp, right); write_edge(fp, tree, right); } #if 0 const NSegment *parent = tree->up; if (parent) { write_edge(fp, tree, parent); } #endif }
void SaveModel(FILE *fp, double StoneDiff, BitBoard b_board, BitBoard w_board, int color) { fprintf(fp, "%lf\n", StoneDiff); write_h_ver1(fp); write_h_ver2(fp); write_h_ver3(fp); write_dia_ver1(fp); write_dia_ver2(fp); write_dia_ver3(fp); write_dia_ver4(fp); write_edge(fp); write_corner3_3(fp); write_corner5_2(fp); write_triangle(fp); //write_mobility(fp, b_board, w_board); write_pality(fp, ~(b_board | w_board), color); //write_potmob(fp, b_board, w_board); }
static int write_edges(Agraph_t * g, GVJ_t * job, int top, state_t* sp) { Agnode_t* np; Agedge_t* ep; int not_first = 0; np = agfstnode(g); if (!np) return 0; ep = NULL; /* find a first edge */ for (; np; np = agnxtnode(g,np)) { for (ep = agfstout(g, np); ep; ep = agnxtout(g,ep)) { if (ep) break; } if (ep) break; } if (!ep) return 0; gvputs(job, ",\n"); indent(job, sp->Level++); gvputs(job, "\"edges\": [\n"); if (!top) indent(job, sp->Level); for (; np; np = agnxtnode(g,np)) { for (ep = agfstout(g, np); ep; ep = agnxtout(g,ep)) { if (not_first) if (top) gvputs(job, ",\n"); else gvputs(job, ","); else not_first = 1; write_edge(ep, job, top, sp); } } sp->Level--; gvputs(job, "\n"); indent(job, sp->Level); gvputs(job, "]"); return 1; }
void SaveModel_zyouseki() { FILE *fp; if(fopen_s(&fp, "eval_zyouseki.dat", "a") != 0) { return; } fprintf(fp, "%d\n", 0); write_h_ver1(fp); write_h_ver2(fp); write_h_ver3(fp); write_dia_ver1(fp); write_dia_ver2(fp); write_dia_ver3(fp); write_dia_ver4(fp); write_edge(fp); write_corner5_2(fp); write_triangle(fp); fclose(fp); }