50 assert( iCol1 >= 0 && iCol1 < p->nCols );
51 assert( iCol2 >= 0 && iCol2 < p->nCols );
83 int WeightCur, WeightBest = -
ABC_INFINITY, iGrp = -1, iGrpBest = -1;
86 for ( iVar = 0; iVar < p->
nRows - p->
nFfs; iVar++ )
95 for ( c = iGrpStart; c < p->
nCols-1; c++ )
103 Abc_Print( -1,
"Llb_MtrFindBestColumn() Internal error!\n" );
106 for ( k = 0; k < p->
nRows; k++ )
115 if ( WeightCur > 0 && WeightBest < WeightCur )
117 WeightBest = WeightCur;
126 for ( iGrp = iGrpStart; iGrp < p->
nCols-1; iGrp++ )
129 for ( k = 0; k < p->
nRows; k++ )
135 if ( CostBest > Cost ||
136 (CostBest == Cost && Cost2 > Cost2Best) )
160 assert( iCol >= 1 && iCol < p->nCols - 1 );
161 for ( iVar = 0; iVar < p->
nRows; iVar++ )
163 if ( p->
pMatrix[iCol][iVar] == 0 )
179 Abc_Print( -1,
"Llb_MtrUseSelectedColumn() Internal error!\n" );
197 for ( iVar = 0; iVar < p->
nRows; iVar++ )
202 for ( iGrp = iGrpStart; iGrp < p->
nCols; iGrp++ )
203 if ( p->
pMatrix[iGrp][iVar] == 1 )
207 Abc_Print( -1,
"Llb_MtrVerifyColumns(): Internal error.\n" );
224 int iGrp, iGrpBest, i;
226 for ( i = 0; i < p->
nRows; i++ )
228 if ( i >= p->
nPis && i < p->nPis + p->
nFfs )
241 for ( iGrp = 1; iGrp < p->
nCols-1; iGrp++ )
void Llb_MtrVerifyMatrix(Llb_Mtr_t *p)
int Llb_MtrFindBestColumn(Llb_Mtr_t *p, int iGrpStart)
void Llb_MtrVerifyColumns(Llb_Mtr_t *p, int iGrpStart)
void Llb_MtrUseSelectedColumn(Llb_Mtr_t *p, int iCol)
#define ABC_NAMESPACE_IMPL_END
static void Abc_Print(int level, const char *format,...)
#define ABC_NAMESPACE_IMPL_START
ABC_NAMESPACE_IMPL_START void Llb_MtrSwapColumns(Llb_Mtr_t *p, int iCol1, int iCol2)
DECLARATIONS ///.
#define ABC_INFINITY
MACRO DEFINITIONS ///.
void Llb_MtrSchedule(Llb_Mtr_t *p)