89 static int s_FPrimes[128] = {
90 1009, 1049, 1093, 1151, 1201, 1249, 1297, 1361, 1427, 1459,
91 1499, 1559, 1607, 1657, 1709, 1759, 1823, 1877, 1933, 1997,
92 2039, 2089, 2141, 2213, 2269, 2311, 2371, 2411, 2467, 2543,
93 2609, 2663, 2699, 2741, 2797, 2851, 2909, 2969, 3037, 3089,
94 3169, 3221, 3299, 3331, 3389, 3461, 3517, 3557, 3613, 3671,
95 3719, 3779, 3847, 3907, 3943, 4013, 4073, 4129, 4201, 4243,
96 4289, 4363, 4441, 4493, 4549, 4621, 4663, 4729, 4793, 4871,
97 4933, 4973, 5021, 5087, 5153, 5227, 5281, 5351, 5417, 5471,
98 5519, 5573, 5651, 5693, 5749, 5821, 5861, 5923, 6011, 6073,
99 6131, 6199, 6257, 6301, 6353, 6397, 6481, 6563, 6619, 6689,
100 6737, 6803, 6863, 6917, 6977, 7027, 7109, 7187, 7237, 7309,
101 7393, 7477, 7523, 7561, 7607, 7681, 7727, 7817, 7877, 7933,
102 8011, 8039, 8059, 8081, 8093, 8111, 8123, 8147
107 nWords = (
unsigned *)Vec_PtrEntry(vSims, 1) - (
unsigned *)Vec_PtrEntry(vSims, 0);
109 pSim = Dch_ObjSim( vSims, pObj );
112 for ( k = 0; k <
nWords; k++ )
113 uHash ^= ~pSim[k] * s_FPrimes[k & 0x7F];
117 for ( k = 0; k <
nWords; k++ )
118 uHash ^= pSim[k] * s_FPrimes[k & 0x7F];
203 unsigned * pSim, * pSim0, * pSim1;
206 nWords = (
unsigned *)Vec_PtrEntry(vSims, 1) - (
unsigned *)Vec_PtrEntry(vSims, 0);
209 pObj = Aig_ManConst1(pAig);
210 pSim = Dch_ObjSim( vSims, pObj );
216 pSim = Dch_ObjSim( vSims, pObj );
217 for ( k = 0; k <
nWords; k++ )
218 pSim[k] = Dch_ObjRandomSim();
225 pSim0 = Dch_ObjSim( vSims, Aig_ObjFanin0(pObj) );
226 pSim1 = Dch_ObjSim( vSims, Aig_ObjFanin1(pObj) );
227 pSim = Dch_ObjSim( vSims, pObj );
229 if ( Aig_ObjFaninC0(pObj) && Aig_ObjFaninC1(pObj) )
231 for ( k = 0; k <
nWords; k++ )
232 pSim[k] = ~pSim0[k] & ~pSim1[k];
234 else if ( Aig_ObjFaninC0(pObj) && !Aig_ObjFaninC1(pObj) )
236 for ( k = 0; k <
nWords; k++ )
237 pSim[k] = ~pSim0[k] & pSim1[k];
239 else if ( !Aig_ObjFaninC0(pObj) && Aig_ObjFaninC1(pObj) )
241 for ( k = 0; k <
nWords; k++ )
242 pSim[k] = pSim0[k] & ~pSim1[k];
246 for ( k = 0; k <
nWords; k++ )
247 pSim[k] = pSim0[k] & pSim1[k];