21#ifndef ABC__sat__bsat__satTruth_h
22#define ABC__sat__bsat__satTruth_h
54static inline int Tru_ManEqual(
word * pOut,
word * pIn,
int nWords ) {
int w;
for ( w = 0; w <
nWords; w++ )
if(pOut[w]!=pIn[w])
return 0;
return 1; }
55static inline int Tru_ManEqual0(
word * pOut,
int nWords ) {
int w;
for ( w = 0; w <
nWords; w++ )
if(pOut[w]!=0)
return 0;
return 1; }
56static inline int Tru_ManEqual1(
word * pOut,
int nWords ) {
int w;
for ( w = 0; w <
nWords; w++ )
if(pOut[w]!=~(
word)0)
return 0;
return 1; }
57static inline word * Tru_ManCopy(
word * pOut,
word * pIn,
int nWords ) {
int w;
for ( w = 0; w <
nWords; w++ ) pOut[w] = pIn[w];
return pOut; }
58static inline word * Tru_ManClear(
word * pOut,
int nWords ) {
int w;
for ( w = 0; w <
nWords; w++ ) pOut[w] = 0;
return pOut; }
59static inline word * Tru_ManFill(
word * pOut,
int nWords ) {
int w;
for ( w = 0; w <
nWords; w++ ) pOut[w] = ~(
word)0;
return pOut; }
60static inline word * Tru_ManNot(
word * pOut,
int nWords ) {
int w;
for ( w = 0; w <
nWords; w++ ) pOut[w] = ~pOut[w];
return pOut; }
61static inline word * Tru_ManAnd(
word * pOut,
word * pIn,
int nWords ) {
int w;
for ( w = 0; w <
nWords; w++ ) pOut[w] &= pIn[w];
return pOut; }
62static inline word * Tru_ManOr(
word * pOut,
word * pIn,
int nWords ) {
int w;
for ( w = 0; w <
nWords; w++ ) pOut[w] |= pIn[w];
return pOut; }
63static inline word * Tru_ManCopyNot(
word * pOut,
word * pIn,
int nWords ){
int w;
for ( w = 0; w <
nWords; w++ ) pOut[w] = ~pIn[w];
return pOut; }
64static inline word * Tru_ManAndNot(
word * pOut,
word * pIn,
int nWords ) {
int w;
for ( w = 0; w <
nWords; w++ ) pOut[w] &= ~pIn[w];
return pOut; }
65static inline word * Tru_ManOrNot(
word * pOut,
word * pIn,
int nWords ) {
int w;
for ( w = 0; w <
nWords; w++ ) pOut[w] |= ~pIn[w];
return pOut; }
66static inline word * Tru_ManCopyNotCond(
word * pOut,
word * pIn,
int nWords,
int fCompl ){
return fCompl ? Tru_ManCopyNot(pOut, pIn,
nWords) : Tru_ManCopy(pOut, pIn,
nWords); }
67static inline word * Tru_ManAndNotCond(
word * pOut,
word * pIn,
int nWords,
int fCompl ) {
return fCompl ? Tru_ManAndNot(pOut, pIn,
nWords) : Tru_ManAnd(pOut, pIn,
nWords); }
68static inline word * Tru_ManOrNotCond(
word * pOut,
word * pIn,
int nWords,
int fCompl ) {
return fCompl ? Tru_ManOrNot(pOut, pIn,
nWords) : Tru_ManOr(pOut, pIn,
nWords); }
#define ABC_NAMESPACE_HEADER_END
#define ABC_NAMESPACE_HEADER_START
NAMESPACES ///.
unsigned __int64 word
DECLARATIONS ///.
Tru_Man_t * Tru_ManAlloc(int nVars)
FUNCTION DECLARATIONS ///.
word * Tru_ManVar(Tru_Man_t *p, int v)
int Tru_ManInsert(Tru_Man_t *p, word *pTruth)
typedefABC_NAMESPACE_HEADER_START struct Tru_Man_t_ Tru_Man_t
INCLUDES ///.
word * Tru_ManFunc(Tru_Man_t *p, int h)
void Tru_ManFree(Tru_Man_t *p)