Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members  

dddmpInt.h

Go to the documentation of this file.
00001 
00024 #ifndef _DDDMPINT
00025 #define _DDDMPINT
00026 
00027 #include  "dddmp.h"
00028 #include  "cuddInt.h"
00029 
00030 
00031 /*---------------------------------------------------------------------------*/
00032 /* Constant declarations                                                     */
00033 /*---------------------------------------------------------------------------*/
00034 
00035 /* constants for code fields */
00036 #define DDDMP_TERMINAL      0
00037 #define DDDMP_ABSOLUTE_ID   1
00038 #define DDDMP_RELATIVE_ID   2
00039 #define DDDMP_RELATIVE_1    3
00040 
00041 #define DDDMP_MAXSTRLEN 500
00042 
00043 /*---------------------------------------------------------------------------*/
00044 /* Structure declarations                                                     */
00045 /*---------------------------------------------------------------------------*/
00046 
00059 struct binary_dd_code {
00060   unsigned  Unused : 1;
00061   unsigned  V      : 2;
00062   unsigned  T      : 2;
00063   unsigned  Ecompl : 1;
00064   unsigned  E      : 2;
00065 };
00066 
00067 
00068 /*---------------------------------------------------------------------------*/
00069 /* Type declarations                                                         */
00070 /*---------------------------------------------------------------------------*/
00071 
00072 /*---------------------------------------------------------------------------*/
00073 /* Variable declarations                                                     */
00074 /*---------------------------------------------------------------------------*/
00075 
00076 /*---------------------------------------------------------------------------*/
00077 /* Macro declarations                                                        */
00078 /*---------------------------------------------------------------------------*/
00079 
00080 #ifdef ALLOC
00081 #define DDDMP_ALLOC(type, num)  ALLOC(type,num)
00082 #else
00083 #define DDDMP_ALLOC(type, num)  \
00084     ((type *) malloc(sizeof(type) * (num)))
00085 #endif
00086 
00087 #ifdef FREE
00088 #define DDDMP_FREE(p)  (FREE(p))
00089 #else
00090 #define DDDMP_FREE(p) \
00091     ((p)!=NULL)?(free(p)):0)
00092 #endif
00093 
00096 /*---------------------------------------------------------------------------*/
00097 /* Function prototypes                                                       */
00098 /*---------------------------------------------------------------------------*/
00099 
00100 EXTERN int DddmpWriteCode(FILE *fp, struct binary_dd_code code);
00101 EXTERN int DddmpReadCode(FILE *fp, struct binary_dd_code *pcode);
00102 EXTERN int DddmpWriteInt(FILE *fp, int id);
00103 EXTERN int DddmpReadInt(FILE *fp, int *pid);
00104 EXTERN int DddmpNumberDdNodes(DdManager *dd, DdNode **f, int n);
00105 EXTERN void DddmpUnnumberDdNodes(DdManager *dd, DdNode **f, int n);
00106 EXTERN void DddmpWriteNodeIndex(DdNode *f, int id);
00107 EXTERN int DddmpReadNodeIndex(DdNode *f);
00108 EXTERN int DddmpVisited(DdNode *f);
00109 EXTERN void DddmpSetVisited(DdNode *f);
00110 EXTERN void DddmpClearVisited(DdNode *f);
00111 EXTERN int NumberNodeRecur(DdNode *f, int id);
00112 
00115 #endif

Generated on Fri Jan 14 08:28:59 2005 for SystemC2.1beta11(excludingMSLib)(IncludingSCV)\nProvidedby:www.openverificationfoundation.org by doxygen1.2.18