summaryrefslogtreecommitdiffstats
path: root/src/misc/mvc/mvcOpAlg.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/misc/mvc/mvcOpAlg.c')
-rw-r--r--src/misc/mvc/mvcOpAlg.c163
1 files changed, 0 insertions, 163 deletions
diff --git a/src/misc/mvc/mvcOpAlg.c b/src/misc/mvc/mvcOpAlg.c
deleted file mode 100644
index 65c02fa5..00000000
--- a/src/misc/mvc/mvcOpAlg.c
+++ /dev/null
@@ -1,163 +0,0 @@
-/**CFile****************************************************************
-
- FileName [mvcOperAlg.c]
-
- PackageName [MVSIS 2.0: Multi-valued logic synthesis system.]
-
- Synopsis [Miscellaneous operations on covers.]
-
- Author [MVSIS Group]
-
- Affiliation [UC Berkeley]
-
- Date [Ver. 1.0. Started - February 1, 2003.]
-
- Revision [$Id: mvcOpAlg.c,v 1.4 2003/04/26 20:41:36 alanmi Exp $]
-
-***********************************************************************/
-
-#include "mvc.h"
-
-////////////////////////////////////////////////////////////////////////
-/// DECLARATIONS ///
-////////////////////////////////////////////////////////////////////////
-
-////////////////////////////////////////////////////////////////////////
-/// FUNCTION DEFINITIONS ///
-////////////////////////////////////////////////////////////////////////
-
-/**Function*************************************************************
-
- Synopsis [Multiplies two disjoint-support covers.]
-
- Description []
-
- SideEffects []
-
- SeeAlso []
-
-***********************************************************************/
-Mvc_Cover_t * Mvc_CoverAlgebraicMultiply( Mvc_Cover_t * pCover1, Mvc_Cover_t * pCover2 )
-{
- Mvc_Cover_t * pCover;
- Mvc_Cube_t * pCube1, * pCube2, * pCube;
- int CompResult;
-
- // covers should be the same base
- assert( pCover1->nBits == pCover2->nBits );
- // make sure that supports do not overlap
- Mvc_CoverAllocateMask( pCover1 );
- Mvc_CoverAllocateMask( pCover2 );
- Mvc_CoverSupport( pCover1, pCover1->pMask );
- Mvc_CoverSupport( pCover2, pCover2->pMask );
- // check if the cubes are bit-wise disjoint
- Mvc_CubeBitDisjoint( CompResult, pCover1->pMask, pCover2->pMask );
- if ( !CompResult )
- printf( "Mvc_CoverMultiply(): Cover supports are not disjoint!\n" );
-
- // iterate through the cubes
- pCover = Mvc_CoverClone( pCover1 );
- Mvc_CoverForEachCube( pCover1, pCube1 )
- Mvc_CoverForEachCube( pCover2, pCube2 )
- {
- // create the product cube
- pCube = Mvc_CubeAlloc( pCover );
- // set the product cube equal to the product of the two cubes
- Mvc_CubeBitOr( pCube, pCube1, pCube2 );
- // add the cube to the cover
- Mvc_CoverAddCubeTail( pCover, pCube );
- }
- return pCover;
-}
-
-
-/**Function*************************************************************
-
- Synopsis [Subtracts the second cover from the first.]
-
- Description []
-
- SideEffects []
-
- SeeAlso []
-
-***********************************************************************/
-Mvc_Cover_t * Mvc_CoverAlgebraicSubtract( Mvc_Cover_t * pCover1, Mvc_Cover_t * pCover2 )
-{
- Mvc_Cover_t * pCover;
- Mvc_Cube_t * pCube1, * pCube2, * pCube;
- int fFound;
- int CompResult;
-
- // covers should be the same base
- assert( pCover1->nBits == pCover2->nBits );
-
- // iterate through the cubes
- pCover = Mvc_CoverClone( pCover1 );
- Mvc_CoverForEachCube( pCover1, pCube1 )
- {
- fFound = 0;
- Mvc_CoverForEachCube( pCover2, pCube2 )
- {
- Mvc_CubeBitEqual( CompResult, pCube1, pCube2 );
- if ( CompResult )
- {
- fFound = 1;
- break;
- }
- }
- if ( !fFound )
- {
- // create the copy of the cube
- pCube = Mvc_CubeDup( pCover, pCube1 );
- // add the cube copy to the cover
- Mvc_CoverAddCubeTail( pCover, pCube );
- }
- }
- return pCover;
-}
-
-/**Function*************************************************************
-
- Synopsis []
-
- Description []
-
- SideEffects []
-
- SeeAlso []
-
-***********************************************************************/
-int Mvc_CoverAlgebraicEqual( Mvc_Cover_t * pCover1, Mvc_Cover_t * pCover2 )
-{
- Mvc_Cube_t * pCube1, * pCube2;
- int fFound;
- int CompResult;
-
- // covers should be the same base
- assert( pCover1->nBits == pCover2->nBits );
- // iterate through the cubes
- Mvc_CoverForEachCube( pCover1, pCube1 )
- {
- fFound = 0;
- Mvc_CoverForEachCube( pCover2, pCube2 )
- {
- Mvc_CubeBitEqual( CompResult, pCube1, pCube2 );
- if ( CompResult )
- {
- fFound = 1;
- break;
- }
- }
- if ( !fFound )
- return 0;
- }
- return 1;
-}
-
-
-////////////////////////////////////////////////////////////////////////
-/// END OF FILE ///
-////////////////////////////////////////////////////////////////////////
-
-