21 #ifndef ABC__misc__vec__vecHash_h
22 #define ABC__misc__vec__vecHash_h
114 printf(
"%d ", Count );
132 return (4177 * (
unsigned)iData0 + 7873 * (
unsigned)iData1) % (unsigned)nTableSize;
138 for ( ; (pObj =
Hash_IntObj(p, *pPlace)); pPlace = &pObj->iNext )
139 if ( pObj->iData0 == iData0 && pObj->iData1 == iData1 )
147 int i, nObjs, * pPlace;
153 for ( i = 1; i < nObjs; i++ )
184 static inline int Hsh_Int3ManHash(
int iData0,
int iData1,
int iData2,
int nTableSize )
186 return (4177 * (
unsigned)iData0 + 7873 * (
unsigned)iData1 + 1699 * (
unsigned)iData2) % (unsigned)nTableSize;
192 for ( ; (pObj =
Hash_IntObj(p, *pPlace)); pPlace = &pObj->iNext )
193 if ( pObj->iData0 == iData0 && pObj->iData1 == iData1 && pObj->iData2 == iData2 )
201 int i, nObjs, * pPlace;
207 for ( i = 1; i < nObjs; i++ )
static Hash_IntMan_t * Hash_IntManStart(int nSize)
FUNCTION DEFINITIONS ///.
static int Hash_Int2ObjDec(Hash_IntMan_t *p, int i)
static int Hash_IntManEntryNum(Hash_IntMan_t *p)
static int Abc_PrimeCudd(unsigned int p)
static int Hash_Int2ObjInc(Hash_IntMan_t *p, int i)
static int Hsh_Int3ManHash(int iData0, int iData1, int iData2, int nTableSize)
static int * Hsh_Int3ManLookup(Hash_IntMan_t *p, int iData0, int iData1, int iData2)
typedefABC_NAMESPACE_IMPL_START struct Vec_Int_t_ Vec_Int_t
DECLARATIONS ///.
static int Hash_Int2ManHash(int iData0, int iData1, int nTableSize)
static void Hash_IntManHashArrayTest()
static int Hash_IntObjData2(Hash_IntMan_t *p, int i)
static Vec_Int_t * Vec_IntStart(int nSize)
static Vec_Int_t * Vec_IntAlloc(int nCap)
FUNCTION DEFINITIONS ///.
static void Hash_IntManStop(Hash_IntMan_t *p)
static void Vec_IntFill(Vec_Int_t *p, int nSize, int Fill)
static void Hash_Int2ObjSetData2(Hash_IntMan_t *p, int i, int d)
static void Vec_IntPush(Vec_Int_t *p, int Entry)
#define ABC_NAMESPACE_HEADER_START
NAMESPACES ///.
static int * Hash_Int2ManLookup(Hash_IntMan_t *p, int iData0, int iData1)
#define ABC_NAMESPACE_HEADER_END
static int Hash_Int2ManInsert(Hash_IntMan_t *p, int iData0, int iData1, int iData2)
static int Hsh_Int3ManInsert(Hash_IntMan_t *p, int iData0, int iData1, int iData2)
static int Vec_IntSize(Vec_Int_t *p)
static void Hash_IntManProfile(Hash_IntMan_t *p)
#define ABC_CALLOC(type, num)
typedefABC_NAMESPACE_HEADER_START struct Hash_IntObj_t_ Hash_IntObj_t
INCLUDES ///.
static Hash_IntObj_t * Hash_IntObj(Hash_IntMan_t *p, int i)
MACRO DEFINITIONS ///.
static int * Vec_IntEntryP(Vec_Int_t *p, int i)
static int Hash_IntObjData1(Hash_IntMan_t *p, int i)
static int Hash_IntObjData0(Hash_IntMan_t *p, int i)
static void Vec_IntFree(Vec_Int_t *p)
#define Vec_IntForEachEntry(vVec, Entry, i)
MACRO DEFINITIONS ///.