tags 667172 + patch tags 667172 + pending thanks Dear maintainer,
I've prepared an NMU for gambit (versioned as 0.2010.09.01-1.1) and uploaded it to DELAYED/5. Please feel free to tell me if I should delay it longer. Regards. -- .''`. Homepage: http://info.comodo.priv.at/ - OpenPGP key 0xBB3A68018649AA06 : :' : Debian GNU/Linux user, admin, and developer - http://www.debian.org/ `. `' Member of VIBE!AT & SPI, fellow of the Free Software Foundation Europe `- NP: Ry Cooder: Down in Hollywood
diff -Nru gambit-0.2010.09.01/debian/changelog gambit-0.2010.09.01/debian/changelog --- gambit-0.2010.09.01/debian/changelog 2011-02-24 22:19:53.000000000 +0100 +++ gambit-0.2010.09.01/debian/changelog 2012-05-03 17:27:27.000000000 +0200 @@ -1,3 +1,11 @@ +gambit (0.2010.09.01-1.1) unstable; urgency=low + + * Non-maintainer upload. + * Fix "ftbfs with GCC-4.7": add patch gcc-4.7.patch ("this->" qualifiers). + (Closes: #667172) + + -- gregor herrmann <gre...@debian.org> Thu, 03 May 2012 17:27:11 +0200 + gambit (0.2010.09.01-1) unstable; urgency=low * New maintainer (Closes: #561254) diff -Nru gambit-0.2010.09.01/debian/patches/gcc-4.7.patch gambit-0.2010.09.01/debian/patches/gcc-4.7.patch --- gambit-0.2010.09.01/debian/patches/gcc-4.7.patch 1970-01-01 01:00:00.000000000 +0100 +++ gambit-0.2010.09.01/debian/patches/gcc-4.7.patch 2012-05-03 17:27:06.000000000 +0200 @@ -0,0 +1,889 @@ +Description: add this-> qualifiers all over the place to avoid FTBFS with gcc 4.7 +Origin: vendor +Bug-Debian: http://bugs.debian.org/667172 +Forwarded: no +Author: gregor herrmann <gre...@debian.org> +Last-Update: 2012-05-03 + +--- a/src/libgambit/matrix.imp ++++ b/src/libgambit/matrix.imp +@@ -81,7 +81,7 @@ + + template <class T> Matrix<T> Matrix<T>::operator+(const Matrix<T> &M) const + { +- if (!CheckBounds(M)) { ++ if (!this->CheckBounds(M)) { + throw DimensionException(); + } + +@@ -100,7 +100,7 @@ + + template <class T> Matrix<T> Matrix<T>::operator-(const Matrix<T> &M) const + { +- if (!CheckBounds(M)) { ++ if (!this->CheckBounds(M)) { + throw DimensionException(); + } + +@@ -119,7 +119,7 @@ + + template <class T> Matrix<T> &Matrix<T>::operator+=(const Matrix<T> &M) + { +- if (!CheckBounds(M)) { ++ if (!this->CheckBounds(M)) { + throw DimensionException(); + } + +@@ -135,7 +135,7 @@ + + template <class T> Matrix<T> &Matrix<T>::operator-=(const Matrix<T> &M) + { +- if (!CheckBounds(M)) { ++ if (!this->CheckBounds(M)) { + throw DimensionException(); + } + +@@ -157,7 +157,7 @@ + template <class T> + void Matrix<T>::CMultiply(const Vector<T> &in, Vector<T> &out) const + { +- if (!CheckRow(in) || !CheckColumn(out)) { ++ if (!this->CheckRow(in) || !this->CheckColumn(out)) { + throw DimensionException(); + } + +@@ -192,7 +192,7 @@ + + template <class T> Vector<T> Matrix<T>::operator*(const Vector<T> &v) const + { +- if (!CheckRow(v)) { ++ if (!this->CheckRow(v)) { + throw DimensionException(); + } + +@@ -204,7 +204,7 @@ + template <class T> + void Matrix<T>::RMultiply(const Vector<T> &in, Vector<T> &out) const + { +- if (!CheckColumn(in) || !CheckRow(out)) { ++ if (!this->CheckColumn(in) || !this->CheckRow(out)) { + throw DimensionException(); + } + +@@ -261,9 +261,9 @@ + Vector<T> row(this->mincol, this->maxcol); + Vector<T> result(this->mincol, this->maxcol); + for (int i = this->minrow; i <= this->maxrow; i++) { +- GetRow(i, row); ++ this->GetRow(i, row); + M.RMultiply(row, result); +- SetRow(i, result); ++ this->SetRow(i, result); + } + return (*this); + } +@@ -351,7 +351,7 @@ + + template <class T> bool Matrix<T>::operator==(const Matrix<T> &M) const + { +- if (!CheckBounds(M)) { ++ if (!this->CheckBounds(M)) { + throw DimensionException(); + } + +--- a/src/libgambit/map.h ++++ b/src/libgambit/map.h +@@ -365,7 +365,7 @@ + int where = Locate(key); + + if (this->length > 0 && this->keys[where] == key) return this->values[where]; +- else return Insert(key, ((key < this->keys[where]) ? where : where + 1), ++ else return this->Insert(key, ((key < this->keys[where]) ? where : where + 1), + this->_default); + } + +@@ -374,7 +374,7 @@ + int where = Locate(key); + + if (this->length > 0 && this->keys[where] == key) return this->values[where]; +- else return Insert(key, ((key < this->keys[where]) ? where : where + 1), ++ else return this->Insert(key, ((key < this->keys[where]) ? where : where + 1), + this->_default); + } + +@@ -396,14 +396,14 @@ + void Map<K, T>::Define(const K &key, const T &value) + { + if (this->length == 0) { +- Insert(key, 0, value); ++ this->Insert(key, 0, value); + return; + } + + int where = Locate(key); + + if (this->keys[where] == key) this->values[where] = value; +- else Insert(key, ((key < this->keys[where]) ? where : where + 1), value); ++ else this->Insert(key, ((key < this->keys[where]) ? where : where + 1), value); + } + + template <class K, class T> T Map<K, T>::Remove(const K &key) +--- a/src/tools/enummixed/lptab.imp ++++ b/src/tools/enummixed/lptab.imp +@@ -188,7 +188,7 @@ + return unitcost[-col] - dual[-col]; + } + else { +- GetColumn(col, (Gambit::Vector<T> &)tmpcol); ++ this->GetColumn(col, (Gambit::Vector<T> &)tmpcol); + return cost[col] - dual*tmpcol; + } + } +@@ -214,7 +214,7 @@ + { + Gambit::Vector<T> tmpcol1(this->MinRow(),this->MaxRow()); + BasisSelect(unitcost,cost,tmpcol1); +- SolveT(tmpcol1,dual); ++ this->SolveT(tmpcol1,dual); + } + + // Redefined functions +@@ -250,7 +250,7 @@ + Gambit::Vector<T> tmpdual(this->MinRow(),this->MaxRow()); + + Gambit::Vector<T> solution(tmpcol); //$$ +- BasisVector(solution); //$$ ++ this->BasisVector(solution); //$$ + + // BigDump(gout); + // gout << "\ncost: " << GetCost(); +@@ -259,7 +259,7 @@ + // for(i=MinRow();i<=MaxRow();i++) gout << " " << RelativeCost(-i); + + for(j=-this->MaxRow();j<=this->MaxCol();j++) if(j && !this->Member(j) && !this->IsBlocked(j)) { +- SolveColumn(j,tmpcol); ++ this->SolveColumn(j,tmpcol); + // gout << "\nColumn " << j; + // gout << "\nPivCol = " << tmpcol; + // gout << "\ncurrentSolCol = " << solution; +@@ -268,18 +268,18 @@ + + BestSet = Gambit::List<int>(); + for(i=this->MinRow();i<=this->MaxRow();i++) +- if(GtZero(tmpcol[i])) BestSet.Append(i); ++ if(this->GtZero(tmpcol[i])) BestSet.Append(i); + if(BestSet.Length()>0) { + ratio = solution[BestSet[1]]/tmpcol[BestSet[1]]; + // find max ratio + for(i=2;i<=BestSet.Length();i++) { + x = solution[BestSet[i]]/tmpcol[BestSet[i]]; +- if(GtZero(x-ratio)) ratio = x; ++ if(this->GtZero(x-ratio)) ratio = x; + } + // eliminate nonmaximizers + for(i=BestSet.Length();i>=1;i--) { + x = solution[BestSet[i]]/tmpcol[BestSet[i]]; +- if(LtZero(x-ratio)) BestSet.Remove(i); ++ if(this->LtZero(x-ratio)) BestSet.Remove(i); + } + + // check that j would be the row to exit in prior tableau +@@ -287,7 +287,7 @@ + // first check that prior pivot entry > 0 + for(i=BestSet.Length();i>=1;i--) { + a_ij = (T)1/tmpcol[BestSet[i]]; +- if(LeZero(a_ij)) { ++ if(this->LeZero(a_ij)) { + // gout << "\nj not row to exit in prior tableau: a_ij <= 0"; + BestSet.Remove(i); + } +@@ -301,13 +301,13 @@ + if(k!=BestSet[i]) { + a_ik = - a_ij * tmpcol[k]; + b_k = solution[k] - b_i*tmpcol[k]; +- if(GtZero(a_ik) && GtZero(b_k/a_ik -ratio)) { ++ if(this->GtZero(a_ik) && this->GtZero(b_k/a_ik -ratio)) { + // gout << "\nj not row to exit in prior tableau: "; + // gout << "higher ratio at row= " << k; + BestSet.Remove(i); + flag = 1; + } +- else if(GtZero(a_ik) && EqZero(b_k/a_ik-ratio) && this->Label(k)<j) { ++ else if(this->GtZero(a_ik) && this->EqZero(b_k/a_ik-ratio) && this->Label(k)<j) { + // gout << "\nj not row to exit in prior tableau: "; + // gout << "same ratio,lower lex at k= " << k; + BestSet.Remove(i); +@@ -329,7 +329,7 @@ + tmpcol = (T)0; + tmpcol[BestSet[i]]=(T)1; + // gout << "\ntmpcol, loc 1: " << tmpcol; +- SolveT(tmpcol,tmpdual); ++ this->SolveT(tmpcol,tmpdual); + // gout << "\ntmpcol, loc 2: " << tmpcol; + // gout << "\ntmpdual, loc 1: " << tmpdual; + +@@ -338,11 +338,11 @@ + else + A->GetColumn(j,tmpcol); + */ +- GetColumn(j,tmpcol); ++ this->GetColumn(j,tmpcol); + // gout << "\ncol " << j << ": " << tmpcol; + a_ij = tmpdual*tmpcol; + c_j = RelativeCost(j); +- if(EqZero(a_ij)) { ++ if(this->EqZero(a_ij)) { + // gout << "\ni not col to enter in prior tableau: "; + // gout << "a_ij=0"; + BestSet.Remove(i); +@@ -353,7 +353,7 @@ + if(enter<0) + a_ik = tmpdual[-enter]; + else { +- GetColumn(enter,tmpcol); ++ this->GetColumn(enter,tmpcol); + // A->GetColumn(enter,tmpcol); + a_ik = tmpdual*tmpcol; + } +@@ -365,7 +365,7 @@ + // gout << " c_jo:" << c_jo; + // gout << " a_ij:" << a_ij; + // gout << " a_ik:" << a_ik; +- if(GeZero(c_jo)) { ++ if(this->GeZero(c_jo)) { + // gout << "\ni not col to enter in prior tableau: "; + // gout << "c_jo<0"; + BestSet.Remove(i); +@@ -377,13 +377,13 @@ + a_ik=tmpdual[-k]; + else { + // A->GetColumn(k,tmpcol); +- GetColumn(k,tmpcol); ++ this->GetColumn(k,tmpcol); + a_ik = tmpdual*tmpcol; + } + c_k = RelativeCost(k); + c_jo = c_k - a_ik * ratio; + +- if(LtZero(c_jo)) { ++ if(this->LtZero(c_jo)) { + // gout << "\ni not col to enter in prior tableau: "; + // gout << "c_jo < 0 for k = " << k; + BestSet.Remove(i); +@@ -413,12 +413,12 @@ + // first check that pivot preserves primal feasibility + + // gout << "\nin IsReversePivot, i= " << i << " j = "<< j; +- SolveColumn(j,tmpcol); ++ this->SolveColumn(j,tmpcol); + Gambit::Vector<T> solution(tmpcol); //$$ +- BasisVector(solution); //$$ ++ this->BasisVector(solution); //$$ + // gout << "\ncurrentPivCol = " << tmpcol; + // gout << "\ncurrentSolCol = " << solution; +- if(LeZero(tmpcol[i])) { ++ if(this->LeZero(tmpcol[i])) { + // gout << "\nPrior tableau not primal feasible: currentPivCol[i] <= 0"; + return 0; + } +@@ -427,7 +427,7 @@ + // gout << "\nratio = " << ratio; + + for(k=tmpcol.First();k<=tmpcol.Last();k++) +- if(GtZero(tmpcol[k]) && GtZero(solution[k]/tmpcol[k]-ratio)) { ++ if(this->GtZero(tmpcol[k]) && this->GtZero(solution[k]/tmpcol[k]-ratio)) { + // gout << "\nPrior tableau not primal feasible: i not min ratio"; + return 0; + } +@@ -436,7 +436,7 @@ + T a_ij,a_ik,b_i,b_k,c_j,c_k,c_jo; + + a_ij = (T)1/tmpcol[i]; +- if(LeZero(a_ij)) { ++ if(this->LeZero(a_ij)) { + // gout << "\nj not row to exit in prior tableau: a_ij <= 0"; + return 0; + } +@@ -447,12 +447,12 @@ + if(k!=i) { + a_ik = - a_ij * tmpcol[k]; + b_k = solution[k] - b_i*tmpcol[k]; +- if(GtZero(a_ik) && GtZero(b_k/a_ik -ratio)) { ++ if(this->GtZero(a_ik) && this->GtZero(b_k/a_ik -ratio)) { + // gout << "\nj not row to exit in prior tableau: "; + // gout << "higher ratio at row= " << k; + return 0; + } +- if(GtZero(a_ik) && EqZero(b_k/a_ik-ratio) && this->Label(k)<j) { ++ if(this->GtZero(a_ik) && this->EqZero(b_k/a_ik-ratio) && this->Label(k)<j) { + // gout << "\nj not row to exit in prior tableau: "; + // gout << "same ratio,lower lex at k= " << k; + return 0; +@@ -467,7 +467,7 @@ + Gambit::Vector<T> tmpdual(this->MinRow(),this->MaxRow()); + tmpcol = (T)0; + tmpcol[i]=(T)1; +- SolveT(tmpcol,tmpdual); ++ this->SolveT(tmpcol,tmpdual); + + /* + if( j<0 ) +@@ -475,12 +475,12 @@ + else + A->GetColumn(j,tmpcol); + */ +- GetColumn(j,tmpcol); ++ this->GetColumn(j,tmpcol); + + // gout << "\ncol j = " << tmpcol; + a_ij = tmpdual*tmpcol; + c_j = RelativeCost(j); +- if(EqZero(a_ij)) { ++ if(this->EqZero(a_ij)) { + // gout << "\ni not col to enter in prior tableau: "; + // gout << "a_ij=0"; + return 0; +@@ -491,12 +491,12 @@ + a_ik = tmpdual[-enter]; + else { + // A->GetColumn(enter,tmpcol); +- GetColumn(enter,tmpcol); ++ this->GetColumn(enter,tmpcol); + a_ik = tmpdual*tmpcol; + } + c_k = RelativeCost(enter); + c_jo = c_k - a_ik * ratio; +- if(GeZero(c_jo)) { ++ if(this->GeZero(c_jo)) { + // gout << "\ni not col to enter in prior tableau: "; + // gout << "c_jo<0"; + return 0; +@@ -507,13 +507,13 @@ + a_ik=tmpdual[-k]; + else { + // A->GetColumn(k,tmpcol); +- GetColumn(k,tmpcol); ++ this->GetColumn(k,tmpcol); + a_ik = tmpdual*tmpcol; + } + c_k = RelativeCost(k); + c_jo = c_k - a_ik * ratio; + +- if(LtZero(c_jo)) { ++ if(this->LtZero(c_jo)) { + // gout << "\ni not col to enter in prior tableau: "; + // gout << "c_jo < 0 for k = " << k; + return 0; +@@ -541,10 +541,10 @@ + Gambit::Vector<T> tmpdual(this->MinRow(),this->MaxRow()); + tmpcol = (T)0; + tmpcol[i]=(T)1; +- SolveT(tmpcol,tmpdual); ++ this->SolveT(tmpcol,tmpdual); + + Gambit::Vector<T> solution(tmpcol); //$$ +- BasisVector(solution); //$$ ++ this->BasisVector(solution); //$$ + + // gout << "\ncurrentPivCol = " << tmpcol; + // gout << "\ncurrentSolCol = " << solution; +@@ -557,11 +557,11 @@ + A->GetColumn(j,tmpcol); + */ + +- GetColumn(j,tmpcol); ++ this->GetColumn(j,tmpcol); + + a_ij = tmpdual*tmpcol; + c_j = RelativeCost(j); +- if(GeZero(a_ij)) { ++ if(this->GeZero(a_ij)) { + // gout << "\nPrior tableau not dual feasible: "; + // gout << "a_ij>=0"; + return 0; +@@ -573,12 +573,12 @@ + a_ik=tmpdual[-k]; + else { + // A->GetColumn(k,tmpcol); +- GetColumn(k,tmpcol); ++ this->GetColumn(k,tmpcol); + a_ik = tmpdual*tmpcol; + } + c_k = RelativeCost(k); + +- if(LtZero(a_ik) && GtZero(c_k/a_ik-ratio)) { ++ if(this->LtZero(a_ik) && this->GtZero(c_k/a_ik-ratio)) { + // gout << "\nPrior tableau not dual feasible: "; + // gout << "\nhigher ratio for k = " << k; + return 0; +@@ -594,14 +594,14 @@ + a_ik = tmpdual[-enter]; + else { + // A->GetColumn(enter,tmpcol); +- GetColumn(enter,tmpcol); ++ this->GetColumn(enter,tmpcol); + a_ik = tmpdual*tmpcol; + } + a_ik = a_ik/a_ij; + c_k = RelativeCost(enter); + c_k -= a_ik * c_j; + +- if(GeZero(a_ik)) { ++ if(this->GeZero(a_ik)) { + // gout << "\ni not col to enter in prior tableau: "; + // gout << "a_ik>=0"; + return 0; +@@ -613,19 +613,19 @@ + a_ik=tmpdual[-k]; + else { + // A->GetColumn(k,tmpcol); +- GetColumn(k,tmpcol); ++ this->GetColumn(k,tmpcol); + a_ik = tmpdual*tmpcol; + } + a_ik = a_ik/a_ij; + c_k = RelativeCost(k); + c_k -= a_ik * c_j; + +- if(LtZero(a_ik) && GtZero(c_k/a_ik- ratio)) { ++ if(this->LtZero(a_ik) && this->GtZero(c_k/a_ik- ratio)) { + // gout << "\ni not col to enter in prior tableau: "; + // gout << "\nhigher ratio for k = " << k; + return 0; + } +- if(k<enter && LtZero(a_ik) && EqZero(c_k/a_ik - ratio)) { ++ if(k<enter && this->LtZero(a_ik) && this->EqZero(c_k/a_ik - ratio)) { + // gout << "\ni not col to enter in prior tableau: "; + // gout << "\nsame ratio and lower lex for k = " << k; + return 0; +@@ -634,13 +634,13 @@ + + // check that j would be the row to exit in prior tableau + +- SolveColumn(j,tmpcol); ++ this->SolveColumn(j,tmpcol); + // gout << "\ncurrentPivCol = " << tmpcol; + // gout << "\ncurrentSolCol = " << solution; + + T b_k,b_i; + b_i= solution[i]/tmpcol[i]; +- if(LeZero(b_i)) { ++ if(this->LeZero(b_i)) { + // gout << "\nj not row to exit in prior tableau: "; + // gout << "b_i<=0"; + return 0; +@@ -650,7 +650,7 @@ + for(k=this->b->First();k<=this->b->Last();k++) + if(k!=i) { + b_k = solution[k] - b_i * tmpcol[k]; +- if(GtZero(b_k) && this->Label(k)<j) { ++ if(this->GtZero(b_k) && this->Label(k)<j) { + // gout << "\nj not row to exit in prior tableau: "; + // gout << "same ratio,lower lex at k= " << k; + return 0; +--- a/src/tools/lcp/lemketab.imp ++++ b/src/tools/lcp/lemketab.imp +@@ -78,7 +78,7 @@ + Gambit::Vector<T> incol(this->MinRow(), this->MaxRow()); + Gambit::Vector<T> col(this->MinRow(), this->MaxRow()); + +- SolveColumn(inlabel,incol); ++ this->SolveColumn(inlabel,incol); + //* gout << "\nincol = " << incol; + // Find all row indices for which column col has positive entries. + for (i = this->MinRow(); i <= this->MaxRow(); i++) +@@ -101,13 +101,13 @@ + // eliminating nonmaximizers of + // a similar ratio, until only one candidate remains. + c = this->MinRow()-1; +- BasisVector(col); ++ this->BasisVector(col); + // gout << "\nLength = " << BestSet.Length(); + //* gout << "\n x = " << col << "\n"; + while (BestSet.Length() > 1) { + if(c > this->MaxRow()) throw BadExitIndex(); + if(c>=this->MinRow()) { +- SolveColumn(-c,col); ++ this->SolveColumn(-c,col); + // gout << "\n-c = " << -c << " col = " << col; + } + // Initialize tempmax. +@@ -153,7 +153,7 @@ + Gambit::Vector<T> incol(this->MinRow(), this->MaxRow()); + Gambit::Vector<T> col(this->MinRow(), this->MaxRow()); + +- SolveColumn(inlabel,incol); ++ this->SolveColumn(inlabel,incol); + // gout << "\nincol = " << incol; + // Find all row indices for which column col has positive entries. + for (i = this->MinRow(); i <= this->MaxRow(); i++) +@@ -172,14 +172,14 @@ + // eliminating nonmaximizers of + // a similar ratio, until only one candidate remains. + c = this->MinRow()-1; +- BasisVector(col); ++ this->BasisVector(col); + // gout << "\nLength = " << BestSet.Length(); + // gout << "\n x = " << col << "\n"; + while (BestSet.Length() > 1) { + // this is where ITEM 001 is failing + if(c > this->MaxRow()) throw BadExitIndex(); + if(c>=this->MinRow()) { +- SolveColumn(-c,col); ++ this->SolveColumn(-c,col); + // gout << "\n-c = " << -c << " col = " << col; + } + // Initialize tempmax. +--- a/src/tools/lp/lptab.imp ++++ b/src/tools/lp/lptab.imp +@@ -188,7 +188,7 @@ + return unitcost[-col] - dual[-col]; + } + else { +- GetColumn(col, (Gambit::Vector<T> &)tmpcol); ++ this->GetColumn(col, (Gambit::Vector<T> &)tmpcol); + return cost[col] - dual*tmpcol; + } + } +@@ -214,7 +214,7 @@ + { + Gambit::Vector<T> tmpcol1(this->MinRow(),this->MaxRow()); + BasisSelect(unitcost,cost,tmpcol1); +- SolveT(tmpcol1,dual); ++ this->SolveT(tmpcol1,dual); + } + + // Redefined functions +@@ -250,7 +250,7 @@ + Gambit::Vector<T> tmpdual(this->MinRow(),this->MaxRow()); + + Gambit::Vector<T> solution(tmpcol); //$$ +- BasisVector(solution); //$$ ++ this->BasisVector(solution); //$$ + + // BigDump(gout); + // gout << "\ncost: " << GetCost(); +@@ -259,7 +259,7 @@ + // for(i=MinRow();i<=MaxRow();i++) gout << " " << RelativeCost(-i); + + for(j=-this->MaxRow();j<=this->MaxCol();j++) if(j && !this->Member(j) && !this->IsBlocked(j)) { +- SolveColumn(j,tmpcol); ++ this->SolveColumn(j,tmpcol); + // gout << "\nColumn " << j; + // gout << "\nPivCol = " << tmpcol; + // gout << "\ncurrentSolCol = " << solution; +@@ -268,18 +268,18 @@ + + BestSet = Gambit::List<int>(); + for(i=this->MinRow();i<=this->MaxRow();i++) +- if(GtZero(tmpcol[i])) BestSet.Append(i); ++ if(this->GtZero(tmpcol[i])) BestSet.Append(i); + if(BestSet.Length()>0) { + ratio = solution[BestSet[1]]/tmpcol[BestSet[1]]; + // find max ratio + for(i=2;i<=BestSet.Length();i++) { + x = solution[BestSet[i]]/tmpcol[BestSet[i]]; +- if(GtZero(x-ratio)) ratio = x; ++ if(this->GtZero(x-ratio)) ratio = x; + } + // eliminate nonmaximizers + for(i=BestSet.Length();i>=1;i--) { + x = solution[BestSet[i]]/tmpcol[BestSet[i]]; +- if(LtZero(x-ratio)) BestSet.Remove(i); ++ if(this->LtZero(x-ratio)) BestSet.Remove(i); + } + + // check that j would be the row to exit in prior tableau +@@ -287,7 +287,7 @@ + // first check that prior pivot entry > 0 + for(i=BestSet.Length();i>=1;i--) { + a_ij = (T)1/tmpcol[BestSet[i]]; +- if(LeZero(a_ij)) { ++ if(this->LeZero(a_ij)) { + // gout << "\nj not row to exit in prior tableau: a_ij <= 0"; + BestSet.Remove(i); + } +@@ -301,13 +301,13 @@ + if(k!=BestSet[i]) { + a_ik = - a_ij * tmpcol[k]; + b_k = solution[k] - b_i*tmpcol[k]; +- if(GtZero(a_ik) && GtZero(b_k/a_ik -ratio)) { ++ if(this->GtZero(a_ik) && this->GtZero(b_k/a_ik -ratio)) { + // gout << "\nj not row to exit in prior tableau: "; + // gout << "higher ratio at row= " << k; + BestSet.Remove(i); + flag = 1; + } +- else if(GtZero(a_ik) && EqZero(b_k/a_ik-ratio) && this->Label(k)<j) { ++ else if(this->GtZero(a_ik) && this->EqZero(b_k/a_ik-ratio) && this->Label(k)<j) { + // gout << "\nj not row to exit in prior tableau: "; + // gout << "same ratio,lower lex at k= " << k; + BestSet.Remove(i); +@@ -329,7 +329,7 @@ + tmpcol = (T)0; + tmpcol[BestSet[i]]=(T)1; + // gout << "\ntmpcol, loc 1: " << tmpcol; +- SolveT(tmpcol,tmpdual); ++ this->SolveT(tmpcol,tmpdual); + // gout << "\ntmpcol, loc 2: " << tmpcol; + // gout << "\ntmpdual, loc 1: " << tmpdual; + +@@ -338,11 +338,11 @@ + else + A->GetColumn(j,tmpcol); + */ +- GetColumn(j,tmpcol); ++ this->GetColumn(j,tmpcol); + // gout << "\ncol " << j << ": " << tmpcol; + a_ij = tmpdual*tmpcol; + c_j = RelativeCost(j); +- if(EqZero(a_ij)) { ++ if(this->EqZero(a_ij)) { + // gout << "\ni not col to enter in prior tableau: "; + // gout << "a_ij=0"; + BestSet.Remove(i); +@@ -353,7 +353,7 @@ + if(enter<0) + a_ik = tmpdual[-enter]; + else { +- GetColumn(enter,tmpcol); ++ this->GetColumn(enter,tmpcol); + // A->GetColumn(enter,tmpcol); + a_ik = tmpdual*tmpcol; + } +@@ -365,7 +365,7 @@ + // gout << " c_jo:" << c_jo; + // gout << " a_ij:" << a_ij; + // gout << " a_ik:" << a_ik; +- if(GeZero(c_jo)) { ++ if(this->GeZero(c_jo)) { + // gout << "\ni not col to enter in prior tableau: "; + // gout << "c_jo<0"; + BestSet.Remove(i); +@@ -377,13 +377,13 @@ + a_ik=tmpdual[-k]; + else { + // A->GetColumn(k,tmpcol); +- GetColumn(k,tmpcol); ++ this->GetColumn(k,tmpcol); + a_ik = tmpdual*tmpcol; + } + c_k = RelativeCost(k); + c_jo = c_k - a_ik * ratio; + +- if(LtZero(c_jo)) { ++ if(this->LtZero(c_jo)) { + // gout << "\ni not col to enter in prior tableau: "; + // gout << "c_jo < 0 for k = " << k; + BestSet.Remove(i); +@@ -413,12 +413,12 @@ + // first check that pivot preserves primal feasibility + + // gout << "\nin IsReversePivot, i= " << i << " j = "<< j; +- SolveColumn(j,tmpcol); ++ this->SolveColumn(j,tmpcol); + Gambit::Vector<T> solution(tmpcol); //$$ +- BasisVector(solution); //$$ ++ this->BasisVector(solution); //$$ + // gout << "\ncurrentPivCol = " << tmpcol; + // gout << "\ncurrentSolCol = " << solution; +- if(LeZero(tmpcol[i])) { ++ if(this->LeZero(tmpcol[i])) { + // gout << "\nPrior tableau not primal feasible: currentPivCol[i] <= 0"; + return 0; + } +@@ -427,7 +427,7 @@ + // gout << "\nratio = " << ratio; + + for(k=tmpcol.First();k<=tmpcol.Last();k++) +- if(GtZero(tmpcol[k]) && GtZero(solution[k]/tmpcol[k]-ratio)) { ++ if(this->GtZero(tmpcol[k]) && this->GtZero(solution[k]/tmpcol[k]-ratio)) { + // gout << "\nPrior tableau not primal feasible: i not min ratio"; + return 0; + } +@@ -436,7 +436,7 @@ + T a_ij,a_ik,b_i,b_k,c_j,c_k,c_jo; + + a_ij = (T)1/tmpcol[i]; +- if(LeZero(a_ij)) { ++ if(this->LeZero(a_ij)) { + // gout << "\nj not row to exit in prior tableau: a_ij <= 0"; + return 0; + } +@@ -447,12 +447,12 @@ + if(k!=i) { + a_ik = - a_ij * tmpcol[k]; + b_k = solution[k] - b_i*tmpcol[k]; +- if(GtZero(a_ik) && GtZero(b_k/a_ik -ratio)) { ++ if(this->GtZero(a_ik) && this->GtZero(b_k/a_ik -ratio)) { + // gout << "\nj not row to exit in prior tableau: "; + // gout << "higher ratio at row= " << k; + return 0; + } +- if(GtZero(a_ik) && EqZero(b_k/a_ik-ratio) && this->Label(k)<j) { ++ if(this->GtZero(a_ik) && this->EqZero(b_k/a_ik-ratio) && this->Label(k)<j) { + // gout << "\nj not row to exit in prior tableau: "; + // gout << "same ratio,lower lex at k= " << k; + return 0; +@@ -467,7 +467,7 @@ + Gambit::Vector<T> tmpdual(this->MinRow(),this->MaxRow()); + tmpcol = (T)0; + tmpcol[i]=(T)1; +- SolveT(tmpcol,tmpdual); ++ this->SolveT(tmpcol,tmpdual); + + /* + if( j<0 ) +@@ -475,12 +475,12 @@ + else + A->GetColumn(j,tmpcol); + */ +- GetColumn(j,tmpcol); ++ this->GetColumn(j,tmpcol); + + // gout << "\ncol j = " << tmpcol; + a_ij = tmpdual*tmpcol; + c_j = RelativeCost(j); +- if(EqZero(a_ij)) { ++ if(this->EqZero(a_ij)) { + // gout << "\ni not col to enter in prior tableau: "; + // gout << "a_ij=0"; + return 0; +@@ -491,12 +491,12 @@ + a_ik = tmpdual[-enter]; + else { + // A->GetColumn(enter,tmpcol); +- GetColumn(enter,tmpcol); ++ this->GetColumn(enter,tmpcol); + a_ik = tmpdual*tmpcol; + } + c_k = RelativeCost(enter); + c_jo = c_k - a_ik * ratio; +- if(GeZero(c_jo)) { ++ if(this->GeZero(c_jo)) { + // gout << "\ni not col to enter in prior tableau: "; + // gout << "c_jo<0"; + return 0; +@@ -507,13 +507,13 @@ + a_ik=tmpdual[-k]; + else { + // A->GetColumn(k,tmpcol); +- GetColumn(k,tmpcol); ++ this->GetColumn(k,tmpcol); + a_ik = tmpdual*tmpcol; + } + c_k = RelativeCost(k); + c_jo = c_k - a_ik * ratio; + +- if(LtZero(c_jo)) { ++ if(this->LtZero(c_jo)) { + // gout << "\ni not col to enter in prior tableau: "; + // gout << "c_jo < 0 for k = " << k; + return 0; +@@ -541,10 +541,10 @@ + Gambit::Vector<T> tmpdual(this->MinRow(),this->MaxRow()); + tmpcol = (T)0; + tmpcol[i]=(T)1; +- SolveT(tmpcol,tmpdual); ++ this->SolveT(tmpcol,tmpdual); + + Gambit::Vector<T> solution(tmpcol); //$$ +- BasisVector(solution); //$$ ++ this->BasisVector(solution); //$$ + + // gout << "\ncurrentPivCol = " << tmpcol; + // gout << "\ncurrentSolCol = " << solution; +@@ -557,11 +557,11 @@ + A->GetColumn(j,tmpcol); + */ + +- GetColumn(j,tmpcol); ++ this->GetColumn(j,tmpcol); + + a_ij = tmpdual*tmpcol; + c_j = RelativeCost(j); +- if(GeZero(a_ij)) { ++ if(this->GeZero(a_ij)) { + // gout << "\nPrior tableau not dual feasible: "; + // gout << "a_ij>=0"; + return 0; +@@ -573,12 +573,12 @@ + a_ik=tmpdual[-k]; + else { + // A->GetColumn(k,tmpcol); +- GetColumn(k,tmpcol); ++ this->GetColumn(k,tmpcol); + a_ik = tmpdual*tmpcol; + } + c_k = RelativeCost(k); + +- if(LtZero(a_ik) && GtZero(c_k/a_ik-ratio)) { ++ if(this->LtZero(a_ik) && this->GtZero(c_k/a_ik-ratio)) { + // gout << "\nPrior tableau not dual feasible: "; + // gout << "\nhigher ratio for k = " << k; + return 0; +@@ -594,14 +594,14 @@ + a_ik = tmpdual[-enter]; + else { + // A->GetColumn(enter,tmpcol); +- GetColumn(enter,tmpcol); ++ this->GetColumn(enter,tmpcol); + a_ik = tmpdual*tmpcol; + } + a_ik = a_ik/a_ij; + c_k = RelativeCost(enter); + c_k -= a_ik * c_j; + +- if(GeZero(a_ik)) { ++ if(this->GeZero(a_ik)) { + // gout << "\ni not col to enter in prior tableau: "; + // gout << "a_ik>=0"; + return 0; +@@ -613,19 +613,19 @@ + a_ik=tmpdual[-k]; + else { + // A->GetColumn(k,tmpcol); +- GetColumn(k,tmpcol); ++ this->GetColumn(k,tmpcol); + a_ik = tmpdual*tmpcol; + } + a_ik = a_ik/a_ij; + c_k = RelativeCost(k); + c_k -= a_ik * c_j; + +- if(LtZero(a_ik) && GtZero(c_k/a_ik- ratio)) { ++ if(this->LtZero(a_ik) && this->GtZero(c_k/a_ik- ratio)) { + // gout << "\ni not col to enter in prior tableau: "; + // gout << "\nhigher ratio for k = " << k; + return 0; + } +- if(k<enter && LtZero(a_ik) && EqZero(c_k/a_ik - ratio)) { ++ if(k<enter && this->LtZero(a_ik) && this->EqZero(c_k/a_ik - ratio)) { + // gout << "\ni not col to enter in prior tableau: "; + // gout << "\nsame ratio and lower lex for k = " << k; + return 0; +@@ -634,13 +634,13 @@ + + // check that j would be the row to exit in prior tableau + +- SolveColumn(j,tmpcol); ++ this->SolveColumn(j,tmpcol); + // gout << "\ncurrentPivCol = " << tmpcol; + // gout << "\ncurrentSolCol = " << solution; + + T b_k,b_i; + b_i= solution[i]/tmpcol[i]; +- if(LeZero(b_i)) { ++ if(this->LeZero(b_i)) { + // gout << "\nj not row to exit in prior tableau: "; + // gout << "b_i<=0"; + return 0; +@@ -650,7 +650,7 @@ + for(k=this->b->First();k<=this->b->Last();k++) + if(k!=i) { + b_k = solution[k] - b_i * tmpcol[k]; +- if(GtZero(b_k) && this->Label(k)<j) { ++ if(this->GtZero(b_k) && this->Label(k)<j) { + // gout << "\nj not row to exit in prior tableau: "; + // gout << "same ratio,lower lex at k= " << k; + return 0; diff -Nru gambit-0.2010.09.01/debian/patches/series gambit-0.2010.09.01/debian/patches/series --- gambit-0.2010.09.01/debian/patches/series 2011-02-13 06:11:38.000000000 +0100 +++ gambit-0.2010.09.01/debian/patches/series 2012-05-03 16:52:00.000000000 +0200 @@ -2,3 +2,4 @@ spelling-error-in-binary.diff integer_overflow_in_expression.diff getopt_long_for_help_and_version_options.diff +gcc-4.7.patch
signature.asc
Description: Digital signature