Changeset 315


Ignore:
Timestamp:
Nov 11, 2009 1:33:16 PM (10 years ago)
Author:
bjarni
Message:

Reorder and initialize CoinInfo? variables in trunk

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/CoinMP/src/CoinMP.cpp

    r290 r315  
    420420                                char* ObjectName;
    421421
     422                                double* InitValues;
     423
     424                                double* RowLower;
     425                                double* RowUpper;
     426
    422427                                char* ColType;
     428
     429                                int SolveAsMIP;
     430                                int IntCount;
     431                                int BinCount;
     432                                char* IsInt;
    423433
    424434                                int SosCount;
     
    429439                                int* SosIndex;
    430440                                double* SosRef;
    431 
    432                                 double* InitValues;
    433 
    434                                 double* RowLower;
    435                                 double* RowUpper;
    436 
    437                                 int IntCount;
    438                                 int BinCount;
    439                                 char* IsInt;
    440                                 int SolveAsMIP;
    441441
    442442                                int SolutionStatus;
     
    505505        pCoin->RowNamesList = NULL;
    506506        pCoin->ObjectName   = NULL;
    507         pCoin->ColType      = NULL;
    508 
    509         pCoin->SosCount   = 0;
    510         pCoin->SosNZCount = 0;
    511         pCoin->SosType    = NULL;
    512         pCoin->SosPrior   = NULL;
    513         pCoin->SosBegin   = NULL;
    514         pCoin->SosIndex   = NULL;
    515         pCoin->SosRef     = NULL;
    516 
    517         pCoin->InitValues   = NULL;
    518 
    519         pCoin->RowLower = NULL;
    520         pCoin->RowUpper = NULL;
    521 
    522         pCoin->IntCount = 0;
    523         pCoin->BinCount = 0;
    524         pCoin->IsInt = 0;
    525         pCoin->SolveAsMIP = 0;
     507
     508        pCoin->InitValues       = NULL;
     509
     510        pCoin->RowLower         = NULL;
     511        pCoin->RowUpper         = NULL;
     512
     513        pCoin->ColType          = NULL;
     514
     515        pCoin->SolveAsMIP       = 0;
     516        pCoin->IntCount         = 0;
     517        pCoin->BinCount         = 0;
     518        pCoin->IsInt            = NULL;
     519
     520        pCoin->SosCount         = 0;
     521        pCoin->SosNZCount       = 0;
     522        pCoin->SosType          = NULL;
     523        pCoin->SosPrior         = NULL;
     524        pCoin->SosBegin         = NULL;
     525        pCoin->SosIndex         = NULL;
     526        pCoin->SosRef           = NULL;
    526527
    527528        pCoin->SolutionStatus = 0;
    528529        strcpy(pCoin->SolutionText, "");
     530
     531        pCoin->MessageLogCallback = NULL;
     532        pCoin->IterationCallback = NULL;
     533        pCoin->MipNodeCallback = NULL;
    529534
    530535        return (HPROB)pCoin;
     
    967972                if (pCoin->ObjectName)   free(pCoin->ObjectName);
    968973
    969                 if (pCoin->ColType)      free(pCoin->ColType);
    970 
    971                 if (pCoin->SosType)  free(pCoin->SosType);
    972                 if (pCoin->SosPrior) free(pCoin->SosPrior);
    973                 if (pCoin->SosBegin) free(pCoin->SosBegin);
    974                 if (pCoin->SosIndex) free(pCoin->SosIndex);
    975                 if (pCoin->SosRef)   free(pCoin->SosRef);
    976 
    977974                if (pCoin->InitValues)   free(pCoin->InitValues);
    978975
    979                 if (pCoin->RowLower) free(pCoin->RowLower);
    980                 if (pCoin->RowUpper) free(pCoin->RowUpper);
    981                 if (pCoin->IsInt)    free(pCoin->IsInt);
     976                if (pCoin->RowLower)     free(pCoin->RowLower);
     977                if (pCoin->RowUpper)     free(pCoin->RowUpper);
     978
     979                if (pCoin->ColType)              free(pCoin->ColType);
     980                if (pCoin->IsInt)                free(pCoin->IsInt);
     981
     982                if (pCoin->SosType)              free(pCoin->SosType);
     983                if (pCoin->SosPrior)     free(pCoin->SosPrior);
     984                if (pCoin->SosBegin)     free(pCoin->SosBegin);
     985                if (pCoin->SosIndex)     free(pCoin->SosIndex);
     986                if (pCoin->SosRef)               free(pCoin->SosRef);
    982987
    983988        }
     
    11851190        va_start(pVa,FormatStr);
    11861191        vsprintf(strbuf,FormatStr,pVa);
    1187         global_pCoin->MessageLogCallback(strbuf);
     1192        if (global_pCoin->MessageLogCallback) {
     1193                global_pCoin->MessageLogCallback(strbuf);
     1194        }
    11881195        return SOLV_CALL_SUCCESS;
    11891196}
     
    12021209                }
    12031210        }
    1204         global_pCoin->IterationCallback(IterCount, ObjectValue, IsFeasible, InfeasValue);
     1211        if (global_pCoin->IterationCallback) {
     1212                global_pCoin->IterationCallback(IterCount, ObjectValue, IsFeasible, InfeasValue);
     1213        }
    12051214        return SOLV_CALL_SUCCESS;
    12061215}
     
    12131222                                   NodeCount, (IsMipImproved) ? "*" : " ", BestBound, BestObject);
    12141223        }
    1215         global_pCoin->MipNodeCallback(IterCount, NodeCount, BestBound, BestObject, IsMipImproved);
     1224        if (global_pCoin->MipNodeCallback) {
     1225                global_pCoin->MipNodeCallback(IterCount, NodeCount, BestBound, BestObject, IsMipImproved);
     1226        }
    12161227        return SOLV_CALL_SUCCESS;
    12171228}
Note: See TracChangeset for help on using the changeset viewer.