ABC: A System for Sequential Synthesis and Verification
 
Loading...
Searching...
No Matches
mvcDivisor.c File Reference
#include "mvc.h"
Include dependency graph for mvcDivisor.c:

Go to the source code of this file.

Functions

Mvc_Cover_tMvc_CoverDivisor (Mvc_Cover_t *pCover)
 FUNCTION DEFINITIONS ///.
 

Function Documentation

◆ Mvc_CoverDivisor()

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 46 of file mvcDivisor.c.

47{
48 Mvc_Cover_t * pKernel;
49 if ( Mvc_CoverReadCubeNum(pCover) <= 1 )
50 return NULL;
51 // allocate the literal array and count literals
52 if ( Mvc_CoverAnyLiteral( pCover, NULL ) == -1 )
53 return NULL;
54 // duplicate the cover
55 pKernel = Mvc_CoverDup(pCover);
56 // perform the kerneling
57 Mvc_CoverDivisorZeroKernel( pKernel );
58 assert( Mvc_CoverReadCubeNum(pKernel) );
59 return pKernel;
60}
Mvc_Cover_t * Mvc_CoverDup(Mvc_Cover_t *pCover)
Definition mvcCover.c:112
int Mvc_CoverAnyLiteral(Mvc_Cover_t *pCover, Mvc_Cube_t *pMask)
DECLARATIONS ///.
Definition mvcLits.c:43
struct MvcCoverStruct Mvc_Cover_t
Definition mvc.h:58
int Mvc_CoverReadCubeNum(Mvc_Cover_t *pCover)
Definition mvcApi.c:45
#define assert(ex)
Definition util_old.h:213
Here is the call graph for this function: