diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2011-04-10 12:55:57 -0700 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2011-04-10 12:55:57 -0700 |
commit | 302f41e90887fe7544e89f8884f83003f8e6d309 (patch) | |
tree | d4b5b3cacefd101a33b858cdcad1119944ee4ecd | |
parent | 93fef036d59f3c4e961e3a3b7cc32bb735f3a5c2 (diff) | |
download | abc-302f41e90887fe7544e89f8884f83003f8e6d309.tar.gz abc-302f41e90887fe7544e89f8884f83003f8e6d309.tar.bz2 abc-302f41e90887fe7544e89f8884f83003f8e6d309.zip |
Added procedure to vector package and manager template file.
-rw-r--r-- | src/misc/vec/vecInt.h | 2 | ||||
-rw-r--r-- | src/template.c | 111 |
2 files changed, 113 insertions, 0 deletions
diff --git a/src/misc/vec/vecInt.h b/src/misc/vec/vecInt.h index 318afd35..d222bafd 100644 --- a/src/misc/vec/vecInt.h +++ b/src/misc/vec/vecInt.h @@ -61,6 +61,8 @@ struct Vec_Int_t_ for ( i = Start; (i < Stop) && (((Entry) = Vec_IntEntry(vVec, i)), 1); i++ ) #define Vec_IntForEachEntryReverse( vVec, pEntry, i ) \ for ( i = Vec_IntSize(vVec) - 1; (i >= 0) && (((pEntry) = Vec_IntEntry(vVec, i)), 1); i-- ) +#define Vec_IntForEachEntryTwo( vVec1, vVec2, Entry1, Entry2, i ) \ + for ( i = 0; (i < Vec_IntSize(vVec1)) && (((Entry1) = Vec_IntEntry(vVec1, i)), 1) && (((Entry2) = Vec_IntEntry(vVec2, i)), 1); i++ ) //////////////////////////////////////////////////////////////////////// /// FUNCTION DEFINITIONS /// diff --git a/src/template.c b/src/template.c new file mode 100644 index 00000000..17d33424 --- /dev/null +++ b/src/template.c @@ -0,0 +1,111 @@ +/**CFile**************************************************************** + + FileName [.c] + + SystemName [ABC: Logic synthesis and verification system.] + + PackageName [] + + Synopsis [] + + Author [Alan Mishchenko] + + Affiliation [UC Berkeley] + + Date [Ver. 1.0. Started - June 20, 2005.] + + Revision [$Id: .c,v 1.00 2005/06/20 00:00:00 alanmi Exp $] + +***********************************************************************/ + +#include "aig.h" + +ABC_NAMESPACE_IMPL_START + +//////////////////////////////////////////////////////////////////////// +/// DECLARATIONS /// +//////////////////////////////////////////////////////////////////////// + +// parameter structure +typedef struct Xyz_ParTry_t_ Xyz_ParTry_t; +struct Xyz_ParTry_t_ +{ + int Par; +}; + +// operation manager +typedef struct Xyz_ManTry_t_ Xyz_ManTry_t; +struct Xyz_ManTry_t_ +{ + Xyz_ParTry_t * pPar; // parameters + Aig_Man_t * pAig; // user's AIG +}; + +//////////////////////////////////////////////////////////////////////// +/// FUNCTION DEFINITIONS /// +//////////////////////////////////////////////////////////////////////// + +/**Function************************************************************* + + Synopsis [] + + Description [] + + SideEffects [] + + SeeAlso [] + +***********************************************************************/ +Xyz_ManTry_t * Xyz_ManTryAlloc( Aig_Man_t * pAig, Xyz_ParTry_t * pPar ) +{ + Xyz_ManTry_t * p; + p = ABC_CALLOC( Xyz_ManTry_t, 1 ); + p->pAig = pAig; + p->pPar = pPar; + return p; +} + +/**Function************************************************************* + + Synopsis [] + + Description [] + + SideEffects [] + + SeeAlso [] + +***********************************************************************/ +void Xyz_ManTryFree( Xyz_ManTry_t * p ) +{ + ABC_FREE( p ); +} + +/**Function************************************************************* + + Synopsis [] + + Description [] + + SideEffects [] + + SeeAlso [] + +***********************************************************************/ +int Xyz_ManPerform( Aig_Man_t * pAig, Xyz_ParTry_t * pPar ) +{ + Xyz_ManTry_t * p; + int RetValue; + p = Xyz_ManTryAlloc( pAig, pPar ); + RetValue = 1; + Xyz_ManTryFree( p ); + return RetValue; +} + +//////////////////////////////////////////////////////////////////////// +/// END OF FILE /// +//////////////////////////////////////////////////////////////////////// + + +ABC_NAMESPACE_IMPL_END + |