src/misc/mvc/mvcDivisor.c File Reference

#include "mvc.h"
Include dependency graph for mvcDivisor.c:

Go to the source code of this file.

Functions

static void Mvc_CoverDivisorZeroKernel (Mvc_Cover_t *pCover)
Mvc_Cover_tMvc_CoverDivisor (Mvc_Cover_t *pCover)

Function Documentation

Mvc_Cover_t* Mvc_CoverDivisor ( Mvc_Cover_t pCover  ) 

FUNCTION DEFINITIONS ///Function*************************************************************

Synopsis [Returns the quick divisor of the cover.]

Description [Returns NULL, if there is not divisor other than trivial.]

SideEffects []

SeeAlso []

Definition at line 43 of file mvcDivisor.c.

00044 {
00045     Mvc_Cover_t * pKernel;
00046     if ( Mvc_CoverReadCubeNum(pCover) <= 1 )
00047         return NULL;
00048     // allocate the literal array and count literals
00049     if ( Mvc_CoverAnyLiteral( pCover, NULL ) == -1 )
00050         return NULL;
00051     // duplicate the cover
00052     pKernel = Mvc_CoverDup(pCover);
00053     // perform the kerneling
00054     Mvc_CoverDivisorZeroKernel( pKernel );
00055     assert( Mvc_CoverReadCubeNum(pKernel) );
00056     return pKernel;
00057 }

void Mvc_CoverDivisorZeroKernel ( Mvc_Cover_t pCover  )  [static]

CFile****************************************************************

FileName [mvcDivisor.c]

PackageName [MVSIS 2.0: Multi-valued logic synthesis system.]

Synopsis [Procedures for compute the quick divisor.]

Author [MVSIS Group]

Affiliation [UC Berkeley]

Date [Ver. 1.0. Started - February 1, 2003.]

Revision [

Id
mvcDivisor.c,v 1.1 2003/04/03 15:34:08 alanmi Exp

] DECLARATIONS ///

Function*************************************************************

Synopsis [Computes a level-zero kernel.]

Description [Modifies the cover to contain one level-zero kernel.]

SideEffects []

SeeAlso []

Definition at line 70 of file mvcDivisor.c.

00071 {
00072     int iLit;
00073     // find any literal that occurs at least two times
00074 //    iLit = Mvc_CoverAnyLiteral( pCover, NULL );
00075     iLit = Mvc_CoverWorstLiteral( pCover, NULL );
00076 //    iLit = Mvc_CoverBestLiteral( pCover, NULL );
00077     if ( iLit == -1 )
00078         return;
00079     // derive the cube-free quotient
00080     Mvc_CoverDivideByLiteralQuo( pCover, iLit ); // the same cover
00081     Mvc_CoverMakeCubeFree( pCover );             // the same cover
00082     // call recursively
00083     Mvc_CoverDivisorZeroKernel( pCover );              // the same cover
00084 }


Generated on Tue Jan 5 12:19:17 2010 for abc70930 by  doxygen 1.6.1