summaryrefslogtreecommitdiffstats
path: root/src/misc/mvc/mvcCube.c
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2007-09-30 08:01:00 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2007-09-30 08:01:00 -0700
commite54d9691616b9a0326e2fdb3156bb4eeb8abfcd7 (patch)
treede3ffe87c3e17950351e3b7d97fa18318bd5ea9a /src/misc/mvc/mvcCube.c
parent7d7e60f2dc84393cd4c5db22d2eaf7b1fb1a79b2 (diff)
downloadabc-e54d9691616b9a0326e2fdb3156bb4eeb8abfcd7.tar.gz
abc-e54d9691616b9a0326e2fdb3156bb4eeb8abfcd7.tar.bz2
abc-e54d9691616b9a0326e2fdb3156bb4eeb8abfcd7.zip
Version abc70930
Diffstat (limited to 'src/misc/mvc/mvcCube.c')
-rw-r--r--src/misc/mvc/mvcCube.c175
1 files changed, 0 insertions, 175 deletions
diff --git a/src/misc/mvc/mvcCube.c b/src/misc/mvc/mvcCube.c
deleted file mode 100644
index e157879f..00000000
--- a/src/misc/mvc/mvcCube.c
+++ /dev/null
@@ -1,175 +0,0 @@
-/**CFile****************************************************************
-
- FileName [mvcCube.c]
-
- PackageName [MVSIS 2.0: Multi-valued logic synthesis system.]
-
- Synopsis [Manipulating unate cubes.]
-
- Author [MVSIS Group]
-
- Affiliation [UC Berkeley]
-
- Date [Ver. 1.0. Started - February 1, 2003.]
-
- Revision [$Id: mvcCube.c,v 1.4 2003/04/03 06:31:49 alanmi Exp $]
-
-***********************************************************************/
-
-#include "mvc.h"
-
-////////////////////////////////////////////////////////////////////////
-/// DECLARATIONS ///
-////////////////////////////////////////////////////////////////////////
-
-////////////////////////////////////////////////////////////////////////
-/// FUNCTION DEFINITIONS ///
-////////////////////////////////////////////////////////////////////////
-
-/**Function*************************************************************
-
- Synopsis []
-
- Description []
-
- SideEffects []
-
- SeeAlso []
-
-***********************************************************************/
-Mvc_Cube_t * Mvc_CubeAlloc( Mvc_Cover_t * pCover )
-{
- Mvc_Cube_t * pCube;
-
- assert( pCover->nWords >= 0 );
- // allocate the cube
-#ifdef USE_SYSTEM_MEMORY_MANAGEMENT
- if ( pCover->nWords == 0 )
- pCube = (Mvc_Cube_t *)malloc( sizeof(Mvc_Cube_t) );
- else
- pCube = (Mvc_Cube_t *)malloc( sizeof(Mvc_Cube_t) + sizeof(Mvc_CubeWord_t) * (pCover->nWords - 1) );
-#else
- switch( pCover->nWords )
- {
- case 0:
- case 1:
- pCube = (Mvc_Cube_t *)Extra_MmFixedEntryFetch( pCover->pMem->pMan1 );
- break;
- case 2:
- pCube = (Mvc_Cube_t *)Extra_MmFixedEntryFetch( pCover->pMem->pMan2 );
- break;
- case 3:
- case 4:
- pCube = (Mvc_Cube_t *)Extra_MmFixedEntryFetch( pCover->pMem->pMan4 );
- break;
- default:
- pCube = (Mvc_Cube_t *)malloc( sizeof(Mvc_Cube_t) + sizeof(Mvc_CubeWord_t) * (pCover->nWords - 1) );
- break;
- }
-#endif
- // set the parameters charactering this cube
- if ( pCover->nWords == 0 )
- pCube->iLast = pCover->nWords;
- else
- pCube->iLast = pCover->nWords - 1;
- pCube->nUnused = pCover->nUnused;
- return pCube;
-}
-
-
-/**Function*************************************************************
-
- Synopsis []
-
- Description []
-
- SideEffects []
-
- SeeAlso []
-
-***********************************************************************/
-Mvc_Cube_t * Mvc_CubeDup( Mvc_Cover_t * pCover, Mvc_Cube_t * pCube )
-{
- Mvc_Cube_t * pCubeCopy;
- pCubeCopy = Mvc_CubeAlloc( pCover );
- Mvc_CubeBitCopy( pCubeCopy, pCube );
- return pCubeCopy;
-}
-
-
-/**Function*************************************************************
-
- Synopsis []
-
- Description []
-
- SideEffects []
-
- SeeAlso []
-
-***********************************************************************/
-void Mvc_CubeFree( Mvc_Cover_t * pCover, Mvc_Cube_t * pCube )
-{
- if ( pCube == NULL )
- return;
-
- // verify the parameters charactering this cube
- assert( pCube->iLast == 0 || ((int)pCube->iLast) == pCover->nWords - 1 );
- assert( ((int)pCube->nUnused) == pCover->nUnused );
-
- // deallocate the cube
-#ifdef USE_SYSTEM_MEMORY_MANAGEMENT
- free( pCube );
-#else
- switch( pCover->nWords )
- {
- case 0:
- case 1:
- Extra_MmFixedEntryRecycle( pCover->pMem->pMan1, (char *)pCube );
- break;
- case 2:
- Extra_MmFixedEntryRecycle( pCover->pMem->pMan2, (char *)pCube );
- break;
- case 3:
- case 4:
- Extra_MmFixedEntryRecycle( pCover->pMem->pMan4, (char *)pCube );
- break;
- default:
- free( pCube );
- break;
- }
-#endif
-}
-
-
-/**Function*************************************************************
-
- Synopsis [Removes the don't-care variable from the cube.]
-
- Description []
-
- SideEffects []
-
- SeeAlso []
-
-***********************************************************************/
-void Mvc_CubeBitRemoveDcs( Mvc_Cube_t * pCube )
-{
- unsigned Mask;
- int i;
- for ( i = Mvc_CubeReadLast(pCube); i >= 0; i-- )
- {
- // detect those variables that are different (not DCs)
- Mask = (pCube->pData[i] ^ (pCube->pData[i] >> 1)) & BITS_DISJOINT;
- // create the mask of all that are different
- Mask |= (Mask << 1);
- // remove other bits from the set
- pCube->pData[i] &= Mask;
- }
-}
-
-////////////////////////////////////////////////////////////////////////
-/// END OF FILE ///
-////////////////////////////////////////////////////////////////////////
-
-