From ace340997bfbbbae838c5f06956d06511739f37d Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Sat, 22 Mar 2014 16:24:44 -0700 Subject: Experiments with mapping. --- src/misc/vec/vecFlt.h | 17 +++++++++++++++++ src/misc/vec/vecInt.h | 16 ++++++++++++++++ 2 files changed, 33 insertions(+) (limited to 'src/misc/vec') diff --git a/src/misc/vec/vecFlt.h b/src/misc/vec/vecFlt.h index 57bfe3c1..8f3005a4 100644 --- a/src/misc/vec/vecFlt.h +++ b/src/misc/vec/vecFlt.h @@ -384,6 +384,23 @@ static inline void Vec_FltAddToEntry( Vec_Flt_t * p, int i, float Addition ) p->pArray[i] += Addition; } +/**Function************************************************************* + + Synopsis [] + + Description [] + + SideEffects [] + + SeeAlso [] + +***********************************************************************/ +static inline void Vec_FltUpdateEntry( Vec_Flt_t * p, int i, float Value ) +{ + if ( Vec_FltEntry( p, i ) < Value ) + Vec_FltWriteEntry( p, i, Value ); +} + /**Function************************************************************* Synopsis [] diff --git a/src/misc/vec/vecInt.h b/src/misc/vec/vecInt.h index f8dc9385..613b5437 100644 --- a/src/misc/vec/vecInt.h +++ b/src/misc/vec/vecInt.h @@ -695,6 +695,12 @@ static inline void Vec_IntPush( Vec_Int_t * p, int Entry ) } p->pArray[p->nSize++] = Entry; } +static inline void Vec_IntPushArray( Vec_Int_t * p, int * pEntries, int nEntries ) +{ + int i; + for ( i = 0; i < nEntries; i++ ) + Vec_IntPush( p, pEntries[i] ); +} /**Function************************************************************* @@ -1293,6 +1299,16 @@ static inline int Vec_IntCheckUniqueSmall( Vec_Int_t * p ) return 0; return 1; } +static inline int Vec_IntCountUnique( Vec_Int_t * p ) +{ + int i, Count = 0, Max = Vec_IntFindMax(p); + unsigned char * pPres = ABC_CALLOC( unsigned char, Max+1 ); + for ( i = 0; i < p->nSize; i++ ) + if ( pPres[p->pArray[i]] == 0 ) + pPres[p->pArray[i]] = 1, Count++; + ABC_FREE( pPres ); + return Count; +} /**Function************************************************************* -- cgit v1.2.3