Initial version of donated sources by Avertec, 3.4p5.
[tas-yagle.git] / distrib / sources / yagle / yagle / yag_graph.h
1 /****************************************************************************/
2 /* */
3 /* Chaine de CAO & VLSI Alliance */
4 /* */
5 /* Produit : YAGLE v3.50 */
6 /* Fichier : yag_graph.h */
7 /* */
8 /* (c) copyright 1994 Laboratoire MASI equipe CAO & VLSI */
9 /* Tous droits reserves */
10 /* Support : e-mail alliance-support@asim.lip6.fr */
11 /* */
12 /* */
13 /****************************************************************************/
14
15 /* node types */
16 #define DELETED_NODE ((long) 0x00000001 )
17 #define EXT ((long) 0x00000004 )
18 #define CONE_TYPE ((long) 0x00000008 )
19 #define CONSTBIT ((long) 0x00000010 )
20 #define TN_NODE ((long) 0x00000020 )
21 #define TP_NODE ((long) 0x00000040 )
22 #define ROOT_NODE ((long) 0x00000080 )
23 #define CONSTRAINT_NODE ((long) 0x00000100 )
24 #define LOOP_NODE ((long) 0x00000200 )
25 #define FORCEPRIM_NODE ((long) 0x00000400 )
26 #define MEMSYM_NODE ((long) 0x00000800 )
27 #define PRIMNODE ((long) 0x08000000 )
28 #define HOLENODE ((long) 0x20000000 )
29 #define STOPNODE ((long) 0x40000000 )
30 #define TRAVERSED ((long) 0x80000000 )
31
32 /* standard graph functions */
33
34 graph *yagBuildGraph(edge_list *ptedgelist, cone_list *rootcone, int force);
35 gnode_list *yagRootGraph(graph *ptgraph, cone_list *ptcone);
36 graph *yagNewGraph(void);
37 void yagFreeGraph(graph *ptgraph);
38 void yagTraverseGraph(graph *ptgraph);
39 gnode_list *yagGetNodeFather(gnode_list *ptnode, char *name);
40 chain_list *yagGetPrimVars(graph *ptgraph, gnode_list *ptnode);
41 chain_list *yagGetJustPrimVars(graph *ptgraph, gnode_list *ptnode);
42 chain_list *yagGetNonPrimaryUsedNodes(graph *ptgraph);
43 void yagAddExtraConstraints(graph *ptgraph);
44
45 /* support graph functions */
46
47 int yagExtendSupportRoot(graph *ptgraph, cone_list *ptcone, long roottype);
48 void yagExtendSupportGraph(graph *ptgraph, gnode_list *ptnode, chain_list *ptfatherlist);
49 void yagReduceSupportGraph(graph *ptgraph);
50