/* NAME {* bdd\_printdot *} EXTRA {* bdd\_fprintdot *} SECTION {* fileio *} SHORT {* prints a description of a BDD in DOT format *} PROTO {* void bdd_printdot(BDD r) int bdd_fnprintdot(char* fname, BDD r) void bdd_fprintdot(FILE* ofile, BDD r) *} DESCR {* Prints a BDD in a format suitable for use with the graph drawing program DOT to either stdout, a designated file {\tt ofile} or the file named by {\tt fname}. In the last case the file will be opened for writing, any previous contents destroyed and then closed again. *} ALSO {* bdd\_printall, bdd\_printtable, bdd\_printset *} */ void bdd_printdot(BDD r) { BUDDY_PROLOGUE; ADD_ARG1(T_BDD,r); bdd_fprintdot(stdout, r); RETURN(); }
CAMLprim value wrapper_bdd_fprintdot(value out, value bdd) { CAMLparam2(out, bdd); BDD x = BDD_val(bdd); FILE* f = stream_of_channel(out,"w"); bdd_fprintdot(f, x); fflush(f); CAMLreturn(Val_unit); }
int bdd_fnprintdot(char *fname, BDD r) { FILE *ofile = fopen(fname, "w"); if (ofile == NULL) return bdd_error(BDD_FILE); bdd_fprintdot(ofile, r); fclose(ofile); return 0; }
/* NAME {* bdd\_printdot *} EXTRA {* bdd\_fprintdot *} SECTION {* fileio *} SHORT {* prints a description of a BDD in DOT format *} PROTO {* void bdd_printdot(BDD r) int bdd_fnprintdot(char* fname, BDD r) void bdd_fprintdot(FILE* ofile, BDD r) *} DESCR {* Prints a BDD in a format suitable for use with the graph drawing program DOT to either stdout, a designated file {\tt ofile} or the file named by {\tt fname}. In the last case the file will be opened for writing, any previous contents destroyed and then closed again. *} ALSO {* bdd\_printall, bdd\_printtable, bdd\_printset *} */ void bdd_printdot(BDD r) { bdd_fprintdot(stdout, r); }