DECLARATIONS ///.
Date [Ver. 1.0. Started - February 1, 2003.]
] FUNCTION DEFITIONS /// Function*************************************************************
45{
46
47 char Buffer[100];
49 int i, nNodesBefore, nNodesAfter, nInputs, nMaxNodes;
50 int nDistributive;
53 int fShortCut = 0;
54
55 nDistributive = 0;
56
57
58
59
61
62
63
64
65
66
67
68
69
70
71
72
75 nMaxNodes = nInputs + nLimit * ( nNodesBefore - nInputs );
76
77 printf ("Limit = %d, Before = %d\n", nMaxNodes, nNodesBefore );
78
79 if (0)
80 {
81 char buffer[128];
83
84 }
85
86
88
91 {
92
93
94
97
99
100
101
102
103
104
105
106
107
108
109
110
111
115 {
118
119
120
121
122
123 if (fShortCut)
124 {
127 {
129
130 }
131 }
132 else
134
135
136
137 if (fShortCut)
138 {
141 {
143
144 }
145 }
146 else
148
149 }
150
151
152
156 {
159
160
161
162
163
164 if (fShortCut)
165 {
168 {
170
171 }
172 }
173 else
175
176
177 if (fShortCut)
178 {
181 {
183
184 }
185 }
186 else
188
189 }
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222 if ( i % 1000 == 0 )
223 {
224 sprintf( Buffer,
"Adding choice %6d...", i - nNodesBefore );
225
226 }
227 }
228
229
230
232
234 printf ( "Nodes before = %6d. Nodes with associative choices = %6d. Increase = %4.2f %%.\n",
235 nNodesBefore, nNodesAfter, ((float)(nNodesAfter - nNodesBefore)) * 100.0/(nNodesBefore - nInputs) );
236 printf ( "Distributive = %d\n", nDistributive );
237
238}
#define Fraig_IsComplement(p)
GLOBAL VARIABLES ///.
Fraig_Node_t * Fraig_ManReadIthNode(Fraig_Man_t *p, int i)
int Fraig_ManReadNodeNum(Fraig_Man_t *p)
int Fraig_ManReadInputNum(Fraig_Man_t *p)
int Fraig_ManCheckConsistency(Fraig_Man_t *p)
Fraig_Node_t * Fraig_NodeReadOne(Fraig_Node_t *p)
int Fraig_NodeIsAnd(Fraig_Node_t *p)
struct Fraig_NodeStruct_t_ Fraig_Node_t
Fraig_Node_t * Fraig_NodeReadTwo(Fraig_Node_t *p)
void Fraig_ManSetFuncRed(Fraig_Man_t *p, int fFuncRed)
Fraig_Node_t * Fraig_NodeAnd(Fraig_Man_t *p, Fraig_Node_t *p1, Fraig_Node_t *p2)