32static int Sim_SymmsSatProveOne(
Sym_Man_t *
p,
int Out,
int Var1,
int Var2,
unsigned * pPattern );
55 int Index1, Index2, Index3, IndexU, IndexV;
56 int v, u, i, k, b, out;
59 for ( out =
p->iOutput; out < p->nOutputs; out++ )
65 vSupport = Vec_VecEntryInt(
p->vSupports, out );
74 Vec_IntClear(
p->vVarsU );
75 Vec_IntClear(
p->vVarsV );
79 Vec_IntPush(
p->vVarsU, b );
81 Vec_IntPush(
p->vVarsV, b );
84 if ( Sim_SymmsSatProveOne(
p, out, v, u, pPattern ) )
107 p->iVar1Old =
p->iVar1;
108 p->iVar2Old =
p->iVar2;
120 p->iOutput =
p->nOutputs;
135int Sim_SymmsSatProveOne(
Sym_Man_t *
p,
int Out,
int Var1,
int Var2,
unsigned * pPattern )
155p->timeFraig += Abc_Clock() - clk;
158p->timeSat += Abc_Clock() - clk;
171 for ( i = 0; i <
p->nSimWords; i++ )
173 for ( i = 0; i <
p->nInputs; i++ )
180 else if ( RetValue == -1 )
188 memset( pPattern, 0,
sizeof(
unsigned) *
p->nSimWords );
struct Abc_Ntk_t_ Abc_Ntk_t
ABC_DLL Abc_Ntk_t * Abc_NtkMiterForCofactors(Abc_Ntk_t *pNtk, int Out, int In1, int In2)
ABC_DLL void Abc_NtkDelete(Abc_Ntk_t *pNtk)
ABC_DLL void * Abc_NtkToFraig(Abc_Ntk_t *pNtk, void *pParams, int fAllNodes, int fExdc)
#define ABC_INFINITY
MACRO DEFINITIONS ///.
#define ABC_NAMESPACE_IMPL_START
#define ABC_NAMESPACE_IMPL_END
typedefABC_NAMESPACE_IMPL_START struct Vec_Int_t_ Vec_Int_t
DECLARATIONS ///.
void Fraig_ManProveMiter(Fraig_Man_t *p)
void Fraig_ManFree(Fraig_Man_t *pMan)
int Fraig_ManCheckMiter(Fraig_Man_t *p)
void Fraig_ParamsSetDefault(Fraig_Params_t *pParams)
int * Fraig_ManReadModel(Fraig_Man_t *p)
typedefABC_NAMESPACE_HEADER_START struct Fraig_ManStruct_t_ Fraig_Man_t
INCLUDES ///.
struct Fraig_ParamsStruct_t_ Fraig_Params_t
int Sim_SymmsGetPatternUsingSat(Sym_Man_t *p, unsigned *pPattern)
FUNCTION DEFINITIONS ///.
typedefABC_NAMESPACE_HEADER_START struct Sym_Man_t_ Sym_Man_t
INCLUDES ///.
#define Vec_IntForEachEntry(vVec, Entry, i)
MACRO DEFINITIONS ///.
#define Vec_IntForEachEntryStart(vVec, Entry, i, Start)