|
| | TruthTableRewrite (int nInputs, int nOutputs) |
| |
| void | SetValue (int index_lev, int lev, word value) |
| |
| void | CopyFunc (int index1, int index2, int lev, bool fCompl) |
| |
| void | ShiftToMajority (int index, int lev) |
| |
| | TruthTable (int nInputs, int nOutputs) |
| |
| virtual void | Save (unsigned i) |
| |
| virtual void | Load (unsigned i) |
| |
| virtual void | SaveIndices (unsigned i) |
| |
| virtual void | LoadIndices (unsigned i) |
| |
| word | GetValue (int index_lev, int lev) |
| |
| int | IsEq (int index1, int index2, int lev, bool fCompl=false) |
| |
| bool | Imply (int index1, int index2, int lev) |
| |
| int | BDDNodeCountLevel (int lev) |
| |
| int | BDDNodeCount () |
| |
| int | BDDFind (int index, int lev) |
| |
| virtual int | BDDBuildOne (int index, int lev) |
| |
| virtual void | BDDBuildStartup () |
| |
| virtual void | BDDBuildLevel (int lev) |
| |
| virtual int | BDDBuild () |
| |
| virtual int | BDDRebuild (int lev) |
| |
| virtual void | Swap (int lev) |
| |
| void | SwapIndex (int &index, int d) |
| |
| virtual int | BDDSwap (int lev) |
| |
| int | SiftReo () |
| |
| void | Reo (std::vector< int > vLevelsNew) |
| |
| int | RandomSiftReo (int nRound) |
| |
| int | BDDGenerateAigRec (Gia_Man_t *pNew, std::vector< int > const &vInputs, std::vector< std::vector< int > > &vvNodes, int index, int lev) |
| |
| virtual void | BDDGenerateAig (Gia_Man_t *pNew, Vec_Int_t *vSupp) |
| |
Definition at line 628 of file giaTtopt.cpp.
◆ TruthTableRewrite()
| Ttopt::TruthTableRewrite::TruthTableRewrite |
( |
int | nInputs, |
|
|
int | nOutputs ) |
|
inline |
Definition at line 630 of file giaTtopt.cpp.
TruthTable(int nInputs, int nOutputs)
◆ CopyFunc()
| void Ttopt::TruthTableRewrite::CopyFunc |
( |
int | index1, |
|
|
int | index2, |
|
|
int | lev, |
|
|
bool | fCompl ) |
|
inline |
Definition at line 642 of file giaTtopt.cpp.
642 {
646 int nScopeSize = 1 << (logwidth -
lww);
647 if(!fCompl) {
648 if(index2 < 0) {
649 for(int i = 0; i < nScopeSize; i++) {
650 t[nScopeSize * index1 + i] = 0;
651 }
652 } else {
653 for(int i = 0; i < nScopeSize; i++) {
654 t[nScopeSize * index1 + i] =
t[nScopeSize * index2 + i];
655 }
656 }
657 } else {
658 if(index2 < 0) {
659 for(int i = 0; i < nScopeSize; i++) {
660 t[nScopeSize * index1 + i] =
ones[
lww];
661 }
662 } else {
663 for(int i = 0; i < nScopeSize; i++) {
664 t[nScopeSize * index1 + i] =
~t[nScopeSize * index2 + i];
665 }
666 }
667 }
668 } else {
670 if(index2 >= 0) {
672 }
673 if(fCompl) {
675 }
677 }
678 }
ABC_NAMESPACE_IMPL_START typedef signed char value
void SetValue(int index_lev, int lev, word value)
word GetValue(int index_lev, int lev)
unsigned __int64 word
DECLARATIONS ///.
◆ SetValue()
| void Ttopt::TruthTableRewrite::SetValue |
( |
int | index_lev, |
|
|
int | lev, |
|
|
word | value ) |
|
inline |
Definition at line 632 of file giaTtopt.cpp.
632 {
636 int index = index_lev >> (
lww - logwidth);
637 int pos = (index_lev % (1 << (
lww - logwidth))) << logwidth;
638 t[index] &= ~(
ones[logwidth] <<
pos);
640 }
◆ ShiftToMajority()
| void Ttopt::TruthTableRewrite::ShiftToMajority |
( |
int | index, |
|
|
int | lev ) |
|
inline |
Definition at line 680 of file giaTtopt.cpp.
680 {
683 int count = 0;
685 int nScopeSize = 1 << (logwidth -
lww);
686 for(int i = 0; i < nScopeSize; i++) {
687 count +=
bsw(
t[nScopeSize * index + i]).count();
688 }
689 } else {
691 }
692 bool majority = count > (1 << (logwidth - 1));
694 }
void CopyFunc(int index1, int index2, int lev, bool fCompl)
The documentation for this class was generated from the following file: