mirror of https://github.com/YosysHQ/abc.git
83 lines
3.6 KiB
C
83 lines
3.6 KiB
C
/**CFile****************************************************************
|
|
|
|
FileName [utilNam.h]
|
|
|
|
SystemName [ABC: Logic synthesis and verification system.]
|
|
|
|
PackageName [Memory recycling utilities.]
|
|
|
|
Synopsis [Internal declarations.]
|
|
|
|
Author [Alan Mishchenko]
|
|
|
|
Affiliation [UC Berkeley]
|
|
|
|
Date [Ver. 1.0. Started - June 20, 2005.]
|
|
|
|
Revision [$Id: utilNam.h,v 1.00 2005/06/20 00:00:00 alanmi Exp $]
|
|
|
|
***********************************************************************/
|
|
|
|
#ifndef ABC__misc__util__utilNam_h
|
|
#define ABC__misc__util__utilNam_h
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////
|
|
/// INCLUDES ///
|
|
////////////////////////////////////////////////////////////////////////
|
|
|
|
////////////////////////////////////////////////////////////////////////
|
|
/// PARAMETERS ///
|
|
////////////////////////////////////////////////////////////////////////
|
|
|
|
ABC_NAMESPACE_HEADER_START
|
|
|
|
////////////////////////////////////////////////////////////////////////
|
|
/// BASIC TYPES ///
|
|
////////////////////////////////////////////////////////////////////////
|
|
|
|
typedef struct Abc_Nam_t_ Abc_Nam_t;
|
|
|
|
////////////////////////////////////////////////////////////////////////
|
|
/// MACRO DEFINITIONS ///
|
|
////////////////////////////////////////////////////////////////////////
|
|
|
|
#define Abc_NamManForEachObj( p, pStr, i ) \
|
|
for ( i = 1; (i < Abc_NamObjNumMax(p)) && ((pStr) = Abc_NamStr(p, i)); i++ )
|
|
|
|
////////////////////////////////////////////////////////////////////////
|
|
/// FUNCTION DECLARATIONS ///
|
|
////////////////////////////////////////////////////////////////////////
|
|
|
|
/*=== utilNam.c ===============================================================*/
|
|
extern Abc_Nam_t * Abc_NamStart( int nObjs, int nAveSize );
|
|
extern void Abc_NamStop( Abc_Nam_t * p );
|
|
extern void Abc_NamPrint( Abc_Nam_t * p, char * pFileName );
|
|
extern void Abc_NamSave( Abc_Nam_t * p, char * pFileName );
|
|
extern Abc_Nam_t * Abc_NamLoad( char * pFileName );
|
|
extern Abc_Nam_t * Abc_NamRef( Abc_Nam_t * p );
|
|
extern void Abc_NamDeref( Abc_Nam_t * p );
|
|
extern int Abc_NamObjNumMax( Abc_Nam_t * p );
|
|
extern int Abc_NamMemUsed( Abc_Nam_t * p );
|
|
extern int Abc_NamMemAlloc( Abc_Nam_t * p );
|
|
extern int Abc_NamStrFind( Abc_Nam_t * p, char * pStr );
|
|
extern int Abc_NamStrFindLim( Abc_Nam_t * p, char * pStr, char * pLim );
|
|
extern int Abc_NamStrFindOrAdd( Abc_Nam_t * p, char * pStr, int * pfFound );
|
|
extern int Abc_NamStrFindOrAddLim( Abc_Nam_t * p, char * pStr, char * pLim, int * pfFound );
|
|
extern int Abc_NamStrFindOrAddF( Abc_Nam_t * p, const char * format, ... );
|
|
extern char * Abc_NamStr( Abc_Nam_t * p, int id );
|
|
extern Vec_Str_t * Abc_NamBuffer( Abc_Nam_t * p );
|
|
extern Vec_Int_t * Abc_NamComputeIdMap( Abc_Nam_t * p1, Abc_Nam_t * p2 );
|
|
extern int Abc_NamReportCommon( Vec_Int_t * vNameIds1, Abc_Nam_t * p1, Abc_Nam_t * p2 );
|
|
extern char * Abc_NamReportUnique( Vec_Int_t * vNameIds1, Abc_Nam_t * p1, Abc_Nam_t * p2 );
|
|
|
|
|
|
ABC_NAMESPACE_HEADER_END
|
|
|
|
#endif
|
|
|
|
////////////////////////////////////////////////////////////////////////
|
|
/// END OF FILE ///
|
|
////////////////////////////////////////////////////////////////////////
|
|
|