mirror of https://github.com/YosysHQ/abc.git
147 lines
3.8 KiB
C
147 lines
3.8 KiB
C
/**CFile****************************************************************
|
|
|
|
FileName [ioaUtil.c]
|
|
|
|
SystemName [ABC: Logic synthesis and verification system.]
|
|
|
|
PackageName [Command processing package.]
|
|
|
|
Synopsis [Procedures to read binary AIGER format developed by
|
|
Armin Biere, Johannes Kepler University (http://fmv.jku.at/)]
|
|
|
|
Author [Alan Mishchenko]
|
|
|
|
Affiliation [UC Berkeley]
|
|
|
|
Date [Ver. 1.0. Started - December 16, 2006.]
|
|
|
|
Revision [$Id: ioaUtil.c,v 1.00 2006/12/16 00:00:00 alanmi Exp $]
|
|
|
|
***********************************************************************/
|
|
|
|
#include "ioa.h"
|
|
|
|
ABC_NAMESPACE_IMPL_START
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////
|
|
/// DECLARATIONS ///
|
|
////////////////////////////////////////////////////////////////////////
|
|
|
|
////////////////////////////////////////////////////////////////////////
|
|
/// FUNCTION DEFINITIONS ///
|
|
////////////////////////////////////////////////////////////////////////
|
|
|
|
/**Function*************************************************************
|
|
|
|
Synopsis [Returns the file size.]
|
|
|
|
Description [The file should be closed.]
|
|
|
|
SideEffects []
|
|
|
|
SeeAlso []
|
|
|
|
***********************************************************************/
|
|
int Ioa_FileSize( char * pFileName )
|
|
{
|
|
FILE * pFile;
|
|
int nFileSize;
|
|
pFile = fopen( pFileName, "r" );
|
|
if ( pFile == NULL )
|
|
{
|
|
printf( "Ioa_FileSize(): The file is unavailable (absent or open).\n" );
|
|
return 0;
|
|
}
|
|
fseek( pFile, 0, SEEK_END );
|
|
nFileSize = ftell( pFile );
|
|
fclose( pFile );
|
|
return nFileSize;
|
|
}
|
|
|
|
/**Function*************************************************************
|
|
|
|
Synopsis []
|
|
|
|
Description []
|
|
|
|
SideEffects []
|
|
|
|
SeeAlso []
|
|
|
|
***********************************************************************/
|
|
char * Ioa_FileNameGeneric( char * FileName )
|
|
{
|
|
char * pDot, * pRes;
|
|
pRes = Abc_UtilStrsav( FileName );
|
|
if ( (pDot = strrchr( pRes, '.' )) )
|
|
*pDot = 0;
|
|
return pRes;
|
|
}
|
|
|
|
/**Function*************************************************************
|
|
|
|
Synopsis [Returns the composite name of the file.]
|
|
|
|
Description []
|
|
|
|
SideEffects []
|
|
|
|
SeeAlso []
|
|
|
|
***********************************************************************/
|
|
char * Ioa_FileNameGenericAppend( char * pBase, char * pSuffix )
|
|
{
|
|
static char Buffer[1000];
|
|
char * pDot;
|
|
if ( pBase == NULL )
|
|
{
|
|
strcpy( Buffer, pSuffix );
|
|
return Buffer;
|
|
}
|
|
strcpy( Buffer, pBase );
|
|
if ( (pDot = strrchr( Buffer, '.' )) )
|
|
*pDot = 0;
|
|
strcat( Buffer, pSuffix );
|
|
// find the last occurrance of slash
|
|
for ( pDot = Buffer + strlen(Buffer) - 1; pDot >= Buffer; pDot-- )
|
|
if (!((*pDot >= '0' && *pDot <= '9') ||
|
|
(*pDot >= 'a' && *pDot <= 'z') ||
|
|
(*pDot >= 'A' && *pDot <= 'Z') ||
|
|
*pDot == '_' || *pDot == '.') )
|
|
break;
|
|
return pDot + 1;
|
|
}
|
|
|
|
/**Function*************************************************************
|
|
|
|
Synopsis [Returns the time stamp.]
|
|
|
|
Description [The file should be closed.]
|
|
|
|
SideEffects []
|
|
|
|
SeeAlso []
|
|
|
|
***********************************************************************/
|
|
char * Ioa_TimeStamp()
|
|
{
|
|
static char Buffer[100];
|
|
char * TimeStamp;
|
|
time_t ltime;
|
|
// get the current time
|
|
time( <ime );
|
|
TimeStamp = asctime( localtime( <ime ) );
|
|
TimeStamp[ strlen(TimeStamp) - 1 ] = 0;
|
|
strcpy( Buffer, TimeStamp );
|
|
return Buffer;
|
|
}
|
|
|
|
////////////////////////////////////////////////////////////////////////
|
|
/// END OF FILE ///
|
|
////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
ABC_NAMESPACE_IMPL_END
|
|
|