47 static char pBuffer[64];
49 for ( pTemp = pBuffer; *pName; pTemp++, pName++ )
50 *pTemp = (*pName >=
'a' && *pName <=
'z') ? *pName + Shift : *pName;
56 static char pBuffer[64];
58 for ( pTemp = pBuffer; *pName; pTemp++, pName++ )
59 *pTemp = (*pName >=
'a' && *pName <=
'z') ? *pName + Shift : *pName;
77 static char pBuffer[256];
79 sprintf( pBuffer,
"%s%c%s%s%s%s%c",
82 fCompl1?
"!":
"", pName1[0] ==
'*' ? pName1 + 1 : pName1,
83 fCompl2?
"!":
"", pName2[0] ==
'*' ? pName2 + 1 : pName2,
88 void Dau_EnumCombineThree(
Vec_Ptr_t * vOne,
int fStar,
char * pNameC,
char * pName1,
char * pName2,
int Shift1,
int Shift2,
int fComplC,
int fCompl1,
int fCompl2 )
90 static char pBuffer[256];
93 sprintf( pBuffer,
"%s%c%s%s%s%s%s%s%c",
96 fComplC?
"!":
"", pNameC[0] ==
'*' ? pNameC + 1 : pNameC,
97 fCompl1?
"!":
"", pName1[0] ==
'*' ? pName1 + 1 : pName1,
98 fCompl2?
"!":
"", pName2[0] ==
'*' ? pName2 + 1 : pName2,
121 pFile = fopen( pFileName,
"wb" );
126 fprintf( pFile,
"VARIABLE NUMBER %d:\n", v );
128 fprintf( pFile,
"%s\n", pName );
146 int v, k, nVarMax = 10;
158 for ( v = 2; v <= nVarMax; v++ )
161 char * pNameI, * pNameJ, * pNameK;
162 int i, j, k, i1, j1, k1;
164 for ( i = 1; i < v; i++ )
165 for ( j = i; j < v; j++ )
177 if ( pNameI[0] !=
'*' )
180 if ( pNameJ[0] !=
'*' && !(i == j && i1 == j1) )
183 if ( pNameI[0] !=
'*' && pNameJ[0] !=
'*' )
186 Dau_EnumCombineTwo( vOne, pNameI[0] ==
'*' || pNameJ[0] ==
'*', 1, pNameI, pNameJ, i, 0, 0 );
189 for ( k = 1; k < v; k++ )
190 for ( i = 1; i < v; i++ )
191 for ( j = i; j < v; j++ )
193 if ( k + i + j != v )
202 int fStar = pNameI[0] ==
'*' && pNameJ[0] ==
'*';
207 if ( pNameI[0] !=
'*' )
210 if ( pNameJ[0] !=
'*' && !(i == j && i1 == j1) )
213 if ( pNameK[0] !=
'*' && !(i == j && i1 == j1) )
218 if ( pNameI[0] !=
'*' )
221 if ( pNameJ[0] !=
'*' )
232 printf(
"VARIABLE NUMBER %d:\n", v );
234 printf(
"%s\n", pName );
void Dau_EnumCombineThree(Vec_Ptr_t *vOne, int fStar, char *pNameC, char *pName1, char *pName2, int Shift1, int Shift2, int fComplC, int fCompl1, int fCompl2)
typedefABC_NAMESPACE_HEADER_START struct Vec_Ptr_t_ Vec_Ptr_t
INCLUDES ///.
static void Vec_PtrFreeFree(Vec_Ptr_t *p)
static void Vec_PtrPush(Vec_Ptr_t *p, void *Entry)
void Dau_EnumTestDump(Vec_Ptr_t *vSets, char *pFileName)
static int Vec_PtrSize(Vec_Ptr_t *p)
ABC_NAMESPACE_IMPL_START char * Dau_EnumLift(char *pName, int Shift)
DECLARATIONS ///.
#define ABC_NAMESPACE_IMPL_END
void Dau_EnumCombineTwo(Vec_Ptr_t *vOne, int fStar, int fXor, char *pName1, char *pName2, int Shift2, int fCompl1, int fCompl2)
#define ABC_NAMESPACE_IMPL_START
static void * Vec_PtrEntry(Vec_Ptr_t *p, int i)
static Vec_Ptr_t * Vec_PtrAlloc(int nCap)
FUNCTION DEFINITIONS ///.
#define Vec_PtrForEachEntry(Type, vVec, pEntry, i)
MACRO DEFINITIONS ///.
char * Abc_UtilStrsav(char *s)
char * Dau_EnumLift2(char *pName, int Shift)
static void Vec_PtrFree(Vec_Ptr_t *p)