Changeset 125 for trunk


Ignore:
Timestamp:
Feb 11, 2003 12:20:21 PM (17 years ago)
Author:
forrest
Message:

Fix bug in crash

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ClpSimplex.cpp

    r123 r125  
    697697          double big_bound = largeValue_;
    698698          if (lower>-big_bound||upper<big_bound) {
    699             if (fabs(lower)<=fabs(upper)) {
    700               setColumnStatus(iColumn,atLowerBound);
    701               columnActivityWork_[iColumn]=lower;
     699            if ((getColumnStatus(iColumn)==atLowerBound&&
     700                 columnActivityWork_[iColumn]==lower)||
     701                (getColumnStatus(iColumn)==atUpperBound&&
     702                 columnActivityWork_[iColumn]==upper)) {
     703              // status looks plausible
    702704            } else {
    703               setColumnStatus(iColumn,atUpperBound);
    704               columnActivityWork_[iColumn]=upper;
     705              // set to sensible
     706              if (fabs(lower)<=fabs(upper)) {
     707                setColumnStatus(iColumn,atLowerBound);
     708                columnActivityWork_[iColumn]=lower;
     709              } else {
     710                setColumnStatus(iColumn,atUpperBound);
     711                columnActivityWork_[iColumn]=upper;
     712              }
    705713            }
    706714          } else {
     
    33803388              int iDownB=-1;
    33813389              if (lowerBound<-1.0e20)
     3390                maximumUp = -1.0;
     3391              if (upperBound>1.0e20)
    33823392                maximumDown = -1.0;
    3383               if (upperBound>1.0e20)
    3384                 maximumUp = -1.0;
    33853393              for (j=rowStart[iRow];j<rowStart[iRow]+rowLength[iRow];j++) {
    33863394                int iColumn = column[j];
Note: See TracChangeset for help on using the changeset viewer.