Commit d0efef2f by Alan Mishchenko

Experiments with simulation.

parent e44f409c
...@@ -5539,6 +5539,10 @@ SOURCE=.\src\proof\cec\cecSeq.c ...@@ -5539,6 +5539,10 @@ SOURCE=.\src\proof\cec\cecSeq.c
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=.\src\proof\cec\cecSim.c
# End Source File
# Begin Source File
SOURCE=.\src\proof\cec\cecSolve.c SOURCE=.\src\proof\cec\cecSolve.c
# End Source File # End Source File
# Begin Source File # Begin Source File
......
...@@ -479,6 +479,7 @@ static inline int Gia_ObjValue( Gia_Obj_t * pObj ) { ...@@ -479,6 +479,7 @@ static inline int Gia_ObjValue( Gia_Obj_t * pObj ) {
static inline void Gia_ObjSetValue( Gia_Obj_t * pObj, int i ) { pObj->Value = i; } static inline void Gia_ObjSetValue( Gia_Obj_t * pObj, int i ) { pObj->Value = i; }
static inline int Gia_ObjPhase( Gia_Obj_t * pObj ) { return pObj->fPhase; } static inline int Gia_ObjPhase( Gia_Obj_t * pObj ) { return pObj->fPhase; }
static inline int Gia_ObjPhaseReal( Gia_Obj_t * pObj ) { return Gia_Regular(pObj)->fPhase ^ Gia_IsComplement(pObj); } static inline int Gia_ObjPhaseReal( Gia_Obj_t * pObj ) { return Gia_Regular(pObj)->fPhase ^ Gia_IsComplement(pObj); }
static inline int Gia_ObjPhaseDiff( Gia_Man_t * p, int i, int k ) { return Gia_ManObj(p, i)->fPhase ^ Gia_ManObj(p, k)->fPhase; }
static inline int Gia_ObjIsTerm( Gia_Obj_t * pObj ) { return pObj->fTerm; } static inline int Gia_ObjIsTerm( Gia_Obj_t * pObj ) { return pObj->fTerm; }
static inline int Gia_ObjIsAndOrConst0( Gia_Obj_t * pObj ) { return!pObj->fTerm; } static inline int Gia_ObjIsAndOrConst0( Gia_Obj_t * pObj ) { return!pObj->fTerm; }
......
...@@ -216,6 +216,12 @@ static inline void Abc_TtMask( word * pTruth, int nWords, int nBits ) ...@@ -216,6 +216,12 @@ static inline void Abc_TtMask( word * pTruth, int nWords, int nBits )
SeeAlso [] SeeAlso []
***********************************************************************/ ***********************************************************************/
static inline void Abc_TtVec( word * pOut, int nWords, word Entry )
{
int w;
for ( w = 0; w < nWords; w++ )
pOut[w] = Entry;
}
static inline void Abc_TtConst( word * pOut, int nWords, int fConst1 ) static inline void Abc_TtConst( word * pOut, int nWords, int fConst1 )
{ {
int w; int w;
...@@ -316,6 +322,12 @@ static inline void Abc_TtOrXor( word * pOut, word * pIn1, word * pIn2, int nWord ...@@ -316,6 +322,12 @@ static inline void Abc_TtOrXor( word * pOut, word * pIn1, word * pIn2, int nWord
for ( w = 0; w < nWords; w++ ) for ( w = 0; w < nWords; w++ )
pOut[w] |= pIn1[w] ^ pIn2[w]; pOut[w] |= pIn1[w] ^ pIn2[w];
} }
static inline void Abc_TtOrAnd( word * pOut, word * pIn1, word * pIn2, int nWords )
{
int w;
for ( w = 0; w < nWords; w++ )
pOut[w] |= pIn1[w] & pIn2[w];
}
static inline void Abc_TtXor( word * pOut, word * pIn1, word * pIn2, int nWords, int fCompl ) static inline void Abc_TtXor( word * pOut, word * pIn1, word * pIn2, int nWords, int fCompl )
{ {
int w; int w;
......
...@@ -10,6 +10,7 @@ SRC += src/proof/cec/cecCec.c \ ...@@ -10,6 +10,7 @@ SRC += src/proof/cec/cecCec.c \
src/proof/cec/cecSatG.c \ src/proof/cec/cecSatG.c \
src/proof/cec/cecSatG2.c \ src/proof/cec/cecSatG2.c \
src/proof/cec/cecSeq.c \ src/proof/cec/cecSeq.c \
src/proof/cec/cecSim.c \
src/proof/cec/cecSolve.c \ src/proof/cec/cecSolve.c \
src/proof/cec/cecSolveG.c \ src/proof/cec/cecSolveG.c \
src/proof/cec/cecSplit.c \ src/proof/cec/cecSplit.c \
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment