diff --git a/src/misc/util/abc_global.h b/src/misc/util/abc_global.h index dd2ebd05c..b666fca01 100644 --- a/src/misc/util/abc_global.h +++ b/src/misc/util/abc_global.h @@ -80,13 +80,6 @@ #include #include -#ifdef WIN32 -#include -#define PATH_MAX MAX_PATH -#else -#include -#endif - // catch memory leaks in Visual Studio #ifdef WIN32 #ifdef _DEBUG @@ -255,6 +248,7 @@ typedef ABC_INT64_T iword; //////////////////////////////////////////////////////////////////////// #define ABC_INFINITY (1000000000) +#define ABC_INT_MAX (2147483647) #define ABC_SWAP(Type, a, b) { Type t = a; a = b; b = t; } diff --git a/src/misc/vec/vecBit.h b/src/misc/vec/vecBit.h index 735e4bb9e..6cecfba87 100644 --- a/src/misc/vec/vecBit.h +++ b/src/misc/vec/vecBit.h @@ -350,7 +350,7 @@ static inline void Vec_BitGrow( Vec_Bit_t * p, int nCapMin ) { if ( p->nCap >= nCapMin ) return; - assert( p->nCap < INT_MAX ); + assert( p->nCap < ABC_INT_MAX ); nCapMin = (nCapMin >> 5) + ((nCapMin & 31) > 0); p->pArray = ABC_REALLOC( int, p->pArray, nCapMin ); assert( p->pArray ); @@ -406,7 +406,7 @@ static inline void Vec_BitFillExtra( Vec_Bit_t * p, int nSize, int Fill ) if ( nSize > 2 * p->nCap ) Vec_BitGrow( p, nSize ); else if ( nSize > p->nCap ) - Vec_BitGrow( p, p->nCap < INT_MAX/2 ? 2 * p->nCap : INT_MAX ); + Vec_BitGrow( p, p->nCap < ABC_INT_MAX/2 ? 2 * p->nCap : ABC_INT_MAX ); assert( p->nSize < nSize ); if ( (p->nSize >> 5) == (nSize >> 5) ) @@ -528,7 +528,7 @@ static inline void Vec_BitPush( Vec_Bit_t * p, int Entry ) if ( p->nCap < 16 ) Vec_BitGrow( p, 16 ); else - Vec_BitGrow( p, p->nCap < INT_MAX/2 ? 2 * p->nCap : INT_MAX ); + Vec_BitGrow( p, p->nCap < ABC_INT_MAX/2 ? 2 * p->nCap : ABC_INT_MAX ); } if ( Entry == 1 ) p->pArray[p->nSize >> 5] |= (1 << (p->nSize & 31)); diff --git a/src/misc/vec/vecFlt.h b/src/misc/vec/vecFlt.h index 9b21ee066..7ff8a364f 100644 --- a/src/misc/vec/vecFlt.h +++ b/src/misc/vec/vecFlt.h @@ -454,7 +454,7 @@ static inline void Vec_FltGrow( Vec_Flt_t * p, int nCapMin ) { if ( p->nCap >= nCapMin ) return; - assert( p->nCap < INT_MAX ); + assert( p->nCap < ABC_INT_MAX ); p->pArray = ABC_REALLOC( float, p->pArray, nCapMin ); p->nCap = nCapMin; } @@ -498,7 +498,7 @@ static inline void Vec_FltFillExtra( Vec_Flt_t * p, int nSize, float Fill ) if ( nSize > 2 * p->nCap ) Vec_FltGrow( p, nSize ); else if ( nSize > p->nCap ) - Vec_FltGrow( p, p->nCap < INT_MAX/2 ? 2 * p->nCap : INT_MAX ); + Vec_FltGrow( p, p->nCap < ABC_INT_MAX/2 ? 2 * p->nCap : ABC_INT_MAX ); for ( i = p->nSize; i < nSize; i++ ) p->pArray[i] = Fill; p->nSize = nSize; @@ -555,7 +555,7 @@ static inline void Vec_FltPush( Vec_Flt_t * p, float Entry ) if ( p->nCap < 16 ) Vec_FltGrow( p, 16 ); else - Vec_FltGrow( p, p->nCap < INT_MAX/2 ? 2 * p->nCap : INT_MAX ); + Vec_FltGrow( p, p->nCap < ABC_INT_MAX/2 ? 2 * p->nCap : ABC_INT_MAX ); } p->pArray[p->nSize++] = Entry; } @@ -579,7 +579,7 @@ static inline void Vec_FltPushOrder( Vec_Flt_t * p, float Entry ) if ( p->nCap < 16 ) Vec_FltGrow( p, 16 ); else - Vec_FltGrow( p, p->nCap < INT_MAX/2 ? 2 * p->nCap : INT_MAX ); + Vec_FltGrow( p, p->nCap < ABC_INT_MAX/2 ? 2 * p->nCap : ABC_INT_MAX ); } p->nSize++; for ( i = p->nSize-2; i >= 0; i-- ) diff --git a/src/misc/vec/vecInt.h b/src/misc/vec/vecInt.h index 9daf7e064..f56f34da4 100644 --- a/src/misc/vec/vecInt.h +++ b/src/misc/vec/vecInt.h @@ -552,7 +552,7 @@ static inline void Vec_IntGrow( Vec_Int_t * p, int nCapMin ) { if ( p->nCap >= nCapMin ) return; - assert( p->nCap < INT_MAX ); + assert( p->nCap < ABC_INT_MAX ); p->pArray = ABC_REALLOC( int, p->pArray, nCapMin ); assert( p->pArray ); p->nCap = nCapMin; @@ -634,7 +634,7 @@ static inline void Vec_IntFillExtra( Vec_Int_t * p, int nSize, int Fill ) if ( nSize > 2 * p->nCap ) Vec_IntGrow( p, nSize ); else if ( nSize > p->nCap ) - Vec_IntGrow( p, p->nCap < INT_MAX/2 ? 2 * p->nCap : INT_MAX ); + Vec_IntGrow( p, p->nCap < ABC_INT_MAX/2 ? 2 * p->nCap : ABC_INT_MAX ); for ( i = p->nSize; i < nSize; i++ ) p->pArray[i] = Fill; p->nSize = nSize; @@ -752,7 +752,7 @@ static inline void Vec_IntPush( Vec_Int_t * p, int Entry ) if ( p->nCap < 16 ) Vec_IntGrow( p, 16 ); else - Vec_IntGrow( p, p->nCap < INT_MAX/2 ? 2 * p->nCap : INT_MAX ); + Vec_IntGrow( p, p->nCap < ABC_INT_MAX/2 ? 2 * p->nCap : ABC_INT_MAX ); } p->pArray[p->nSize++] = Entry; } @@ -811,7 +811,7 @@ static inline void Vec_IntPushFirst( Vec_Int_t * p, int Entry ) if ( p->nCap < 16 ) Vec_IntGrow( p, 16 ); else - Vec_IntGrow( p, p->nCap < INT_MAX/2 ? 2 * p->nCap : INT_MAX ); + Vec_IntGrow( p, p->nCap < ABC_INT_MAX/2 ? 2 * p->nCap : ABC_INT_MAX ); } p->nSize++; for ( i = p->nSize - 1; i >= 1; i-- ) @@ -838,7 +838,7 @@ static inline void Vec_IntPushOrder( Vec_Int_t * p, int Entry ) if ( p->nCap < 16 ) Vec_IntGrow( p, 16 ); else - Vec_IntGrow( p, p->nCap < INT_MAX/2 ? 2 * p->nCap : INT_MAX ); + Vec_IntGrow( p, p->nCap < ABC_INT_MAX/2 ? 2 * p->nCap : ABC_INT_MAX ); } p->nSize++; for ( i = p->nSize-2; i >= 0; i-- ) @@ -856,7 +856,7 @@ static inline void Vec_IntPushOrderCost( Vec_Int_t * p, int Entry, Vec_Int_t * v if ( p->nCap < 16 ) Vec_IntGrow( p, 16 ); else - Vec_IntGrow( p, p->nCap < INT_MAX/2 ? 2 * p->nCap : INT_MAX ); + Vec_IntGrow( p, p->nCap < ABC_INT_MAX/2 ? 2 * p->nCap : ABC_INT_MAX ); } p->nSize++; for ( i = p->nSize-2; i >= 0; i-- ) @@ -932,7 +932,7 @@ static inline void Vec_IntPushOrderReverse( Vec_Int_t * p, int Entry ) if ( p->nCap < 16 ) Vec_IntGrow( p, 16 ); else - Vec_IntGrow( p, p->nCap < INT_MAX/2 ? 2 * p->nCap : INT_MAX ); + Vec_IntGrow( p, p->nCap < ABC_INT_MAX/2 ? 2 * p->nCap : ABC_INT_MAX ); } p->nSize++; for ( i = p->nSize-2; i >= 0; i-- ) diff --git a/src/misc/vec/vecPtr.h b/src/misc/vec/vecPtr.h index e2d6a8de0..24a4a5d77 100644 --- a/src/misc/vec/vecPtr.h +++ b/src/misc/vec/vecPtr.h @@ -455,7 +455,7 @@ static inline void Vec_PtrGrow( Vec_Ptr_t * p, int nCapMin ) { if ( p->nCap >= nCapMin ) return; - assert( p->nCap < INT_MAX ); + assert( p->nCap < ABC_INT_MAX ); p->pArray = ABC_REALLOC( void *, p->pArray, nCapMin ); p->nCap = nCapMin; } @@ -507,7 +507,7 @@ static inline void Vec_PtrFillExtra( Vec_Ptr_t * p, int nSize, void * Fill ) if ( nSize > 2 * p->nCap ) Vec_PtrGrow( p, nSize ); else if ( nSize > p->nCap ) - Vec_PtrGrow( p, p->nCap < INT_MAX/2 ? 2 * p->nCap : INT_MAX ); + Vec_PtrGrow( p, p->nCap < ABC_INT_MAX/2 ? 2 * p->nCap : ABC_INT_MAX ); for ( i = p->nSize; i < nSize; i++ ) p->pArray[i] = Fill; p->nSize = nSize; @@ -683,7 +683,7 @@ static inline void Vec_PtrPush( Vec_Ptr_t * p, void * Entry ) if ( p->nCap < 16 ) Vec_PtrGrow( p, 16 ); else - Vec_PtrGrow( p, p->nCap < INT_MAX/2 ? 2 * p->nCap : INT_MAX ); + Vec_PtrGrow( p, p->nCap < ABC_INT_MAX/2 ? 2 * p->nCap : ABC_INT_MAX ); } p->pArray[p->nSize++] = Entry; } @@ -718,7 +718,7 @@ static inline void Vec_PtrPushFirst( Vec_Ptr_t * p, void * Entry ) if ( p->nCap < 16 ) Vec_PtrGrow( p, 16 ); else - Vec_PtrGrow( p, p->nCap < INT_MAX/2 ? 2 * p->nCap : INT_MAX ); + Vec_PtrGrow( p, p->nCap < ABC_INT_MAX/2 ? 2 * p->nCap : ABC_INT_MAX ); } p->nSize++; for ( i = p->nSize - 1; i >= 1; i-- ) diff --git a/src/misc/vec/vecQue.h b/src/misc/vec/vecQue.h index ae394a9fd..a367537fd 100644 --- a/src/misc/vec/vecQue.h +++ b/src/misc/vec/vecQue.h @@ -101,7 +101,7 @@ static inline void Vec_QueGrow( Vec_Que_t * p, int nCapMin ) { if ( p->nCap >= nCapMin ) return; - assert( p->nCap < INT_MAX ); + assert( p->nCap < ABC_INT_MAX ); p->pHeap = ABC_REALLOC( int, p->pHeap, nCapMin ); p->pOrder = ABC_REALLOC( int, p->pOrder, nCapMin ); memset( p->pHeap + p->nCap, 0xff, (size_t)(nCapMin - p->nCap) * sizeof(int) ); @@ -226,9 +226,9 @@ static inline int Vec_QueIsMember( Vec_Que_t * p, int v ) static inline void Vec_QuePush( Vec_Que_t * p, int v ) { if ( p->nSize >= p->nCap ) - Vec_QueGrow( p, Abc_MaxInt(p->nSize+1, p->nCap < INT_MAX/2 ? 2 * p->nCap : INT_MAX) ); + Vec_QueGrow( p, Abc_MaxInt(p->nSize+1, p->nCap < ABC_INT_MAX/2 ? 2 * p->nCap : ABC_INT_MAX) ); if ( v >= p->nCap ) - Vec_QueGrow( p, Abc_MaxInt(v+1, p->nCap < INT_MAX/2 ? 2 * p->nCap : INT_MAX) ); + Vec_QueGrow( p, Abc_MaxInt(v+1, p->nCap < ABC_INT_MAX/2 ? 2 * p->nCap : ABC_INT_MAX) ); assert( p->nSize < p->nCap ); assert( p->pOrder[v] == -1 ); assert( p->pHeap[p->nSize] == -1 ); diff --git a/src/misc/vec/vecStr.h b/src/misc/vec/vecStr.h index ced39b0dc..cf0d272a7 100644 --- a/src/misc/vec/vecStr.h +++ b/src/misc/vec/vecStr.h @@ -423,7 +423,7 @@ static inline void Vec_StrGrow( Vec_Str_t * p, int nCapMin ) { if ( p->nCap >= nCapMin ) return; - assert( p->nCap < INT_MAX ); + assert( p->nCap < ABC_INT_MAX ); p->pArray = ABC_REALLOC( char, p->pArray, nCapMin ); p->nCap = nCapMin; } @@ -467,7 +467,7 @@ static inline void Vec_StrFillExtra( Vec_Str_t * p, int nSize, char Fill ) if ( nSize > 2 * p->nCap ) Vec_StrGrow( p, nSize ); else if ( nSize > p->nCap ) - Vec_StrGrow( p, p->nCap < INT_MAX/2 ? 2 * p->nCap : INT_MAX ); + Vec_StrGrow( p, p->nCap < ABC_INT_MAX/2 ? 2 * p->nCap : ABC_INT_MAX ); for ( i = p->nSize; i < nSize; i++ ) p->pArray[i] = Fill; p->nSize = nSize; @@ -558,7 +558,7 @@ static inline void Vec_StrPush( Vec_Str_t * p, char Entry ) if ( p->nCap < 16 ) Vec_StrGrow( p, 16 ); else - Vec_StrGrow( p, p->nCap < INT_MAX/2 ? 2 * p->nCap : INT_MAX ); + Vec_StrGrow( p, p->nCap < ABC_INT_MAX/2 ? 2 * p->nCap : ABC_INT_MAX ); } p->pArray[p->nSize++] = Entry; } diff --git a/src/misc/vec/vecWrd.h b/src/misc/vec/vecWrd.h index 5bfee43fb..9971ff484 100644 --- a/src/misc/vec/vecWrd.h +++ b/src/misc/vec/vecWrd.h @@ -553,6 +553,7 @@ static inline void Vec_WrdGrow( Vec_Wrd_t * p, int nCapMin ) { if ( p->nCap >= nCapMin ) return; + assert( p->nCap < ABC_INT_MAX ); p->pArray = ABC_REALLOC( word, p->pArray, nCapMin ); assert( p->pArray ); p->nCap = nCapMin; @@ -597,7 +598,7 @@ static inline void Vec_WrdFillExtra( Vec_Wrd_t * p, int nSize, word Fill ) if ( nSize > 2 * p->nCap ) Vec_WrdGrow( p, nSize ); else if ( nSize > p->nCap ) - Vec_WrdGrow( p, 2 * p->nCap ); + Vec_WrdGrow( p, p->nCap < ABC_INT_MAX/2 ? 2 * p->nCap : ABC_INT_MAX ); for ( i = p->nSize; i < nSize; i++ ) p->pArray[i] = Fill; p->nSize = nSize; @@ -705,7 +706,7 @@ static inline void Vec_WrdPush( Vec_Wrd_t * p, word Entry ) if ( p->nCap < 16 ) Vec_WrdGrow( p, 16 ); else - Vec_WrdGrow( p, 2 * p->nCap ); + Vec_WrdGrow( p, p->nCap < ABC_INT_MAX/2 ? 2 * p->nCap : ABC_INT_MAX ); } p->pArray[p->nSize++] = Entry; } @@ -753,7 +754,7 @@ static inline void Vec_WrdPushFirst( Vec_Wrd_t * p, word Entry ) if ( p->nCap < 16 ) Vec_WrdGrow( p, 16 ); else - Vec_WrdGrow( p, 2 * p->nCap ); + Vec_WrdGrow( p, p->nCap < ABC_INT_MAX/2 ? 2 * p->nCap : ABC_INT_MAX ); } p->nSize++; for ( i = p->nSize - 1; i >= 1; i-- ) @@ -780,7 +781,7 @@ static inline void Vec_WrdPushOrder( Vec_Wrd_t * p, word Entry ) if ( p->nCap < 16 ) Vec_WrdGrow( p, 16 ); else - Vec_WrdGrow( p, 2 * p->nCap ); + Vec_WrdGrow( p, p->nCap < ABC_INT_MAX/2 ? 2 * p->nCap : ABC_INT_MAX ); } p->nSize++; for ( i = p->nSize-2; i >= 0; i-- )