51 p->nLearnedMax = 1000;
52 p->nLearnedStart = 1000;
53 p->nLearnedDelta = 200;
54 p->nLearnedPerce = 70;
64 p->nFramesNoChangeLim = 2;
82 int nObjMask, nObjs = Gia_ManObjNum(
p);
83 int i, Entry, nFrames = Vec_IntEntry( vVta, 0 );
84 assert( Vec_IntEntry(vVta, nFrames+1) == Vec_IntSize(vVta) );
86 nObjMask = (1 << Abc_Base2Log(nObjs)) - 1;
87 assert( nObjs <= nObjMask );
89 vGla = Vec_IntStart( nObjs );
92 pObj = Gia_ManObj(
p, (Entry & nObjMask) );
93 assert( Gia_ObjIsRo(
p, pObj) || Gia_ObjIsAnd(pObj) || Gia_ObjIsConst0(pObj) );
94 Vec_IntAddToEntry( vGla, (Entry & nObjMask), 1 );
96 Vec_IntWriteEntry( vGla, 0, nFrames );
114 int nObjBits, nObjMask, nObjs = Gia_ManObjNum(
p);
115 int i, k, j, Entry, Counter, nGlaSize;
117 nGlaSize = Vec_IntSum(vGla);
119 nObjBits = Abc_Base2Log(nObjs);
120 nObjMask = (1 << Abc_Base2Log(nObjs)) - 1;
121 assert( nObjs <= nObjMask );
123 vVta = Vec_IntAlloc( 1000 );
124 Vec_IntPush( vVta, nFrames );
125 Counter = nFrames + 2;
126 for ( i = 0; i <= nFrames; i++, Counter += i * nGlaSize )
127 Vec_IntPush( vVta, Counter );
128 for ( i = 0; i < nFrames; i++ )
129 for ( k = 0; k <= i; k++ )
132 Vec_IntPush( vVta, (k << nObjBits) | j );
133 Counter = Vec_IntEntry(vVta, nFrames+1);
134 assert( Vec_IntEntry(vVta, nFrames+1) == Vec_IntSize(vVta) );
151 if ( Gia_ObjIsTravIdCurrent(
p, pObj) )
153 Gia_ObjSetTravIdCurrent(
p, pObj);
154 Vec_IntWriteEntry( vGla, Gia_ObjId(
p, pObj), 1 );
155 if ( Gia_ObjIsRo(
p, pObj) )
157 assert( Gia_ObjIsAnd(pObj) );
180 Gia_ObjSetTravIdCurrent(
p, Gia_ManConst0(
p));
182 Gia_ObjSetTravIdCurrent(
p, pObj);
184 if ( !Vec_IntEntry(vFla, i) )
185 Gia_ObjSetTravIdCurrent(
p, pObj);
187 vGla = Vec_IntStart( Gia_ManObjNum(
p) );
188 Vec_IntWriteEntry( vGla, 0, 1 );
192 if ( Vec_IntEntry(vFla, i) )
213 vFla = Vec_IntStart( Gia_ManRegNum(
p) );
215 if ( Vec_IntEntry(vGla, Gia_ObjId(
p, pObj)) )
216 Vec_IntWriteEntry( vFla, i, 1 );
236 if ( Vec_IntEntry(vGla, Gia_ObjId(
p, pObj)) )
245 if ( Vec_IntEntry(vGla, Gia_ObjId(
p, pObj)) )
#define ABC_NAMESPACE_IMPL_START
#define ABC_NAMESPACE_IMPL_END
Vec_Int_t * Gia_VtaConvertFromGla(Gia_Man_t *p, Vec_Int_t *vGla, int nFrames)
int Gia_GlaCountNodes(Gia_Man_t *p, Vec_Int_t *vGla)
void Gia_FlaConvertToGla_rec(Gia_Man_t *p, Gia_Obj_t *pObj, Vec_Int_t *vGla)
Vec_Int_t * Gia_VtaConvertToGla(Gia_Man_t *p, Vec_Int_t *vVta)
Vec_Int_t * Gia_FlaConvertToGla(Gia_Man_t *p, Vec_Int_t *vFla)
ABC_NAMESPACE_IMPL_START void Abs_ParSetDefaults(Abs_Par_t *p)
DECLARATIONS ///.
Vec_Int_t * Gia_GlaConvertToFla(Gia_Man_t *p, Vec_Int_t *vGla)
int Gia_GlaCountFlops(Gia_Man_t *p, Vec_Int_t *vGla)
typedefABC_NAMESPACE_HEADER_START struct Abs_Par_t_ Abs_Par_t
INCLUDES ///.
typedefABC_NAMESPACE_IMPL_START struct Vec_Int_t_ Vec_Int_t
DECLARATIONS ///.
#define Gia_ManForEachRo(p, pObj, i)
#define Gia_ManForEachPo(p, pObj, i)
#define Gia_ManForEachAnd(p, pObj, i)
#define Gia_ManForEachPi(p, pObj, i)
struct Gia_Obj_t_ Gia_Obj_t
struct Gia_Man_t_ Gia_Man_t
void Gia_ManIncrementTravId(Gia_Man_t *p)
#define Gia_ManForEachRi(p, pObj, i)
#define Vec_IntForEachEntry(vVec, Entry, i)
MACRO DEFINITIONS ///.
#define Vec_IntForEachEntryStart(vVec, Entry, i, Start)