abc-master
|
#include "extraBdd.h"
Go to the source code of this file.
Functions | |
ABC_NAMESPACE_IMPL_START Extra_UnateInfo_t * | Extra_UnateComputeFast (DdManager *dd, DdNode *bFunc) |
DdNode * | Extra_zddUnateInfoCompute (DdManager *dd, DdNode *bF, DdNode *bVars) |
DdNode * | Extra_zddGetSingletonsBoth (DdManager *dd, DdNode *bVars) |
Extra_UnateInfo_t * | Extra_UnateInfoAllocate (int nVars) |
void | Extra_UnateInfoDissolve (Extra_UnateInfo_t *p) |
void | Extra_UnateInfoPrint (Extra_UnateInfo_t *p) |
Extra_UnateInfo_t * | Extra_UnateInfoCreateFromZdd (DdManager *dd, DdNode *zPairs, DdNode *bSupp) |
Extra_UnateInfo_t * | Extra_UnateComputeSlow (DdManager *dd, DdNode *bFunc) |
int | Extra_bddCheckUnateNaive (DdManager *dd, DdNode *bF, int iVar) |
DdNode * | extraZddUnateInfoCompute (DdManager *dd, DdNode *bFunc, DdNode *bVars) |
DdNode * | extraZddGetSingletonsBoth (DdManager *dd, DdNode *bVars) |
Function********************************************************************
Synopsis [Checks if the two variables are symmetric.]
Description [Returns 0 if vars are not unate. Return -1/+1 if the var is neg/pos unate.]
SideEffects []
SeeAlso []
Definition at line 338 of file extraBddUnate.c.
ABC_NAMESPACE_IMPL_START Extra_UnateInfo_t* Extra_UnateComputeFast | ( | DdManager * | dd, |
DdNode * | bFunc | ||
) |
CFile****************************************************************
FileName [extraBddUnate.c]
PackageName [extra]
Synopsis [Efficient methods to compute the information about unate variables using an algorithm that is conceptually similar to the algorithm for two-variable symmetry computation presented in: A. Mishchenko. Fast Computation of Symmetries in Boolean Functions. Transactions on CAD, Nov. 2003.]
Author [Alan Mishchenko]
Affiliation [UC Berkeley]
Date [Ver. 2.0. Started - September 1, 2003.]
Revision [
]AutomaticStart AutomaticEnd Function********************************************************************
Synopsis [Computes the classical symmetry information for the function.]
Description [Returns the symmetry information in the form of Extra_UnateInfo_t structure.]
SideEffects [If the ZDD variables are not derived from BDD variables with multiplicity 2, this function may derive them in a wrong way.]
SeeAlso []
Definition at line 73 of file extraBddUnate.c.
Extra_UnateInfo_t* Extra_UnateComputeSlow | ( | DdManager * | dd, |
DdNode * | bFunc | ||
) |
Function********************************************************************
Synopsis [Computes the classical unateness information for the function.]
Description [Uses the naive way of comparing cofactors.]
SideEffects []
SeeAlso []
Definition at line 293 of file extraBddUnate.c.
Extra_UnateInfo_t* Extra_UnateInfoAllocate | ( | int | nVars | ) |
Function********************************************************************
Synopsis [Allocates unateness information structure.]
Description []
SideEffects []
SeeAlso []
Definition at line 155 of file extraBddUnate.c.
Extra_UnateInfo_t* Extra_UnateInfoCreateFromZdd | ( | DdManager * | dd, |
DdNode * | zPairs, | ||
DdNode * | bSupp | ||
) |
Function********************************************************************
Synopsis [Creates the symmetry information structure from ZDD.]
Description [ZDD representation of symmetries is the set of cubes, each of which has two variables in the positive polarity. These variables correspond to the symmetric variable pair.]
SideEffects []
SeeAlso []
Definition at line 227 of file extraBddUnate.c.
void Extra_UnateInfoDissolve | ( | Extra_UnateInfo_t * | p | ) |
Function********************************************************************
Synopsis [Deallocates symmetry information structure.]
Description []
SideEffects []
SeeAlso []
Definition at line 178 of file extraBddUnate.c.
void Extra_UnateInfoPrint | ( | Extra_UnateInfo_t * | p | ) |
Function********************************************************************
Synopsis [Allocates symmetry information structure.]
Description []
SideEffects []
SeeAlso []
Definition at line 195 of file extraBddUnate.c.
Function********************************************************************
Synopsis [Converts a set of variables into a set of singleton subsets.]
Description []
SideEffects []
SeeAlso []
Definition at line 131 of file extraBddUnate.c.
Function********************************************************************
Synopsis [Computes the classical symmetry information as a ZDD.]
Description []
SideEffects []
SeeAlso []
Definition at line 105 of file extraBddUnate.c.
Function********************************************************************
Synopsis [Performs a recursive step of Extra_zddGetSingletons.]
Description [Returns the set of ZDD singletons, containing those pos/neg polarity ZDD variables that correspond to the BDD variables in bVars.]
SideEffects []
SeeAlso []
Definition at line 570 of file extraBddUnate.c.
Function********************************************************************
Synopsis [Performs a recursive step of Extra_UnateInfoCompute.]
Description [Returns the set of symmetric variable pairs represented as a set of two-literal ZDD cubes. Both variables always appear in the positive polarity in the cubes. This function works without building new BDD nodes. Some relatively small number of ZDD nodes may be built to ensure proper bookkeeping of the symmetry information.]
SideEffects []
SeeAlso []
Definition at line 385 of file extraBddUnate.c.