77 lines
2.3 KiB
C
77 lines
2.3 KiB
C
/* Exported global variables */
|
|
|
|
extern struct ElementClass *ElementClasses;
|
|
extern struct NodeClass *NodeClasses;
|
|
|
|
extern struct nlist *Circuit1;
|
|
extern struct nlist *Circuit2;
|
|
|
|
extern int ExhaustiveSubdivision;
|
|
|
|
extern int left_col_end;
|
|
extern int right_col_end;
|
|
|
|
#ifdef TCL_NETGEN
|
|
#include <tcl.h>
|
|
extern int InterruptPending;
|
|
#endif
|
|
|
|
/* Exported procedures */
|
|
|
|
void PrintElementClasses(struct ElementClass *EC, int type, int dolist);
|
|
void PrintNodeClasses(struct NodeClass *NC, int type, int dolist);
|
|
void SummarizeNodeClasses(struct NodeClass *NC);
|
|
void PrintPropertyResults(int do_list);
|
|
void PrintCoreStats(void);
|
|
void ResetState(void);
|
|
void CreateTwoLists(char *name1, int file1, char *name2, int file2,
|
|
int dolist);
|
|
int Iterate(void);
|
|
int VerifyMatching(void);
|
|
void PrintAutomorphisms(void);
|
|
int ResolveAutomorphisms(void);
|
|
void PermuteAutomorphisms(void);
|
|
int Permute(void);
|
|
int PermuteSetup(char *model, int filenum, char *pin1, char *pin2);
|
|
int PermuteForget(char *model, int filenum, char *pin1, char *pin2);
|
|
int EquivalenceElements(char *name1, int file1, char *name2, int file2);
|
|
int EquivalenceNodes(char *name1, int file1, char *name2, int file2);
|
|
int EquivalenceClasses(char *name1, int file1, char *name2, int file2);
|
|
int IgnoreClass(char *name, int file, unsigned char type);
|
|
int MatchPins(struct nlist *tp1, struct nlist *tp2, int dolist);
|
|
int PropertyOptimize(struct objlist *ob, struct nlist *tp, int run,
|
|
int series, int comb);
|
|
|
|
int CreateCompareQueue(char *, int, char *, int);
|
|
int GetCompareQueueTop(char **, int *, char **, int *);
|
|
int PeekCompareQueueTop(char **, int *, char **, int *);
|
|
void RemoveCompareQueue();
|
|
|
|
void PrintIllegalClasses();
|
|
void PrintIllegalNodeClasses();
|
|
void PrintIllegalElementClasses();
|
|
|
|
void DumpNetwork(struct objlist *ob, int cidx);
|
|
void DumpNetworkAll(char *name, int file);
|
|
|
|
void RegroupDataStructures();
|
|
void FormatIllegalElementClasses();
|
|
void FormatIllegalNodeClasses();
|
|
int ResolveAutomorphsByProperty();
|
|
int ResolveAutomorphsByPin();
|
|
void SummarizeElementClasses(struct ElementClass *EC);
|
|
int remove_group_tags(struct objlist *ob);
|
|
|
|
|
|
#ifdef TCL_NETGEN
|
|
int EquivalentNode();
|
|
int EquivalentElement();
|
|
|
|
void enable_interrupt();
|
|
void disable_interrupt();
|
|
|
|
Tcl_Obj *ListNodeClasses(int legal);
|
|
Tcl_Obj *ListElementClasses(int legal);
|
|
#endif
|
|
|