00001
00017 #ifndef _DDDMP
00018 #define _DDDMP
00019
00020 #include "util.h"
00021 #include "cudd.h"
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032 #define DDDMP_VERSION "DDDMP-1.0"
00033
00034
00035
00036
00037
00038 #define DDDMP_MODE_TEXT ((int)'A')
00039 #define DDDMP_MODE_BINARY ((int)'B')
00040 #define DDDMP_MODE_DEFAULT ((int)'D')
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00059 typedef enum {
00060 DDDMP_VARIDS,
00061 DDDMP_VARPERMIDS,
00062 DDDMP_VARAUXIDS,
00063 DDDMP_VARNAMES,
00064 DDDMP_VARDEFAULT
00065 } Dddmp_VarInfoType;
00066
00067
00075 typedef enum {
00076 DDDMP_VAR_MATCHIDS,
00077 DDDMP_VAR_MATCHPERMIDS,
00078 DDDMP_VAR_MATCHAUXIDS,
00079 DDDMP_VAR_MATCHNAMES,
00080 DDDMP_VAR_COMPOSEIDS
00081 } Dddmp_VarMatchType;
00082
00083
00091 typedef enum {
00092 DDDMP_ROOT_MATCHNAMES,
00093 DDDMP_ROOT_MATCHLIST
00094 } Dddmp_RootMatchType;
00095
00096
00097
00098
00099
00100
00101
00102
00103
00104
00107
00108
00109
00110
00111 EXTERN int Dddmp_Text2Bin(char *filein, char *fileout);
00112 EXTERN int Dddmp_Bin2Text(char *filein, char *fileout);
00113 EXTERN int Dddmp_cuddBddDisplayBinary(char *filein, char *fileout);
00114 EXTERN int Dddmp_cuddBddStore(DdManager *dd, char *ddname, DdNode *f, char **varnames, int *auxids, int mode, Dddmp_VarInfoType varinfo, char *fname, FILE *fp);
00115 EXTERN int Dddmp_cuddBddArrayStore(DdManager *dd, char *ddname, int nroots, DdNode **f, char **rootnames, char **varnames, int *auxids, int mode, Dddmp_VarInfoType varinfo, char *fname, FILE *fp);
00116 EXTERN DdNode * Dddmp_cuddBddLoad(DdManager *dd, Dddmp_VarMatchType varmatchmode, char **varmatchnames, int *varmatchauxids, int *varcomposeids, int mode, char *file, FILE *fp);
00117 EXTERN int Dddmp_cuddBddArrayLoad(DdManager *dd, Dddmp_RootMatchType rootmatchmode, char **rootmatchnames, Dddmp_VarMatchType varmatchmode, char **varmatchnames, int *varmatchauxids, int *varcomposeids, int mode, char *file, FILE *fp, DdNode ***pproots);
00118
00121 #endif