📄 fncman.c
字号:
/**CFile**************************************************************** FileName [fncMan.c] PackageName [MVSIS 2.0: Multi-valued logic synthesis system.] Synopsis [] Author [MVSIS Group] Affiliation [UC Berkeley] Date [Ver. 1.0. Started - February 1, 2003.] Revision [$Id: fncMan.c,v 1.15 2003/05/27 23:15:05 alanmi Exp $]***********************************************************************/#include "fncInt.h"/////////////////////////////////////////////////////////////////////////// DECLARATIONS ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// FUNCTION DEFITIONS ////////////////////////////////////////////////////////////////////////////**Function************************************************************* Synopsis [] Description [] SideEffects [] SeeAlso []***********************************************************************/Fnc_Manager_t * Fnc_ManagerAllocate(){ Fnc_Manager_t * pMan; // allocate the var map manager pMan = ALLOC( Fnc_Manager_t, 1 ); memset( pMan, 0, sizeof(Fnc_Manager_t) ); pMan->nRefs = 1; // start the relation manager pMan->pManMvr = Mvr_ManagerAlloc(); // start the global manager pMan->pDdGlo = Cudd_Init( 50, 0, CUDD_UNIQUE_SLOTS, CUDD_CACHE_SLOTS, 0 ); // no need for ZDD variables in the global manager // start other managers pMan->pManVm = Vm_ManagerAlloc(); pMan->pManVmx = Vmx_ManagerAlloc(); pMan->pManMvc = Mvc_ManagerStart(); return pMan;}/**Function************************************************************* Synopsis [] Description [] SideEffects [] SeeAlso []***********************************************************************/void Fnc_ManagerDeallocate( Fnc_Manager_t * p ){ // printf( "The functionality manager is deallocated.\n" );// FILE * pFile;// pFile = fopen( "cudd_info.txt", "w" );// Cudd_PrintInfo( p->pDdLoc, pFile );// fclose( pFile ); Mvr_ManagerFree( p->pManMvr ); Extra_StopManager( p->pDdGlo ); Vmx_ManagerFree( p->pManVmx ); Vm_ManagerFree( p->pManVm ); Mvc_ManagerFree( p->pManMvc ); free( p );}/**Function************************************************************* Synopsis [References the existent DD manager.] Description [] SideEffects [] SeeAlso []***********************************************************************/Fnc_Manager_t * Fnc_ManagerRef( Fnc_Manager_t * p ){ if ( p == NULL ) return NULL; p->nRefs++; return p;}/**Function************************************************************* Synopsis [Dereferences the existent DD manager.] Description [] SideEffects [] SeeAlso []***********************************************************************/void Fnc_ManagerDeref( Fnc_Manager_t * p ){ if ( p == NULL ) return; p->nRefs--;// if ( p->nRefs == 0 )// Fnc_ManagerDeallocate( p );}/**Function************************************************************* Synopsis [Basic APIs of the functionality manager.] Description [] SideEffects [] SeeAlso []***********************************************************************/Mvr_Manager_t * Fnc_ManagerReadManMvr( Fnc_Manager_t * p ) { return p->pManMvr; }DdManager * Fnc_ManagerReadDdGlo( Fnc_Manager_t * p ) { return p->pDdGlo; }Vm_Manager_t * Fnc_ManagerReadManVm( Fnc_Manager_t * p ) { return p->pManVm; }Vmx_Manager_t * Fnc_ManagerReadManVmx( Fnc_Manager_t * p ) { return p->pManVmx; }Vmx_VarMap_t * Fnc_ManagerReadMapGlo( Fnc_Manager_t * p ) { return p->pMapGlo; }Mvc_Manager_t * Fnc_ManagerReadManMvc( Fnc_Manager_t * p ) { return p->pManMvc; }//Sh_Manager_t * Fnc_ManagerReadManSh( Fnc_Manager_t * p ) { return p->pManSh; }//Fm_Manager_t * Fnc_ManagerReadManFm( Fnc_Manager_t * p ) { return p->pManFm; }/////////////////////////////////////////////////////////////////////////// END OF FILE ///////////////////////////////////////////////////////////////////////////
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -