47 if ( nCap > 0 && nCap < 8 )
139 if (
p->nCap >= nCapMin )
158 assert(
p->nSize >= nSizeNew );
191 if (
p->nSize ==
p->nCap )
198 p->pArray[
p->nSize++] = Entry;
215 for ( i = 0; i <
p->nSize; i++ )
216 if (
p->pArray[i] == Entry )
239 for ( i =
p->nSize-1; i > 0; i-- )
241 pNode1 =
p->pArray[i ];
242 pNode2 =
p->pArray[i-1];
243 if ( pNode1 >= pNode2 )
245 p->pArray[i ] = pNode2;
246 p->pArray[i-1] = pNode1;
264 for ( i = 0; i <
p->nSize; i++ )
265 if (
p->pArray[i] == pNode )
288 for ( i =
p->nSize-1; i > 0; i-- )
290 pNode1 =
p->pArray[i ];
291 pNode2 =
p->pArray[i-1];
294 p->pArray[i ] = pNode2;
295 p->pArray[i-1] = pNode1;
313 for ( i = 0; i <
p->nSize; i++ )
314 if (
p->pArray[i] == pNode )
333 return p->pArray[--
p->nSize];
350 for ( i = 0; i <
p->nSize; i++ )
351 if (
p->pArray[i] == Entry )
354 for ( i++; i <
p->nSize; i++ )
355 p->pArray[i-1] =
p->pArray[i];
372 assert( i >= 0 && i < p->nSize );
373 p->pArray[i] = Entry;
389 assert( i >= 0 && i < p->nSize );
408 if ( Level1 < Level2 )
410 if ( Level1 > Level2 )
430 if ( Level1 > Level2 )
432 if ( Level1 < Level2 )
475 if ( nRefs1 < nRefs2 )
477 if ( nRefs1 > nRefs2 )
483 if ( nRefs1 < nRefs2 )
485 if ( nRefs1 > nRefs2 )
504 qsort( (
void *)
p->pArray, (
size_t)
p->nSize,
sizeof(
Fraig_Node_t *),
507 qsort( (
void *)
p->pArray, (
size_t)
p->nSize,
sizeof(
Fraig_Node_t *),
524 qsort( (
void *)
p->pArray, (
size_t)
p->nSize,
sizeof(
Fraig_Node_t *),
541 qsort( (
void *)
p->pArray, (
size_t)
p->nSize,
sizeof(
Fraig_Node_t *),
#define ABC_ALLOC(type, num)
#define ABC_REALLOC(type, obj, num)
#define ABC_NAMESPACE_IMPL_START
#define ABC_NAMESPACE_IMPL_END
Fraig_NodeVec_t * Fraig_NodeVecDup(Fraig_NodeVec_t *pVec)
void Fraig_NodeVecFree(Fraig_NodeVec_t *p)
void Fraig_NodeVecWriteEntry(Fraig_NodeVec_t *p, int i, Fraig_Node_t *Entry)
int Fraig_NodeVecReadSize(Fraig_NodeVec_t *p)
int Fraig_NodeVecCompareLevelsIncreasing(Fraig_Node_t **pp1, Fraig_Node_t **pp2)
int Fraig_NodeVecPushUnique(Fraig_NodeVec_t *p, Fraig_Node_t *Entry)
void Fraig_NodeVecSortByRefCount(Fraig_NodeVec_t *p)
void Fraig_NodeVecClear(Fraig_NodeVec_t *p)
ABC_NAMESPACE_IMPL_START Fraig_NodeVec_t * Fraig_NodeVecAlloc(int nCap)
DECLARATIONS ///.
Fraig_Node_t ** Fraig_NodeVecReadArray(Fraig_NodeVec_t *p)
int Fraig_NodeVecPushUniqueOrderByLevel(Fraig_NodeVec_t *p, Fraig_Node_t *pNode)
void Fraig_NodeVecShrink(Fraig_NodeVec_t *p, int nSizeNew)
void Fraig_NodeVecSortByNumber(Fraig_NodeVec_t *p)
Fraig_Node_t * Fraig_NodeVecPop(Fraig_NodeVec_t *p)
void Fraig_NodeVecSortByLevel(Fraig_NodeVec_t *p, int fIncreasing)
int Fraig_NodeVecCompareRefCounts(Fraig_Node_t **pp1, Fraig_Node_t **pp2)
void Fraig_NodeVecPushOrderByLevel(Fraig_NodeVec_t *p, Fraig_Node_t *pNode)
void Fraig_NodeVecPush(Fraig_NodeVec_t *p, Fraig_Node_t *Entry)
void Fraig_NodeVecRemove(Fraig_NodeVec_t *p, Fraig_Node_t *Entry)
int Fraig_NodeVecCompareLevelsDecreasing(Fraig_Node_t **pp1, Fraig_Node_t **pp2)
void Fraig_NodeVecPushOrder(Fraig_NodeVec_t *p, Fraig_Node_t *pNode)
Fraig_Node_t * Fraig_NodeVecReadEntry(Fraig_NodeVec_t *p, int i)
void Fraig_NodeVecGrow(Fraig_NodeVec_t *p, int nCapMin)
int Fraig_NodeVecPushUniqueOrder(Fraig_NodeVec_t *p, Fraig_Node_t *pNode)
int Fraig_NodeVecCompareNumbers(Fraig_Node_t **pp1, Fraig_Node_t **pp2)
struct Fraig_NodeVecStruct_t_ Fraig_NodeVec_t
struct Fraig_NodeStruct_t_ Fraig_Node_t