Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
abc
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lvzhengyang
abc
Commits
2b85ef06
Commit
2b85ef06
authored
Oct 30, 2013
by
Alan Mishchenko
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Compiler warnings.
parent
80f46fa2
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
50 additions
and
51 deletions
+50
-51
src/aig/aig/aigRet.c
+2
-2
src/base/abc/abcHieNew.c
+1
-1
src/base/abci/abcBm.c
+2
-2
src/bdd/cudd/cuddSymmetry.c
+0
-1
src/bool/lucky/lucky.c
+8
-8
src/bool/lucky/luckyFast16.c
+31
-31
src/map/if/ifDec08.c
+2
-2
src/map/if/ifDec10.c
+2
-2
src/map/if/ifDec16.c
+2
-2
No files found.
src/aig/aig/aigRet.c
View file @
2b85ef06
...
...
@@ -93,8 +93,8 @@ static inline Rtm_Init_t Rtm_ObjGetLast1( Rtm_Edg_t * pEdge ) { retur
static
inline
Rtm_Init_t
Rtm_ObjGetOne1
(
Rtm_Edg_t
*
pEdge
,
int
i
)
{
assert
(
i
<
(
int
)
pEdge
->
nLats
);
return
(
Rtm_Init_t
)((
pEdge
->
LData
>>
(
i
<<
1
))
&
3
);
}
static
inline
Rtm_Init_t
Rtm_ObjRemFirst1
(
Rtm_Edg_t
*
pEdge
)
{
int
Val
=
pEdge
->
LData
&
3
;
pEdge
->
LData
>>=
2
;
assert
(
pEdge
->
nLats
>
0
);
pEdge
->
nLats
--
;
return
(
Rtm_Init_t
)
Val
;
}
static
inline
Rtm_Init_t
Rtm_ObjRemLast1
(
Rtm_Edg_t
*
pEdge
)
{
int
Val
=
(
pEdge
->
LData
>>
((
pEdge
->
nLats
-
1
)
<<
1
))
&
3
;
pEdge
->
LData
^=
Val
<<
((
pEdge
->
nLats
-
1
)
<<
1
);
assert
(
pEdge
->
nLats
>
0
);
pEdge
->
nLats
--
;
return
(
Rtm_Init_t
)
Val
;
}
static
inline
void
Rtm_ObjAddFirst1
(
Rtm_Edg_t
*
pEdge
,
Rtm_Init_t
Val
)
{
assert
(
Val
>
0
&&
Val
<
4
);
pEdge
->
LData
=
(
pEdge
->
LData
<<
2
)
|
Val
;
pEdge
->
nLats
++
;
}
static
inline
void
Rtm_ObjAddLast1
(
Rtm_Edg_t
*
pEdge
,
Rtm_Init_t
Val
)
{
assert
(
Val
>
0
&&
Val
<
4
);
pEdge
->
LData
|=
Val
<<
(
pEdge
->
nLats
<<
1
);
pEdge
->
nLats
++
;
}
static
inline
void
Rtm_ObjAddFirst1
(
Rtm_Edg_t
*
pEdge
,
Rtm_Init_t
Val
)
{
assert
(
Val
>
0
);
pEdge
->
LData
=
(
pEdge
->
LData
<<
2
)
|
Val
;
pEdge
->
nLats
++
;
}
static
inline
void
Rtm_ObjAddLast1
(
Rtm_Edg_t
*
pEdge
,
Rtm_Init_t
Val
)
{
assert
(
Val
>
0
);
pEdge
->
LData
|=
Val
<<
(
pEdge
->
nLats
<<
1
);
pEdge
->
nLats
++
;
}
static
inline
Rtm_Init_t
Rtm_ObjGetFirst2
(
Rtm_Man_t
*
p
,
Rtm_Edg_t
*
pEdge
)
{
return
(
Rtm_Init_t
)
Rtm_InitGetTwo
(
p
->
pExtra
+
pEdge
->
LData
,
0
);
}
static
inline
Rtm_Init_t
Rtm_ObjGetLast2
(
Rtm_Man_t
*
p
,
Rtm_Edg_t
*
pEdge
)
{
return
(
Rtm_Init_t
)
Rtm_InitGetTwo
(
p
->
pExtra
+
pEdge
->
LData
,
pEdge
->
nLats
-
1
);
}
...
...
src/base/abc/abcHieNew.c
View file @
2b85ef06
...
...
@@ -186,7 +186,7 @@ static inline int Au_ObjCopy( Au_Obj_t * p ) { retur
static
inline
void
Au_ObjSetCopy
(
Au_Obj_t
*
p
,
int
c
)
{
Vec_IntWriteEntry
(
&
Au_ObjNtk
(
p
)
->
vCopies
,
Au_ObjId
(
p
),
c
);
}
static
inline
int
Au_ObjFanout
(
Au_Obj_t
*
p
,
int
i
)
{
assert
(
p
->
Type
==
AU_OBJ_BOX
&&
i
>=
0
&&
i
<
p
->
Fanins
[
p
->
nFanins
]
&&
p
->
Fanins
[
i
]);
return
p
->
Fanins
[
p
->
nFanins
+
1
+
i
];
}
static
inline
int
Au_ObjSetFanout
(
Au_Obj_t
*
p
,
int
i
,
int
f
)
{
assert
(
p
->
Type
==
AU_OBJ_BOX
&&
i
>=
0
&&
i
<
p
->
Fanins
[
p
->
nFanins
]
&&
p
->
Fanins
[
i
]
==
0
&&
f
>
0
);
p
->
Fanins
[
p
->
nFanins
+
1
+
i
]
=
f
;
}
static
inline
void
Au_ObjSetFanout
(
Au_Obj_t
*
p
,
int
i
,
int
f
)
{
assert
(
p
->
Type
==
AU_OBJ_BOX
&&
i
>=
0
&&
i
<
p
->
Fanins
[
p
->
nFanins
]
&&
p
->
Fanins
[
i
]
==
0
&&
f
>
0
);
p
->
Fanins
[
p
->
nFanins
+
1
+
i
]
=
f
;
}
static
inline
void
Au_NtkIncrementTravId
(
Au_Ntk_t
*
p
)
{
if
(
p
->
vTravIds
.
pArray
==
NULL
)
Vec_IntFill
(
&
p
->
vTravIds
,
Au_NtkObjNumMax
(
p
)
+
500
,
0
);
p
->
nTravIds
++
;
assert
(
p
->
nTravIds
<
(
1
<<
30
));
}
static
inline
void
Au_ObjSetTravIdCurrent
(
Au_Obj_t
*
p
)
{
Vec_IntSetEntry
(
&
Au_ObjNtk
(
p
)
->
vTravIds
,
Au_ObjId
(
p
),
Au_ObjNtk
(
p
)
->
nTravIds
);
}
...
...
src/base/abci/abcBm.c
View file @
2b85ef06
...
...
@@ -1506,8 +1506,8 @@ int match1by1(Abc_Ntk_t * pNtk1, Vec_Ptr_t ** nodesInLevel1, Vec_Int_t ** iMatch
vSupp
=
Abc_NtkNodeSupport
(
FpNtk2
,
&
pObj
,
1
);
for
(
n
=
0
;
n
<
vSupp
->
nSize
;
n
++
)
if
(
Abc_ObjId
((
Abc_Obj_t
*
)
vSupp
->
pArray
[
n
])
-
1
<
(
unsigned
)
(
Vec_IntSize
(
iMatch2
[
i
]))
-
idx
+
1
&&
Abc_ObjId
((
Abc_Obj_t
*
)
vSupp
->
pArray
[
n
])
-
1
>=
0
)
if
(
(
int
)
Abc_ObjId
((
Abc_Obj_t
*
)
vSupp
->
pArray
[
n
])
-
1
<
(
Vec_IntSize
(
iMatch2
[
i
]))
-
idx
+
1
&&
(
int
)
Abc_ObjId
((
Abc_Obj_t
*
)
vSupp
->
pArray
[
n
])
-
1
>=
0
)
suppNum2
[
Abc_ObjId
((
Abc_Obj_t
*
)
vSupp
->
pArray
[
n
])
-
1
]
+=
Vec_IntFind
(
matchedOutputs2
,
m
)
+
1
;
Vec_PtrFree
(
vSupp
);
...
...
src/bdd/cudd/cuddSymmetry.c
View file @
2b85ef06
...
...
@@ -1632,7 +1632,6 @@ ddSymmSiftingBackward(
Move
*
move
;
int
res
=
-
1
;
size
=
size
;
for
(
move
=
moves
;
move
!=
NULL
;
move
=
move
->
next
)
{
if
(
move
->
size
<
size
)
{
size
=
move
->
size
;
...
...
src/bool/lucky/lucky.c
View file @
2b85ef06
...
...
@@ -283,7 +283,7 @@ void printCCtrInfo(cycleCtr* cCtr, int nFuncs)
// if highest bit in F ( all ones min term ) is one => inverse
// returns: if pInOnt changed(minimized) by function return 1 if not 0
in
line
in
t
minimalInitialFlip1
(
word
*
pInOut
,
int
nVars
)
int
minimalInitialFlip1
(
word
*
pInOut
,
int
nVars
)
{
word
oneWord
=
1
;
if
(
(
pInOut
[
Kit_TruthWordNum_64bit
(
nVars
)
-
1
]
>>
63
)
&
oneWord
)
...
...
@@ -298,7 +298,7 @@ inline int minimalInitialFlip1(word* pInOut, int nVars)
// keeps smaller.
// same for all vars in F.
// returns: if pInOnt changed(minimized) by function return 1 if not 0
in
line
in
t
minimalFlip1
(
word
*
pInOut
,
word
*
pMinimal
,
word
*
PDuplicat
,
int
nVars
)
int
minimalFlip1
(
word
*
pInOut
,
word
*
pMinimal
,
word
*
PDuplicat
,
int
nVars
)
{
int
i
;
int
blockSize
=
Kit_TruthWordNum_64bit
(
nVars
)
*
sizeof
(
word
);
...
...
@@ -329,7 +329,7 @@ inline int minimalFlip1(word* pInOut, word* pMinimal, word* PDuplicat, int nVar
// keeps smaller.
// same for all vars in F.
// returns: if pInOnt changed(minimized) by function return 1 if not 0
in
line
in
t
minimalSwap1
(
word
*
pInOut
,
word
*
pMinimal
,
word
*
PDuplicat
,
int
nVars
)
int
minimalSwap1
(
word
*
pInOut
,
word
*
pMinimal
,
word
*
PDuplicat
,
int
nVars
)
{
int
i
;
int
blockSize
=
Kit_TruthWordNum_64bit
(
nVars
)
*
sizeof
(
word
);
...
...
@@ -359,7 +359,7 @@ inline int minimalSwap1(word* pInOut, word* pMinimal, word* PDuplicat, int nVar
// if highest bit in F ( all ones min term ) is one => inverse
// returns: if pInOnt changed(minimized) by function return 1 if not 0
in
line
in
t
minimalInitialFlip
(
word
*
pInOut
,
int
nVars
,
unsigned
*
p_uCanonPhase
)
int
minimalInitialFlip
(
word
*
pInOut
,
int
nVars
,
unsigned
*
p_uCanonPhase
)
{
word
oneWord
=
1
;
if
(
(
pInOut
[
Kit_TruthWordNum_64bit
(
nVars
)
-
1
]
>>
63
)
&
oneWord
)
...
...
@@ -375,7 +375,7 @@ inline int minimalInitialFlip(word* pInOut, int nVars, unsigned* p_uCanonPhase)
// keeps smaller.
// same for all vars in F.
// returns: if pInOnt changed(minimized) by function return 1 if not 0
in
line
in
t
minimalFlip
(
word
*
pInOut
,
word
*
pMinimal
,
word
*
PDuplicat
,
int
nVars
,
unsigned
*
p_uCanonPhase
)
int
minimalFlip
(
word
*
pInOut
,
word
*
pMinimal
,
word
*
PDuplicat
,
int
nVars
,
unsigned
*
p_uCanonPhase
)
{
int
i
;
unsigned
minTemp
=
*
p_uCanonPhase
;
...
...
@@ -411,7 +411,7 @@ inline int minimalFlip(word* pInOut, word* pMinimal, word* PDuplicat, int nVars
}
// swaps iVar and iVar+1 elements in pCanonPerm ant p_uCanonPhase
inline
void
swapInfoAdjacentVars
(
int
iVar
,
char
*
pCanonPerm
,
unsigned
*
p_uCanonPhase
)
void
swapInfoAdjacentVars
(
int
iVar
,
char
*
pCanonPerm
,
unsigned
*
p_uCanonPhase
)
{
char
Temp
=
pCanonPerm
[
iVar
];
pCanonPerm
[
iVar
]
=
pCanonPerm
[
iVar
+
1
];
...
...
@@ -435,7 +435,7 @@ inline void swapInfoAdjacentVars(int iVar, char * pCanonPerm, unsigned* p_uCanon
/*
// this version is buggy and is fixed below
in
line in
t minimalSwap(word* pInOut, word* pMinimal, word* PDuplicat, int nVars, char * pCanonPerm, char * tempArray, unsigned* p_uCanonPhase)
int minimalSwap(word* pInOut, word* pMinimal, word* PDuplicat, int nVars, char * pCanonPerm, char * tempArray, unsigned* p_uCanonPhase)
{
int i;
int blockSizeWord = Kit_TruthWordNum_64bit( nVars )*sizeof(word);
...
...
@@ -472,7 +472,7 @@ inline int minimalSwap(word* pInOut, word* pMinimal, word* PDuplicat, int nVars
}
*/
in
line
in
t
minimalSwap
(
word
*
pInOut
,
word
*
pMinimal
,
word
*
PDuplicat
,
int
nVars
,
char
*
pCanonPerm
,
char
*
tempArray
,
unsigned
*
p_uCanonPhase
)
int
minimalSwap
(
word
*
pInOut
,
word
*
pMinimal
,
word
*
PDuplicat
,
int
nVars
,
char
*
pCanonPerm
,
char
*
tempArray
,
unsigned
*
p_uCanonPhase
)
{
int
i
;
int
blockSizeWord
=
Kit_TruthWordNum_64bit
(
nVars
)
*
sizeof
(
word
);
...
...
src/bool/lucky/luckyFast16.c
View file @
2b85ef06
...
...
@@ -73,7 +73,7 @@ int luckyCheck(word* pAfter, word* pBefore, int nVars, char * pCanonPerm, unsign
// there are 4 parts in every block to compare and rearrange - quoters(0Q,1Q,2Q,3Q)
//updataInfo updates CanonPerm and CanonPhase based on what quoter in position iQ and jQ
inline
void
updataInfo
(
int
iQ
,
int
jQ
,
int
iVar
,
char
*
pCanonPerm
,
unsigned
*
pCanonPhase
)
void
updataInfo
(
int
iQ
,
int
jQ
,
int
iVar
,
char
*
pCanonPerm
,
unsigned
*
pCanonPhase
)
{
*
pCanonPhase
=
adjustInfoAfterSwap
(
pCanonPerm
,
*
pCanonPhase
,
iVar
,
((
abs
(
iQ
-
jQ
)
-
1
)
<<
2
)
+
iQ
);
...
...
@@ -81,7 +81,7 @@ inline void updataInfo(int iQ, int jQ, int iVar, char * pCanonPerm, unsigned* p
// returns the first shift from the left in word x that has One bit in it.
// blockSize = ShiftSize/4
in
line
in
t
firstShiftWithOneBit
(
word
x
,
int
blockSize
)
int
firstShiftWithOneBit
(
word
x
,
int
blockSize
)
{
int
n
=
0
;
if
(
blockSize
==
16
){
return
0
;}
...
...
@@ -98,7 +98,7 @@ inline int firstShiftWithOneBit(word x, int blockSize)
// It rearranges InOut (swaps and flips through rearrangement of quoters)
// It updates Info at the end
inline
void
arrangeQuoters_superFast_lessThen5
(
word
*
pInOut
,
int
start
,
int
iQ
,
int
jQ
,
int
kQ
,
int
lQ
,
int
iVar
,
int
nWords
,
char
*
pCanonPerm
,
unsigned
*
pCanonPhase
)
void
arrangeQuoters_superFast_lessThen5
(
word
*
pInOut
,
int
start
,
int
iQ
,
int
jQ
,
int
kQ
,
int
lQ
,
int
iVar
,
int
nWords
,
char
*
pCanonPerm
,
unsigned
*
pCanonPhase
)
{
int
i
,
blockSize
=
1
<<
iVar
;
// printf("in arrangeQuoters_superFast_lessThen5\n");
...
...
@@ -128,7 +128,7 @@ inline void arrangeQuoters_superFast_lessThen5(word* pInOut, int start, int iQ,
// };
//It compares 0Q and 3Q and returns 0 if 0Q is smaller then 3Q ( comparison starts at highest bit) and visa versa
// DifStart contains the information about the first different bit in 0Q and 3Q
in
line
in
t
minTemp0_fast
(
word
*
pInOut
,
int
iVar
,
int
nWords
,
int
*
pDifStart
)
int
minTemp0_fast
(
word
*
pInOut
,
int
iVar
,
int
nWords
,
int
*
pDifStart
)
{
int
i
,
blockSize
=
1
<<
iVar
;
word
temp
;
...
...
@@ -154,7 +154,7 @@ inline int minTemp0_fast(word* pInOut, int iVar, int nWords, int* pDifStart)
//It compares 1Q and 2Q and returns 1 if 1Q is smaller then 2Q ( comparison starts at highest bit) and visa versa
// DifStart contains the information about the first different bit in 1Q and 2Q
in
line
in
t
minTemp1_fast
(
word
*
pInOut
,
int
iVar
,
int
nWords
,
int
*
pDifStart
)
int
minTemp1_fast
(
word
*
pInOut
,
int
iVar
,
int
nWords
,
int
*
pDifStart
)
{
int
i
,
blockSize
=
1
<<
iVar
;
word
temp
;
...
...
@@ -179,7 +179,7 @@ inline int minTemp1_fast(word* pInOut, int iVar, int nWords, int* pDifStart)
//It compares iQ and jQ and returns 0 if iQ is smaller then jQ ( comparison starts at highest bit) and 1 if jQ is
// DifStart contains the information about the first different bit in iQ and jQ
in
line
in
t
minTemp2_fast
(
word
*
pInOut
,
int
iVar
,
int
iQ
,
int
jQ
,
int
nWords
,
int
*
pDifStart
)
int
minTemp2_fast
(
word
*
pInOut
,
int
iVar
,
int
iQ
,
int
jQ
,
int
nWords
,
int
*
pDifStart
)
{
int
i
,
blockSize
=
1
<<
iVar
;
word
temp
;
...
...
@@ -202,7 +202,7 @@ inline int minTemp2_fast(word* pInOut, int iVar, int iQ, int jQ, int nWords, int
return
0
;
}
// same as minTemp2_fast but this one has a start position
in
line
in
t
minTemp3_fast
(
word
*
pInOut
,
int
iVar
,
int
start
,
int
finish
,
int
iQ
,
int
jQ
,
int
*
pDifStart
)
int
minTemp3_fast
(
word
*
pInOut
,
int
iVar
,
int
start
,
int
finish
,
int
iQ
,
int
jQ
,
int
*
pDifStart
)
{
int
i
,
blockSize
=
1
<<
iVar
;
word
temp
;
...
...
@@ -226,7 +226,7 @@ inline int minTemp3_fast(word* pInOut, int iVar, int start, int finish, int iQ,
}
// It considers all swap and flip possibilities of iVar and iVar+1 and switches InOut to a minimal of them
inline
void
minimalSwapAndFlipIVar_superFast_lessThen5
(
word
*
pInOut
,
int
iVar
,
int
nWords
,
char
*
pCanonPerm
,
unsigned
*
pCanonPhase
)
void
minimalSwapAndFlipIVar_superFast_lessThen5
(
word
*
pInOut
,
int
iVar
,
int
nWords
,
char
*
pCanonPerm
,
unsigned
*
pCanonPhase
)
{
int
min1
,
min2
,
DifStart0
,
DifStart1
,
DifStartMin
,
DifStart4
=
0
;
int
M
[
2
];
...
...
@@ -262,7 +262,7 @@ inline void minimalSwapAndFlipIVar_superFast_lessThen5(word* pInOut, int iVar, i
}
}
inline
void
minimalSwapAndFlipIVar_superFast_lessThen5_noEBFC
(
word
*
pInOut
,
int
iVar
,
int
nWords
,
char
*
pCanonPerm
,
unsigned
*
pCanonPhase
)
void
minimalSwapAndFlipIVar_superFast_lessThen5_noEBFC
(
word
*
pInOut
,
int
iVar
,
int
nWords
,
char
*
pCanonPerm
,
unsigned
*
pCanonPhase
)
{
int
DifStart1
;
if
(
minTemp1_fast
(
pInOut
,
iVar
,
nWords
,
&
DifStart1
)
==
2
)
...
...
@@ -272,7 +272,7 @@ inline void minimalSwapAndFlipIVar_superFast_lessThen5_noEBFC(word* pInOut, int
// It rearranges InOut (swaps and flips through rearrangement of quoters)
// It updates Info at the end
inline
void
arrangeQuoters_superFast_iVar5
(
unsigned
*
pInOut
,
unsigned
*
temp
,
int
start
,
int
iQ
,
int
jQ
,
int
kQ
,
int
lQ
,
char
*
pCanonPerm
,
unsigned
*
pCanonPhase
)
void
arrangeQuoters_superFast_iVar5
(
unsigned
*
pInOut
,
unsigned
*
temp
,
int
start
,
int
iQ
,
int
jQ
,
int
kQ
,
int
lQ
,
char
*
pCanonPerm
,
unsigned
*
pCanonPhase
)
{
int
i
,
blockSize
,
shiftSize
;
unsigned
*
tempPtr
=
temp
+
start
;
...
...
@@ -299,7 +299,7 @@ inline void arrangeQuoters_superFast_iVar5(unsigned* pInOut, unsigned* temp, int
//It compares 0Q and 3Q and returns 0 if 0Q is smaller then 3Q ( comparison starts at highest bit) and visa versa
// DifStart contains the information about the first different bit in 0Q and 3Q
in
line
in
t
minTemp0_fast_iVar5
(
unsigned
*
pInOut
,
int
nWords
,
int
*
pDifStart
)
int
minTemp0_fast_iVar5
(
unsigned
*
pInOut
,
int
nWords
,
int
*
pDifStart
)
{
int
i
,
temp
;
// printf("in minTemp0_fast_iVar5\n");
...
...
@@ -325,7 +325,7 @@ inline int minTemp0_fast_iVar5(unsigned* pInOut, int nWords, int* pDifStart)
//It compares 1Q and 2Q and returns 1 if 1Q is smaller then 2Q ( comparison starts at highest bit) and visa versa
// DifStart contains the information about the first different bit in 1Q and 2Q
in
line
in
t
minTemp1_fast_iVar5
(
unsigned
*
pInOut
,
int
nWords
,
int
*
pDifStart
)
int
minTemp1_fast_iVar5
(
unsigned
*
pInOut
,
int
nWords
,
int
*
pDifStart
)
{
int
i
,
temp
;
// printf("in minTemp1_fast_iVar5\n");
...
...
@@ -351,7 +351,7 @@ inline int minTemp1_fast_iVar5(unsigned* pInOut, int nWords, int* pDifStart)
//It compares iQ and jQ and returns 0 if iQ is smaller then jQ ( comparison starts at highest bit) and visa versa
// DifStart contains the information about the first different bit in iQ and jQ
in
line
in
t
minTemp2_fast_iVar5
(
unsigned
*
pInOut
,
int
iQ
,
int
jQ
,
int
nWords
,
int
*
pDifStart
)
int
minTemp2_fast_iVar5
(
unsigned
*
pInOut
,
int
iQ
,
int
jQ
,
int
nWords
,
int
*
pDifStart
)
{
int
i
,
temp
;
// printf("in minTemp2_fast_iVar5\n");
...
...
@@ -377,7 +377,7 @@ inline int minTemp2_fast_iVar5(unsigned* pInOut, int iQ, int jQ, int nWords, int
}
// same as minTemp2_fast but this one has a start position
in
line
in
t
minTemp3_fast_iVar5
(
unsigned
*
pInOut
,
int
start
,
int
finish
,
int
iQ
,
int
jQ
,
int
*
pDifStart
)
int
minTemp3_fast_iVar5
(
unsigned
*
pInOut
,
int
start
,
int
finish
,
int
iQ
,
int
jQ
,
int
*
pDifStart
)
{
int
i
,
temp
;
// printf("in minTemp3_fast_iVar5\n");
...
...
@@ -403,7 +403,7 @@ inline int minTemp3_fast_iVar5(unsigned* pInOut, int start, int finish, int iQ,
}
// It considers all swap and flip possibilities of iVar and iVar+1 and switches InOut to a minimal of them
inline
void
minimalSwapAndFlipIVar_superFast_iVar5
(
unsigned
*
pInOut
,
int
nWords
,
char
*
pCanonPerm
,
unsigned
*
pCanonPhase
)
void
minimalSwapAndFlipIVar_superFast_iVar5
(
unsigned
*
pInOut
,
int
nWords
,
char
*
pCanonPerm
,
unsigned
*
pCanonPhase
)
{
int
min1
,
min2
,
DifStart0
,
DifStart1
,
DifStartMin
;
int
M
[
2
];
...
...
@@ -436,7 +436,7 @@ inline void minimalSwapAndFlipIVar_superFast_iVar5(unsigned* pInOut, int nWords,
}
}
inline
void
minimalSwapAndFlipIVar_superFast_iVar5_noEBFC
(
unsigned
*
pInOut
,
int
nWords
,
char
*
pCanonPerm
,
unsigned
*
pCanonPhase
)
void
minimalSwapAndFlipIVar_superFast_iVar5_noEBFC
(
unsigned
*
pInOut
,
int
nWords
,
char
*
pCanonPerm
,
unsigned
*
pCanonPhase
)
{
int
DifStart1
;
unsigned
temp
[
2048
];
...
...
@@ -448,7 +448,7 @@ inline void minimalSwapAndFlipIVar_superFast_iVar5_noEBFC(unsigned* pInOut, int
// It rearranges InOut (swaps and flips through rearrangement of quoters)
// It updates Info at the end
inline
void
arrangeQuoters_superFast_moreThen5
(
word
*
pInOut
,
word
*
temp
,
int
start
,
int
iQ
,
int
jQ
,
int
kQ
,
int
lQ
,
int
iVar
,
char
*
pCanonPerm
,
unsigned
*
pCanonPhase
)
void
arrangeQuoters_superFast_moreThen5
(
word
*
pInOut
,
word
*
temp
,
int
start
,
int
iQ
,
int
jQ
,
int
kQ
,
int
lQ
,
int
iVar
,
char
*
pCanonPerm
,
unsigned
*
pCanonPhase
)
{
int
i
,
wordBlock
,
blockSize
,
shiftSize
;
word
*
tempPtr
=
temp
+
start
;
...
...
@@ -478,7 +478,7 @@ inline void arrangeQuoters_superFast_moreThen5(word* pInOut, word* temp, int sta
//It compares 0Q and 3Q and returns 0 if 0Q is smaller then 3Q ( comparison starts at highest bit) and visa versa
// DifStart contains the information about the first different bit in 0Q and 3Q
in
line
in
t
minTemp0_fast_moreThen5
(
word
*
pInOut
,
int
iVar
,
int
nWords
,
int
*
pDifStart
)
int
minTemp0_fast_moreThen5
(
word
*
pInOut
,
int
iVar
,
int
nWords
,
int
*
pDifStart
)
{
int
i
,
j
,
temp
;
int
wordBlock
=
1
<<
(
iVar
-
6
);
...
...
@@ -511,7 +511,7 @@ inline int minTemp0_fast_moreThen5(word* pInOut, int iVar, int nWords, int* pDif
//It compares 1Q and 2Q and returns 1 if 1Q is smaller then 2Q ( comparison starts at highest bit) and visa versa
// DifStart contains the information about the first different bit in 1Q and 2Q
in
line
in
t
minTemp1_fast_moreThen5
(
word
*
pInOut
,
int
iVar
,
int
nWords
,
int
*
pDifStart
)
int
minTemp1_fast_moreThen5
(
word
*
pInOut
,
int
iVar
,
int
nWords
,
int
*
pDifStart
)
{
int
i
,
j
,
temp
;
int
wordBlock
=
1
<<
(
iVar
-
6
);
...
...
@@ -543,7 +543,7 @@ inline int minTemp1_fast_moreThen5(word* pInOut, int iVar, int nWords, int* pDif
//It compares iQ and jQ and returns 0 if iQ is smaller then jQ ( comparison starts at highest bit) and visa versa
// DifStart contains the information about the first different bit in iQ and jQ
in
line
in
t
minTemp2_fast_moreThen5
(
word
*
pInOut
,
int
iVar
,
int
iQ
,
int
jQ
,
int
nWords
,
int
*
pDifStart
)
int
minTemp2_fast_moreThen5
(
word
*
pInOut
,
int
iVar
,
int
iQ
,
int
jQ
,
int
nWords
,
int
*
pDifStart
)
{
int
i
,
j
,
temp
;
int
wordBlock
=
1
<<
(
iVar
-
6
);
...
...
@@ -574,7 +574,7 @@ inline int minTemp2_fast_moreThen5(word* pInOut, int iVar, int iQ, int jQ, int n
}
// same as minTemp2_fast but this one has a start position
in
line
in
t
minTemp3_fast_moreThen5
(
word
*
pInOut
,
int
iVar
,
int
start
,
int
finish
,
int
iQ
,
int
jQ
,
int
*
pDifStart
)
int
minTemp3_fast_moreThen5
(
word
*
pInOut
,
int
iVar
,
int
start
,
int
finish
,
int
iQ
,
int
jQ
,
int
*
pDifStart
)
{
int
i
,
j
,
temp
;
int
wordBlock
=
1
<<
(
iVar
-
6
);
...
...
@@ -605,7 +605,7 @@ inline int minTemp3_fast_moreThen5(word* pInOut, int iVar, int start, int finish
}
// It considers all swap and flip possibilities of iVar and iVar+1 and switches InOut to a minimal of them
inline
void
minimalSwapAndFlipIVar_superFast_moreThen5
(
word
*
pInOut
,
int
iVar
,
int
nWords
,
char
*
pCanonPerm
,
unsigned
*
pCanonPhase
)
void
minimalSwapAndFlipIVar_superFast_moreThen5
(
word
*
pInOut
,
int
iVar
,
int
nWords
,
char
*
pCanonPerm
,
unsigned
*
pCanonPhase
)
{
int
min1
,
min2
,
DifStart0
,
DifStart1
,
DifStartMin
;
int
M
[
2
];
...
...
@@ -640,7 +640,7 @@ inline void minimalSwapAndFlipIVar_superFast_moreThen5(word* pInOut, int iVar, i
}
inline
void
minimalSwapAndFlipIVar_superFast_moreThen5_noEBFC
(
word
*
pInOut
,
int
iVar
,
int
nWords
,
char
*
pCanonPerm
,
unsigned
*
pCanonPhase
)
void
minimalSwapAndFlipIVar_superFast_moreThen5_noEBFC
(
word
*
pInOut
,
int
iVar
,
int
nWords
,
char
*
pCanonPerm
,
unsigned
*
pCanonPhase
)
{
int
DifStart1
;
word
temp
[
1024
];
...
...
@@ -649,7 +649,7 @@ inline void minimalSwapAndFlipIVar_superFast_moreThen5_noEBFC(word* pInOut, int
}
/////////////////////////////////// for all /////////////////////////////////////////////////////////////////////////////////////////////
inline
void
minimalInitialFlip_fast_16Vars
(
word
*
pInOut
,
int
nVars
,
unsigned
*
pCanonPhase
)
void
minimalInitialFlip_fast_16Vars
(
word
*
pInOut
,
int
nVars
,
unsigned
*
pCanonPhase
)
{
word
oneWord
=
1
;
if
(
(
pInOut
[
Kit_TruthWordNum_64bit
(
nVars
)
-
1
]
>>
63
)
&
oneWord
)
...
...
@@ -662,7 +662,7 @@ inline void minimalInitialFlip_fast_16Vars(word* pInOut, int nVars, unsigned* p
// this function finds minimal for all TIED(and tied only) iVars
//it finds tied vars based on rearranged Store info - group of tied vars has the same bit count in Store
in
line
in
t
minimalSwapAndFlipIVar_superFast_all
(
word
*
pInOut
,
int
nVars
,
int
nWords
,
int
*
pStore
,
char
*
pCanonPerm
,
unsigned
*
pCanonPhase
)
int
minimalSwapAndFlipIVar_superFast_all
(
word
*
pInOut
,
int
nVars
,
int
nWords
,
int
*
pStore
,
char
*
pCanonPerm
,
unsigned
*
pCanonPhase
)
{
int
i
;
word
pDuplicate
[
1024
];
...
...
@@ -702,7 +702,7 @@ inline int minimalSwapAndFlipIVar_superFast_all(word* pInOut, int nVars, int nWo
return
1
;
}
in
line
in
t
minimalSwapAndFlipIVar_superFast_all_noEBFC
(
word
*
pInOut
,
int
nVars
,
int
nWords
,
int
*
pStore
,
char
*
pCanonPerm
,
unsigned
*
pCanonPhase
)
int
minimalSwapAndFlipIVar_superFast_all_noEBFC
(
word
*
pInOut
,
int
nVars
,
int
nWords
,
int
*
pStore
,
char
*
pCanonPerm
,
unsigned
*
pCanonPhase
)
{
int
i
;
word
pDuplicate
[
1024
];
...
...
@@ -741,13 +741,13 @@ inline int minimalSwapAndFlipIVar_superFast_all_noEBFC(word* pInOut, int nVars,
// old version with out noEBFC
//
inline
void luckyCanonicizerS_F_first_16Vars(word* pInOut, int nVars, int nWords, int * pStore, char * pCanonPerm, unsigned* pCanonPhase)
// void luckyCanonicizerS_F_first_16Vars(word* pInOut, int nVars, int nWords, int * pStore, char * pCanonPerm, unsigned* pCanonPhase)
// {
// while( minimalSwapAndFlipIVar_superFast_all(pInOut, nVars, nWords, pStore, pCanonPerm, pCanonPhase) != 0)
// continue;
// }
inline
void
luckyCanonicizerS_F_first_16Vars1
(
word
*
pInOut
,
int
nVars
,
int
nWords
,
int
*
pStore
,
char
*
pCanonPerm
,
unsigned
*
pCanonPhase
)
void
luckyCanonicizerS_F_first_16Vars1
(
word
*
pInOut
,
int
nVars
,
int
nWords
,
int
*
pStore
,
char
*
pCanonPerm
,
unsigned
*
pCanonPhase
)
{
if
(((
*
pCanonPhase
)
>>
(
nVars
+
1
))
&
1
)
while
(
minimalSwapAndFlipIVar_superFast_all
(
pInOut
,
nVars
,
nWords
,
pStore
,
pCanonPerm
,
pCanonPhase
)
!=
0
)
...
...
@@ -757,7 +757,7 @@ inline void luckyCanonicizerS_F_first_16Vars1(word* pInOut, int nVars, int nWor
continue
;
}
inline
void
luckyCanonicizerS_F_first_16Vars11
(
word
*
pInOut
,
int
nVars
,
int
nWords
,
int
*
pStore
,
char
*
pCanonPerm
,
unsigned
*
pCanonPhase
)
void
luckyCanonicizerS_F_first_16Vars11
(
word
*
pInOut
,
int
nVars
,
int
nWords
,
int
*
pStore
,
char
*
pCanonPerm
,
unsigned
*
pCanonPhase
)
{
word
duplicate
[
1024
];
char
pCanonPerm1
[
16
];
...
...
@@ -785,7 +785,7 @@ inline void luckyCanonicizerS_F_first_16Vars11(word* pInOut, int nVars, int nWo
}
}
inline
void
luckyCanonicizer_final_fast_16Vars
(
word
*
pInOut
,
int
nVars
,
int
nWords
,
int
*
pStore
,
char
*
pCanonPerm
,
unsigned
*
pCanonPhase
)
void
luckyCanonicizer_final_fast_16Vars
(
word
*
pInOut
,
int
nVars
,
int
nWords
,
int
*
pStore
,
char
*
pCanonPerm
,
unsigned
*
pCanonPhase
)
{
assert
(
nVars
>
6
&&
nVars
<=
16
);
(
*
pCanonPhase
)
=
Kit_TruthSemiCanonicize_Yasha1
(
pInOut
,
nVars
,
pCanonPerm
,
pStore
);
...
...
@@ -800,7 +800,7 @@ void bitReverceOrder(word* x, int nVars)
}
inline
void
luckyCanonicizer_final_fast_16Vars1
(
word
*
pInOut
,
int
nVars
,
int
nWords
,
int
*
pStore
,
char
*
pCanonPerm
,
unsigned
*
pCanonPhase
)
void
luckyCanonicizer_final_fast_16Vars1
(
word
*
pInOut
,
int
nVars
,
int
nWords
,
int
*
pStore
,
char
*
pCanonPerm
,
unsigned
*
pCanonPhase
)
{
assert
(
nVars
>
6
&&
nVars
<=
16
);
(
*
pCanonPhase
)
=
Kit_TruthSemiCanonicize_Yasha1
(
pInOut
,
nVars
,
pCanonPerm
,
pStore
);
...
...
src/map/if/ifDec08.c
View file @
2b85ef06
...
...
@@ -259,7 +259,7 @@ static inline void If_Dec08MoveTo( word * pF, int nVars, int v, int p, int Pla2V
If_Dec08Copy
(
pF
,
pIn
,
nVars
);
assert
(
Pla2Var
[
p
]
==
v
);
}
/*
// derive binary function
static inline int If_Dec08DeriveCount2( word * pF, word * pRes, int nVars )
{
...
...
@@ -283,7 +283,7 @@ static inline int If_Dec08DeriveCount2( word * pF, word * pRes, int nVars )
*pRes = ((iCof1 << nShift) | iCof0);
return MaskDec;
}
*/
static
inline
word
If_DecTruthStretch
(
word
t
,
int
nVars
)
{
assert
(
nVars
>
1
);
...
...
src/map/if/ifDec10.c
View file @
2b85ef06
...
...
@@ -256,7 +256,7 @@ static inline void If_Dec10MoveTo( word * pF, int nVars, int v, int p, int Pla2V
If_Dec10Copy
(
pF
,
pIn
,
nVars
);
assert
(
Pla2Var
[
p
]
==
v
);
}
/*
// derive binary function
static inline int If_Dec10DeriveCount2( word * pF, word * pRes, int nVars )
{
...
...
@@ -280,7 +280,7 @@ static inline int If_Dec10DeriveCount2( word * pF, word * pRes, int nVars )
*pRes = ((iCof1 << nShift) | iCof0);
return MaskDec;
}
*/
static
inline
word
If_DecTruthStretch
(
word
t
,
int
nVars
)
{
assert
(
nVars
>
1
);
...
...
src/map/if/ifDec16.c
View file @
2b85ef06
...
...
@@ -2156,9 +2156,9 @@ float If_CutDelayLutStruct( If_Man_t * p, If_Cut_t * pCut, char * pStr, float Wi
return
ABC_INFINITY
;
// compute the delay
Delays
[
nLeaves
]
=
If_CluDelayMax
(
&
G1
,
Delays
)
+
(
WireDelay
==
0
.
0
)
?
1
.
0
:
WireDelay
;
Delays
[
nLeaves
]
=
If_CluDelayMax
(
&
G1
,
Delays
)
+
(
(
WireDelay
==
0
.
0
)
?
1
.
0
:
WireDelay
)
;
if
(
G2
.
nVars
)
Delays
[
nLeaves
+
1
]
=
If_CluDelayMax
(
&
G2
,
Delays
)
+
(
WireDelay
==
0
.
0
)
?
1
.
0
:
WireDelay
;
Delays
[
nLeaves
+
1
]
=
If_CluDelayMax
(
&
G2
,
Delays
)
+
(
(
WireDelay
==
0
.
0
)
?
1
.
0
:
WireDelay
)
;
// mark used groups
for
(
i
=
0
;
i
<
G1
.
nVars
;
i
++
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment