Changeset 2959


Ignore:
Timestamp:
Apr 4, 2020 12:08:19 PM (3 months ago)
Author:
stefan
Message:

remove COINLINKAGE by CBC_LINKAGE and declare in Cbc

Location:
trunk/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/Cbc_C_Interface.cpp

    r2958 r2959  
    259259
    260260#define CbcGetProperty(T, prop) \
    261   T COINLINKAGE      \
     261  T CBC_LINKAGE      \
    262262    Cbc_##prop(Cbc_Model *m)    \
    263263  {                             \
     
    266266
    267267#define CbcSetSolverProperty(T, prop)          \
    268   void COINLINKAGE                  \
     268  void CBC_LINKAGE                  \
    269269    Cbc_##prop(Cbc_Model *m, int index, T val) \
    270270  {                                            \
     
    648648
    649649/* Version */
    650 const char *COINLINKAGE Cbc_getVersion()
     650const char *CBC_LINKAGE Cbc_getVersion()
    651651{
    652652  return CBC_VERSION;
     
    963963
    964964/* Default Cbc_Model constructor */
    965 Cbc_Model *COINLINKAGE
     965Cbc_Model *CBC_LINKAGE
    966966Cbc_newModel()
    967967{
     
    10081008
    10091009/* Cbc_Model Destructor */
    1010 void COINLINKAGE
     1010void CBC_LINKAGE
    10111011Cbc_deleteModel(Cbc_Model *model)
    10121012{
     
    10721072   given in a standard column major ordered format (without gaps).
    10731073*/
    1074 void COINLINKAGE
     1074void CBC_LINKAGE
    10751075Cbc_loadProblem(Cbc_Model *model, const int numcols, const int numrows,
    10761076  const CoinBigIndex *start, const int *index,
     
    11101110 * @param fileName file name
    11111111 **/
    1112 int COINLINKAGE
     1112int CBC_LINKAGE
    11131113Cbc_readMps(Cbc_Model *model, const char *filename)
    11141114{
     
    11321132 * @param fileName file name
    11331133 **/
    1134 void COINLINKAGE
     1134void CBC_LINKAGE
    11351135Cbc_writeMps(Cbc_Model *model, const char *filename)
    11361136{
     
    11441144 * @param model problem object
    11451145 * @param fileName file name */
    1146 void COINLINKAGE
     1146void CBC_LINKAGE
    11471147Cbc_writeLp(Cbc_Model *model, const char *filename)
    11481148{
     
    11651165 * @param model problem object
    11661166 * @param fileName file name */
    1167 int COINLINKAGE
     1167int CBC_LINKAGE
    11681168Cbc_readLp(Cbc_Model *model, const char *filename)
    11691169{
     
    11861186  * @return 1 if yes, 0 otherwise
    11871187  **/
    1188 char COINLINKAGE
     1188char CBC_LINKAGE
    11891189Cbc_supportsGzip() {
    11901190  return (char)CoinFileInput::haveGzipSupport();
     
    11951195  * @return 1 if yes, 0 otherwise
    11961196  **/
    1197 char COINLINKAGE
     1197char CBC_LINKAGE
    11981198Cbc_supportsBzip2() {
    11991199  return (char)CoinFileInput::haveBzip2Support();
     
    12061206 * @param model problem object
    12071207 **/
    1208 void COINLINKAGE
     1208void CBC_LINKAGE
    12091209Cbc_setInitialSolution(Cbc_Model *model, const double *sol)
    12101210{
     
    12301230
    12311231
    1232 void COINLINKAGE
     1232void CBC_LINKAGE
    12331233Cbc_setIntParam(Cbc_Model *model, enum IntParam which, const int val) {
    12341234  model->int_param[which] = val;
    12351235}
    12361236
    1237 void COINLINKAGE
     1237void CBC_LINKAGE
    12381238Cbc_setDblParam(Cbc_Model *model, enum DblParam which, const double val) {
    12391239  model->dbl_param[which] = val;
    12401240}
    12411241
    1242 void COINLINKAGE
     1242void CBC_LINKAGE
    12431243Cbc_setParameter(Cbc_Model *model, const char *name, const char *value)
    12441244{
     
    12491249
    12501250/* Fills in array with problem name  */
    1251 void COINLINKAGE
     1251void CBC_LINKAGE
    12521252Cbc_problemName(Cbc_Model *model, int maxNumberCharacters, char *array)
    12531253{
     
    12571257}
    12581258/* Sets problem name.  Must have \0 at end.  */
    1259 int COINLINKAGE
     1259int CBC_LINKAGE
    12601260Cbc_setProblemName(Cbc_Model *model, const char *array)
    12611261{
     
    12661266}
    12671267
    1268 int COINLINKAGE Cbc_status(Cbc_Model *model) {
     1268int CBC_LINKAGE Cbc_status(Cbc_Model *model) {
    12691269  switch (model->lastOptimization) {
    12701270    case ModelNotOptimized:
     
    12841284
    12851285
    1286 int COINLINKAGE
     1286int CBC_LINKAGE
    12871287Cbc_secondaryStatus(Cbc_Model *model) {
    12881288  switch (model->lastOptimization) {
     
    13031303
    13041304/* Number of elements in matrix */
    1305 int COINLINKAGE
     1305int CBC_LINKAGE
    13061306Cbc_getNumElements(Cbc_Model *model)
    13071307{
     
    13141314}
    13151315
    1316 int COINLINKAGE
     1316int CBC_LINKAGE
    13171317Cbc_getNumIntegers(Cbc_Model *model)
    13181318{
     
    13231323
    13241324// Column starts in matrix
    1325 const CoinBigIndex *COINLINKAGE
     1325const CoinBigIndex *CBC_LINKAGE
    13261326Cbc_getVectorStarts(Cbc_Model *model)
    13271327{
     
    13341334
    13351335// Row indices in matrix
    1336 const int *COINLINKAGE
     1336const int *CBC_LINKAGE
    13371337Cbc_getIndices(Cbc_Model *model)
    13381338{
     
    13481348
    13491349// Element values in matrix
    1350 const double *COINLINKAGE
     1350const double *CBC_LINKAGE
    13511351Cbc_getElements(Cbc_Model *model)
    13521352{
     
    13631363
    13641364/* Pass in Callback function */
    1365 void COINLINKAGE
     1365void CBC_LINKAGE
    13661366Cbc_registerCallBack(Cbc_Model *model,
    13671367  cbc_callback userCallBack)
     
    13701370}
    13711371/* Unset Callback function */
    1372 void COINLINKAGE
     1372void CBC_LINKAGE
    13731373Cbc_clearCallBack(Cbc_Model *model)
    13741374{
     
    13771377
    13781378/* length of names (0 means no names0 */
    1379 size_t COINLINKAGE
     1379size_t CBC_LINKAGE
    13801380Cbc_maxNameLength(Cbc_Model *model)
    13811381{
     
    14021402}
    14031403
    1404 void COINLINKAGE
     1404void CBC_LINKAGE
    14051405Cbc_getRowName(Cbc_Model *model, int iRow, char *name, size_t maxLength)
    14061406{
     
    14171417}
    14181418
    1419 void COINLINKAGE
     1419void CBC_LINKAGE
    14201420Cbc_getColName(Cbc_Model *model, int iColumn, char *name, size_t maxLength)
    14211421{
     
    14331433}
    14341434
    1435 void COINLINKAGE
     1435void CBC_LINKAGE
    14361436Cbc_setColName(Cbc_Model *model, int iColumn, const char *name)
    14371437{
     
    14521452}
    14531453
    1454 void COINLINKAGE
     1454void CBC_LINKAGE
    14551455Cbc_setRowName(Cbc_Model *model, int iRow, const char *name)
    14561456{
     
    14711471}
    14721472
    1473 void COINLINKAGE
     1473void CBC_LINKAGE
    14741474Cbc_setSolveRelax(Cbc_Model *model, char solveOnlyRelax)
    14751475{
     
    15061506static void Cbc_addMS( Cbc_Model *model );
    15071507
    1508 int COINLINKAGE
     1508int CBC_LINKAGE
    15091509Cbc_solveLinearProgram(Cbc_Model *model)
    15101510{
     
    17221722}
    17231723
    1724 int COINLINKAGE
     1724int CBC_LINKAGE
    17251725Cbc_solve(Cbc_Model *model)
    17261726{
     
    18981898}
    18991899
    1900 void COINLINKAGE Cbc_addIncCallback(
     1900void CBC_LINKAGE Cbc_addIncCallback(
    19011901    Cbc_Model *model, cbc_incumbent_callback inccb,
    19021902    void *appData )
     
    19061906}
    19071907
    1908 void COINLINKAGE Cbc_addProgrCallback(
     1908void CBC_LINKAGE Cbc_addProgrCallback(
    19091909  Cbc_Model *model, cbc_progress_callback prgcbc,
    19101910  void *appData)
     
    19141914}
    19151915
    1916 void COINLINKAGE Cbc_addCutCallback(
     1916void CBC_LINKAGE Cbc_addCutCallback(
    19171917    Cbc_Model *model,
    19181918    cbc_cut_callback cutcb,
     
    19291929}
    19301930
    1931 int COINLINKAGE
     1931int CBC_LINKAGE
    19321932Cbc_getNumCols(Cbc_Model *model)
    19331933{
     
    19351935}
    19361936
    1937 int COINLINKAGE
     1937int CBC_LINKAGE
    19381938Cbc_getNumRows(Cbc_Model *model)
    19391939{
     
    19421942
    19431943
    1944 int COINLINKAGE
     1944int CBC_LINKAGE
    19451945Cbc_getIterationCount(Cbc_Model *model) {
    19461946  return model->cbcModel_->getIterationCount();
     
    19481948
    19491949/** Number of non-zero entries in a row */
    1950 int COINLINKAGE
     1950int CBC_LINKAGE
    19511951Cbc_getRowNz(Cbc_Model *model, int row)
    19521952{
     
    19631963
    19641964/** Indices of variables that appear on this row */
    1965 const int *COINLINKAGE
     1965const int *CBC_LINKAGE
    19661966Cbc_getRowIndices(Cbc_Model *model, int row)
    19671967{
     
    19801980
    19811981/** Coefficients of variables that appear on this row */
    1982 const double *COINLINKAGE
     1982const double *CBC_LINKAGE
    19831983Cbc_getRowCoeffs(Cbc_Model *model, int row)
    19841984{
     
    19971997
    19981998/** Number of non-zero entries in a column */
    1999 int COINLINKAGE
     1999int CBC_LINKAGE
    20002000Cbc_getColNz(Cbc_Model *model, int col)
    20012001{
     
    20082008
    20092009/** Indices of rows that a column appears */
    2010 const int *COINLINKAGE
     2010const int *CBC_LINKAGE
    20112011Cbc_getColIndices(Cbc_Model *model, int col)
    20122012{
     
    20212021
    20222022/** Coefficients that a column appear in rows */
    2023 const double *COINLINKAGE
     2023const double *CBC_LINKAGE
    20242024Cbc_getColCoeffs(Cbc_Model *model, int col)
    20252025{
     
    20352035
    20362036/** Right hand side of a row */
    2037 double COINLINKAGE
     2037double CBC_LINKAGE
    20382038Cbc_getRowRHS(Cbc_Model *model, int row)
    20392039{
     
    20522052
    20532053/** Sense a row */
    2054 char COINLINKAGE
     2054char CBC_LINKAGE
    20552055Cbc_getRowSense(Cbc_Model *model, int row)
    20562056{
     
    20732073
    20742074/** Are there a numerical difficulties? */
    2075 int COINLINKAGE
     2075int CBC_LINKAGE
    20762076Cbc_isAbandoned(Cbc_Model *model)
    20772077{
     
    20922092
    20932093/** Is optimality proven? */
    2094 int COINLINKAGE
     2094int CBC_LINKAGE
    20952095Cbc_isProvenOptimal(Cbc_Model *model)
    20962096{
     
    21092109}
    21102110
    2111 int COINLINKAGE
     2111int CBC_LINKAGE
    21122112Cbc_isProvenInfeasible(Cbc_Model *model)
    21132113{
     
    21282128}
    21292129
    2130 double COINLINKAGE
     2130double CBC_LINKAGE
    21312131Cbc_getObjValue(Cbc_Model *model)
    21322132{
     
    21452145}
    21462146
    2147 const double *COINLINKAGE
     2147const double *CBC_LINKAGE
    21482148Cbc_getReducedCost(Cbc_Model *model)
    21492149{
     
    21642164}
    21652165
    2166 const double *COINLINKAGE
     2166const double *CBC_LINKAGE
    21672167Cbc_getRowPrice(Cbc_Model *model)
    21682168{
     
    21832183}
    21842184
    2185 int COINLINKAGE
     2185int CBC_LINKAGE
    21862186Cbc_numberSavedSolutions(Cbc_Model *model)
    21872187{
     
    22032203}
    22042204
    2205 const double *COINLINKAGE
     2205const double *CBC_LINKAGE
    22062206Cbc_savedSolution(Cbc_Model *model, int whichSol)
    22072207{
     
    22222222}
    22232223
    2224 double COINLINKAGE
     2224double CBC_LINKAGE
    22252225Cbc_savedSolutionObj(Cbc_Model *model, int whichSol)
    22262226{
     
    22412241}
    22422242
    2243 const double *COINLINKAGE
     2243const double *CBC_LINKAGE
    22442244Cbc_getColSolution(Cbc_Model *model)
    22452245{
     
    22592259
    22602260
    2261 int COINLINKAGE
     2261int CBC_LINKAGE
    22622262Cbc_isContinuousUnbounded(Cbc_Model *model) {
    22632263  switch (model->lastOptimization) {
     
    22792279
    22802280
    2281 int COINLINKAGE
     2281int CBC_LINKAGE
    22822282Cbc_isNodeLimitReached(Cbc_Model *model) {
    22832283  switch (model->lastOptimization) {
     
    22982298
    22992299
    2300 int COINLINKAGE
     2300int CBC_LINKAGE
    23012301Cbc_isSecondsLimitReached(Cbc_Model *model) {
    23022302  switch (model->lastOptimization) {
     
    23172317}
    23182318
    2319 int COINLINKAGE
     2319int CBC_LINKAGE
    23202320Cbc_isSolutionLimitReached(Cbc_Model *model) {
    23212321  switch (model->lastOptimization) {
     
    23382338
    23392339
    2340 int COINLINKAGE
     2340int CBC_LINKAGE
    23412341Cbc_isInitialSolveAbandoned(Cbc_Model *model) {
    23422342  switch (model->lastOptimization) {
     
    23562356}
    23572357
    2358 int COINLINKAGE
     2358int CBC_LINKAGE
    23592359Cbc_isInitialSolveProvenOptimal(Cbc_Model *model) {
    23602360  switch (model->lastOptimization) {
     
    23752375
    23762376
    2377 int COINLINKAGE
     2377int CBC_LINKAGE
    23782378Cbc_isInitialSolveProvenPrimalInfeasible(Cbc_Model *model) {
    23792379  switch (model->lastOptimization) {
     
    23942394}
    23952395
    2396 double COINLINKAGE
     2396double CBC_LINKAGE
    23972397Cbc_getObjSense(Cbc_Model *model) {
    23982398  return model->solver_->getObjSense();
    23992399}
    24002400
    2401 void COINLINKAGE
     2401void CBC_LINKAGE
    24022402Cbc_setObjSense(Cbc_Model *model, double sense)
    24032403{
     
    24062406}
    24072407
    2408 void COINLINKAGE
     2408void CBC_LINKAGE
    24092409Cbc_setRowLower(Cbc_Model *model, int index, double value)
    24102410{
     
    24142414}
    24152415
    2416 void COINLINKAGE
     2416void CBC_LINKAGE
    24172417Cbc_setRowUpper(Cbc_Model *model, int index, double value)
    24182418{
     
    24222422}
    24232423
    2424 void COINLINKAGE
     2424void CBC_LINKAGE
    24252425Cbc_setRowRHS(Cbc_Model *model, int row, double rhs)
    24262426{
     
    24522452  * @return vector with lower bounds of constraints
    24532453  **/
    2454 const double *COINLINKAGE
     2454const double *CBC_LINKAGE
    24552455Cbc_getRowLower(Cbc_Model *model)
    24562456{
     
    24652465  * @return constraint upper bounds
    24662466  **/
    2467 const double *COINLINKAGE
     2467const double *CBC_LINKAGE
    24682468Cbc_getRowUpper(Cbc_Model *model)
    24692469{
     
    24742474
    24752475
    2476 const double *COINLINKAGE
     2476const double *CBC_LINKAGE
    24772477Cbc_getRowActivity(Cbc_Model *model) {
    24782478  switch (model->lastOptimization) {
     
    24912491}
    24922492
    2493 const double *COINLINKAGE
     2493const double *CBC_LINKAGE
    24942494Cbc_getColLower(Cbc_Model *model)
    24952495{
     
    24982498}
    24992499
    2500 const double *COINLINKAGE
     2500const double *CBC_LINKAGE
    25012501Cbc_getColUpper(Cbc_Model *model)
    25022502{
     
    25062506
    25072507
    2508 double COINLINKAGE
     2508double CBC_LINKAGE
    25092509Cbc_getBestPossibleObjValue(Cbc_Model *model) {
    25102510  switch (model->lastOptimization) {
     
    25222522}
    25232523
    2524 const double *COINLINKAGE
     2524const double *CBC_LINKAGE
    25252525Cbc_getObjCoefficients(Cbc_Model *model)
    25262526{
     
    25292529}
    25302530
    2531 void COINLINKAGE
     2531void CBC_LINKAGE
    25322532Cbc_setObjCoeff(Cbc_Model *model, int index, double value)
    25332533{
     
    25362536}
    25372537
    2538 void COINLINKAGE
     2538void CBC_LINKAGE
    25392539Cbc_setColLower(Cbc_Model *model, int index, double value)
    25402540{
     
    25432543}
    25442544
    2545 void COINLINKAGE
     2545void CBC_LINKAGE
    25462546Cbc_setColUpper(Cbc_Model *model, int index, double value)
    25472547{
     
    25512551
    25522552
    2553 const double *COINLINKAGE
     2553const double *CBC_LINKAGE
    25542554Cbc_bestSolution(Cbc_Model *model)
    25552555{
     
    25692569
    25702570
    2571 int COINLINKAGE
     2571int CBC_LINKAGE
    25722572Cbc_isInteger(Cbc_Model *model, int i)
    25732573{
     
    25782578
    25792579
    2580 int COINLINKAGE
     2580int CBC_LINKAGE
    25812581Cbc_getNodeCount(Cbc_Model *model) {
    25822582  switch (model->lastOptimization) {
     
    25992599
    26002600/** Return a copy of this model */
    2601 Cbc_Model *COINLINKAGE
     2601Cbc_Model *CBC_LINKAGE
    26022602Cbc_clone(Cbc_Model *model)
    26032603{
     
    26952695
    26962696/** Set this the variable to be continuous */
    2697 void COINLINKAGE
     2697void CBC_LINKAGE
    26982698Cbc_setContinuous(Cbc_Model *model, int iColumn)
    26992699{
     
    27042704
    27052705/** Set this the variable to be integer */
    2706 void COINLINKAGE
     2706void CBC_LINKAGE
    27072707Cbc_setInteger(Cbc_Model *model, int iColumn)
    27082708{
     
    27132713
    27142714/** Adds a new column */
    2715 void COINLINKAGE
     2715void CBC_LINKAGE
    27162716Cbc_addCol(Cbc_Model *model, const char *name, double lb,
    27172717  double ub, double obj, char isInteger,
     
    27402740
    27412741/** Adds a new row */
    2742 void COINLINKAGE
     2742void CBC_LINKAGE
    27432743Cbc_addRow(Cbc_Model *model, const char *name, int nz,
    27442744  const int *cols, const double *coefs, char sense, double rhs)
     
    27792779
    27802780
    2781 void COINLINKAGE
     2781void CBC_LINKAGE
    27822782Cbc_addLazyConstraint(Cbc_Model *model, int nz,
    27832783  int *cols, double *coefs, char sense, double rhs)
     
    28212821}
    28222822
    2823 void COINLINKAGE
     2823void CBC_LINKAGE
    28242824Cbc_readMIPStart(Cbc_Model *model, const char fileName[]) {
    28252825  std::vector< std::pair< std::string, double > > colValues;
     
    28492849}
    28502850
    2851 void COINLINKAGE
     2851void CBC_LINKAGE
    28522852Osi_addRow(void *osi, const char *name, int nz,
    28532853  const int *cols, const double *coefs, char sense, double rhs)
     
    28832883}
    28842884
    2885 void COINLINKAGE
     2885void CBC_LINKAGE
    28862886Osi_setObjSense(void *osi, double sense)
    28872887{
     
    28902890}
    28912891
    2892 void COINLINKAGE
     2892void CBC_LINKAGE
    28932893Cbc_deleteRows(Cbc_Model *model, int numRows, const int rows[])
    28942894{
     
    29062906}
    29072907
    2908 void COINLINKAGE
     2908void CBC_LINKAGE
    29092909Cbc_deleteCols(Cbc_Model *model, int numCols, const int cols[])
    29102910{
     
    29232923
    29242924/** Add SOS constraints to the model using row-order matrix */
    2925 void COINLINKAGE
     2925void CBC_LINKAGE
    29262926Cbc_addSOS(Cbc_Model *model, int numRows, const int *rowStarts,
    29272927  const int *colIndices, const double *weights, const int type)
     
    29692969}
    29702970
    2971 void COINLINKAGE
     2971void CBC_LINKAGE
    29722972Cbc_setMIPStart(Cbc_Model *model, int count, const char **colNames, const double colValues[])
    29732973{
     
    30013001}
    30023002
    3003 void COINLINKAGE
     3003void CBC_LINKAGE
    30043004Cbc_setMIPStartI(Cbc_Model *model, int count, const int colIdxs[], const double colValues[])
    30053005{
     
    30383038
    30393039/** @brief Creates a new OsiClpSolverInterface and returns a pointer to an OsiSolverInterface object */
    3040 void * COINLINKAGE
     3040void * CBC_LINKAGE
    30413041Osi_newSolver()
    30423042{
     
    30463046}
    30473047
    3048 void COINLINKAGE
     3048void CBC_LINKAGE
    30493049Osi_setObjCoef(void *osi, int index, double obj)
    30503050{
     
    30543054
    30553055/** @brief Solves initial LP relaxation */
    3056 void COINLINKAGE
     3056void CBC_LINKAGE
    30573057Osi_initialSolve(void *osi)
    30583058{
     
    30623062
    30633063/** @brief Reoptimizes linear program  */
    3064 void COINLINKAGE
     3064void CBC_LINKAGE
    30653065Osi_resolve(void *osi)
    30663066{
     
    30703070
    30713071/** @brief Performs branch and bound */
    3072 void COINLINKAGE
     3072void CBC_LINKAGE
    30733073Osi_branchAndBound(void *osi)
    30743074{
     
    30793079// solution query methods
    30803080/** @brief Checks if optimization was abandoned */
    3081 char COINLINKAGE
     3081char CBC_LINKAGE
    30823082Osi_isAbandoned(void *osi)
    30833083{
     
    30873087
    30883088/** @brief Checks if optimal solution was found */
    3089 char COINLINKAGE
     3089char CBC_LINKAGE
    30903090Osi_isProvenOptimal(void *osi)
    30913091{
     
    30953095
    30963096/** @brief Checks if problem is primal infeasible */
    3097 char COINLINKAGE
     3097char CBC_LINKAGE
    30983098Osi_isProvenPrimalInfeasible(void *osi)
    30993099{
     
    31033103
    31043104/** @brief Checks if problem is dual infeasible */
    3105 char COINLINKAGE
     3105char CBC_LINKAGE
    31063106Osi_isProvenDualInfeasible(void *osi)
    31073107{
     
    31113111
    31123112/** @brief Checks if primal objective limit was reached */
    3113 char COINLINKAGE
     3113char CBC_LINKAGE
    31143114Osi_isPrimalObjectiveLimitReached(void *osi)
    31153115{
     
    31193119
    31203120/** @brief Checks if dual objective limit was reached */
    3121 char COINLINKAGE
     3121char CBC_LINKAGE
    31223122Osi_isDualObjectiveLimitReached(void *osi)
    31233123{
     
    31273127
    31283128/** @brief Checks if iteration limit was reached */
    3129 char COINLINKAGE
     3129char CBC_LINKAGE
    31303130Osi_isIterationLimitReached(void *osi)
    31313131{
     
    31353135
    31363136
    3137 int COINLINKAGE
     3137int CBC_LINKAGE
    31383138Osi_getNumCols( void *osi )
    31393139{
     
    31433143
    31443144/** @brief Returns column name in OsiSolverInterface object */
    3145 void COINLINKAGE
     3145void CBC_LINKAGE
    31463146Osi_getColName( void *osi, int i, char *name, int maxLen )
    31473147{
     
    31513151
    31523152/** @brief Returns column lower bounds in OsiSolverInterface object */
    3153 const double * COINLINKAGE
     3153const double * CBC_LINKAGE
    31543154Osi_getColLower( void *osi )
    31553155{
     
    31593159
    31603160/** @brief Returns column upper bounds in OsiSolverInterface object */
    3161 const double * COINLINKAGE
     3161const double * CBC_LINKAGE
    31623162Osi_getColUpper( void *osi )
    31633163{
     
    31673167
    31683168/** @brief Returns integrality information for columns in OsiSolverInterface object */
    3169 int COINLINKAGE
     3169int CBC_LINKAGE
    31703170Osi_isInteger( void *osi, int col )
    31713171{
     
    31753175
    31763176/** @brief Returns number of rows in OsiSolverInterface object */
    3177 int COINLINKAGE
     3177int CBC_LINKAGE
    31783178Osi_getNumRows( void *osi )
    31793179{
     
    31833183
    31843184/** @brief Returns number non-zeros in the constraint matrix */
    3185 int COINLINKAGE
     3185int CBC_LINKAGE
    31863186Osi_getNumNz( void *osi )
    31873187{
     
    31913191
    31923192/** @brief Returns number integer/binary variables */
    3193 int COINLINKAGE
     3193int CBC_LINKAGE
    31943194Osi_getNumIntegers( void *osi )
    31953195{
     
    31983198}
    31993199
    3200 int COINLINKAGE
     3200int CBC_LINKAGE
    32013201Osi_getRowNz(void *osi, int row)
    32023202{
     
    32083208
    32093209/** @brief Indices of variables that appear on a row */
    3210 const int *COINLINKAGE
     3210const int *CBC_LINKAGE
    32113211Osi_getRowIndices(void *osi, int row)
    32123212{
     
    32203220
    32213221/** @brief Coefficients of variables that appear on this row  */
    3222 const double *COINLINKAGE
     3222const double *CBC_LINKAGE
    32233223Osi_getRowCoeffs(void *osi, int row)
    32243224{
     
    32323232
    32333233/** @brief Right hand side of a row  */
    3234 double COINLINKAGE
     3234double CBC_LINKAGE
    32353235Osi_getRowRHS(void *osi, int row)
    32363236{
     
    32443244     * @return row sense: E for =, L for <=, G for >= and R for ranged row
    32453245     **/
    3246 char COINLINKAGE
     3246char CBC_LINKAGE
    32473247Osi_getRowSense(void *osi, int row)
    32483248{
     
    32533253
    32543254/** Generates cutting planes */
    3255 void COINLINKAGE Cgl_generateCuts( void *osiClpSolver, enum CutType ct, void *oc, int strength ) {
     3255void CBC_LINKAGE Cgl_generateCuts( void *osiClpSolver, enum CutType ct, void *oc, int strength ) {
    32563256  OsiClpSolverInterface *solver = (OsiClpSolverInterface *) osiClpSolver;
    32573257  CglCutGenerator *cg[2] = {NULL, NULL};
     
    33023302
    33033303/** Creates a new cut pool and returns its pointer */
    3304 void * COINLINKAGE
     3304void * CBC_LINKAGE
    33053305OsiCuts_new() {
    33063306  OsiCuts *oc = new OsiCuts();
     
    33093309
    33103310/** Deletes a cut pool */
    3311 void COINLINKAGE
     3311void CBC_LINKAGE
    33123312OsiCuts_delete( void *osiCuts ) {
    33133313  OsiCuts *oc = (OsiCuts *) osiCuts;
     
    33163316
    33173317/** Returns the number of row cuts stored */
    3318 int COINLINKAGE
     3318int CBC_LINKAGE
    33193319OsiCuts_sizeRowCuts( void *osiCuts ) {
    33203320  OsiCuts *oc = (OsiCuts *)osiCuts;
     
    33233323
    33243324/** Returns the number of row cuts stored */
    3325 int COINLINKAGE
     3325int CBC_LINKAGE
    33263326OsiCuts_nzRowCut( void *osiCuts, int iRowCut ) {
    33273327  assert(iRowCut >= 0 && iRowCut < OsiCuts_sizeRowCuts(osiCuts) );
     
    33323332
    33333333/** Returns the variable indexes in a row cut */
    3334 const int * COINLINKAGE
     3334const int * CBC_LINKAGE
    33353335OsiCuts_idxRowCut( void *osiCuts, int iRowCut ) {
    33363336  assert(iRowCut >= 0 && iRowCut < OsiCuts_sizeRowCuts(osiCuts) );
     
    33413341
    33423342/** Returns the variable coefficients in a row cut */
    3343 const double * COINLINKAGE
     3343const double * CBC_LINKAGE
    33443344OsiCuts_coefRowCut( void *osiCuts, int iRowCut ) {
    33453345  assert(iRowCut >= 0 && iRowCut < OsiCuts_sizeRowCuts(osiCuts) );
     
    33503350
    33513351/** Returns the variable coefficients in a row cut */
    3352 double COINLINKAGE
     3352double CBC_LINKAGE
    33533353OsiCuts_rhsRowCut( void *osiCuts, int iRowCut ) {
    33543354  assert(iRowCut >= 0 && iRowCut < OsiCuts_sizeRowCuts(osiCuts) );
     
    33593359
    33603360/** Returns the sense of a row cut */
    3361 char COINLINKAGE
     3361char CBC_LINKAGE
    33623362OsiCuts_senseRowCut( void *osiCuts, int iRowCut ) {
    33633363  assert(iRowCut >= 0 && iRowCut < OsiCuts_sizeRowCuts(osiCuts) );
     
    33673367}
    33683368
    3369 void COINLINKAGE
     3369void CBC_LINKAGE
    33703370OsiCuts_addRowCut( void *osiCuts, int nz, const int *idx, const double *coef, char sense, double rhs )
    33713371{
     
    34103410
    34113411/** adds a row cut (used in callback), stating that this is a globally valid cut */
    3412 void COINLINKAGE
     3412void CBC_LINKAGE
    34133413OsiCuts_addGlobalRowCut( void *osiCuts, int nz, const int *idx, const double *coef, char sense, double rhs )
    34143414{
     
    34553455
    34563456/** @brief Sets a variable to integer */
    3457 void COINLINKAGE
     3457void CBC_LINKAGE
    34583458Osi_setInteger(void *osi, int index)
    34593459{
     
    34643464
    34653465/** @brief Sets a variable to continuous */
    3466 void COINLINKAGE
     3466void CBC_LINKAGE
    34673467Osi_setContinuous(void *osi, int index)
    34683468{
     
    34723472}
    34733473
    3474 int COINLINKAGE
     3474int CBC_LINKAGE
    34753475Osi_getColNz(void *osi, int col)
    34763476{
     
    34863486     * @return indices of rows that this column appears
    34873487     **/
    3488 const int *COINLINKAGE
     3488const int *CBC_LINKAGE
    34893489Osi_getColIndices(void *osi, int col)
    34903490{
     
    35023502     * @return coefficients of this column in rows
    35033503     **/
    3504 const double *COINLINKAGE
     3504const double *CBC_LINKAGE
    35053505Osi_getColCoeffs(void *osi, int col)
    35063506{
     
    35143514
    35153515/** @brief Returns solution vector in OsiSolverInterface object */
    3516 const double * COINLINKAGE
     3516const double * CBC_LINKAGE
    35173517Osi_getColSolution( void *osi )
    35183518{
     
    35233523
    35243524/** Adds a new column */
    3525 void COINLINKAGE
     3525void CBC_LINKAGE
    35263526Osi_addCol(void *osi, const char *name, double lb,
    35273527  double ub, double obj, char isInteger,
     
    35363536
    35373537/** @brief Returns vector of reduced costs */
    3538 const double * COINLINKAGE
     3538const double * CBC_LINKAGE
    35393539Osi_getReducedCost( void *osi )
    35403540{
     
    35453545
    35463546/** @brief Returns vector dual variables */
    3547 const double * COINLINKAGE
     3547const double * CBC_LINKAGE
    35483548Osi_getRowPrice( void *osi )
    35493549{
     
    35533553}
    35543554
    3555 double COINLINKAGE
     3555double CBC_LINKAGE
    35563556Osi_getObjValue( void *osi )
    35573557{
     
    35623562
    35633563/** @brief Sets column upper bound */
    3564 void COINLINKAGE
     3564void CBC_LINKAGE
    35653565Osi_setColUpper (void *osi, int elementIndex, double ub)
    35663566{
     
    35703570
    35713571/** @brief Sets column upper bound */
    3572 void COINLINKAGE
     3572void CBC_LINKAGE
    35733573Osi_setColLower(void *osi, int elementIndex, double lb)
    35743574{
     
    35783578
    35793579/** @brief integer tolerance */
    3580 double COINLINKAGE
     3580double CBC_LINKAGE
    35813581Osi_getIntegerTolerance(void *osi)
    35823582{
     
    35853585}
    35863586
    3587 double COINLINKAGE
     3587double CBC_LINKAGE
    35883588Cbc_getAllowableGap(Cbc_Model* model)
    35893589{
     
    35913591}
    35923592
    3593 void COINLINKAGE
     3593void CBC_LINKAGE
    35943594Cbc_setAllowableGap(Cbc_Model* model, double allowedGap)
    35953595{
     
    35973597}
    35983598
    3599 double COINLINKAGE
     3599double CBC_LINKAGE
    36003600Cbc_getAllowableFractionGap(Cbc_Model* model)
    36013601{
     
    36033603}
    36043604
    3605 void COINLINKAGE
     3605void CBC_LINKAGE
    36063606Cbc_setAllowableFractionGap(Cbc_Model* model, double allowedFracionGap)
    36073607{
     
    36113611/** returns the maximum number of nodes that can be explored in the search tree
    36123612 */
    3613 int COINLINKAGE
     3613int CBC_LINKAGE
    36143614Cbc_getMaximumNodes(Cbc_Model *model)
    36153615{
     
    36193619/** sets the maximum number of nodes that can be explored in the search tree
    36203620 */
    3621 void COINLINKAGE
     3621void CBC_LINKAGE
    36223622Cbc_setMaximumNodes(Cbc_Model *model, int maxNodes)
    36233623{
     
    36273627/** returns solution limit for the search process
    36283628 */
    3629 int COINLINKAGE
     3629int CBC_LINKAGE
    36303630Cbc_getMaximumSolutions(Cbc_Model *model)
    36313631{
     
    36353635/** sets a solution limit as a stopping criterion
    36363636 */
    3637 void COINLINKAGE
     3637void CBC_LINKAGE
    36383638Cbc_setMaximumSolutions(Cbc_Model *model, int maxSolutions)
    36393639{
     
    36433643/** returns the current log leven
    36443644 */
    3645 int COINLINKAGE
     3645int CBC_LINKAGE
    36463646Cbc_getLogLevel(Cbc_Model *model)
    36473647{
     
    36513651/** sets the log level
    36523652 */
    3653 void COINLINKAGE
     3653void CBC_LINKAGE
    36543654Cbc_setLogLevel(Cbc_Model *model, int logLevel)
    36553655{
     
    36593659/** gets the tolerance for infeasibility in the LP solver
    36603660 */
    3661 double COINLINKAGE
     3661double CBC_LINKAGE
    36623662Cbc_getPrimalTolerance(Cbc_Model *model)
    36633663{
     
    36673667/** sets the tolerance for infeasibility in the LP solver
    36683668 */
    3669 void COINLINKAGE
     3669void CBC_LINKAGE
    36703670Cbc_setPrimalTolerance(Cbc_Model *model, double tol)
    36713671{
     
    36753675/** gets the tolerance for optimality in the LP solver
    36763676 */
    3677 double COINLINKAGE
     3677double CBC_LINKAGE
    36783678Cbc_getDualTolerance(Cbc_Model *model)
    36793679{
     
    36833683/** sets the tolerance for optimality in the LP solver
    36843684 */
    3685 void COINLINKAGE
     3685void CBC_LINKAGE
    36863686Cbc_setDualTolerance(Cbc_Model *model, double tol)
    36873687{
     
    36893689}
    36903690
    3691 double COINLINKAGE
     3691double CBC_LINKAGE
    36923692Cbc_getCutoff(Cbc_Model* model)
    36933693{
     
    36953695}
    36963696
    3697 void COINLINKAGE
     3697void CBC_LINKAGE
    36983698Cbc_setCutoff(Cbc_Model* model, double cutoff)
    36993699{
     
    37013701}
    37023702
    3703 void COINLINKAGE
     3703void CBC_LINKAGE
    37043704Cbc_setLPmethod(Cbc_Model *model, enum LPMethod lpm ) {
    37053705  model->lp_method = lpm;
     
    37073707
    37083708
    3709 void * COINLINKAGE
     3709void * CBC_LINKAGE
    37103710Cbc_getSolverPtr(Cbc_Model *model) {
    37113711  return model->solver_;
    37123712}
    37133713
    3714 void COINLINKAGE
     3714void CBC_LINKAGE
    37153715Cbc_setDualPivot(Cbc_Model *model, enum DualPivot dp ) {
    37163716  model->dualp = dp;
    37173717}
    37183718
    3719 double COINLINKAGE
     3719double CBC_LINKAGE
    37203720Cbc_getMaximumSeconds(Cbc_Model *model)
    37213721{
     
    37233723}
    37243724
    3725 void COINLINKAGE
     3725void CBC_LINKAGE
    37263726Cbc_setMaximumSeconds(Cbc_Model *model, double maxSeconds)
    37273727{
     
    37293729}
    37303730
    3731 void COINLINKAGE
     3731void CBC_LINKAGE
    37323732Cbc_storeNameIndexes(Cbc_Model *model, char _store)
    37333733{
     
    37563756}
    37573757
    3758 int COINLINKAGE
     3758int CBC_LINKAGE
    37593759Cbc_getColNameIndex(Cbc_Model *model, const char *name)
    37603760{
     
    37733773}
    37743774
    3775 int COINLINKAGE
     3775int CBC_LINKAGE
    37763776Cbc_getRowNameIndex(Cbc_Model *model, const char *name)
    37773777{
  • trunk/src/Cbc_C_Interface.h

    r2958 r2959  
    1212#include "Coin_C_defines.h"
    1313#include "CbcSolverConfig.h"
     14
     15#ifdef _MSC_VER
     16#define CBC_LINKAGE __stdcall
     17#define CBC_LINKAGE_CB __cdecl
     18#else
     19#define CBC_LINKAGE
     20#define CBC_LINKAGE_CB
     21#endif
    1422
    1523#include <stddef.h>
     
    106114/** typedef for cbc callback to monitor the progress of the search
    107115 * in terms of improved upper and lower bounds */
    108 typedef int(COINLINKAGE_CB *cbc_progress_callback)(void *model,
     116typedef int(CBC_LINKAGE_CB *cbc_progress_callback)(void *model,
    109117                                                   int phase,
    110118                                                   int step,
     
    121129/** typedef for cbc callback to monitor the discovery
    122130 * of new integer feasible solutions */
    123 typedef int (COINLINKAGE_CB *cbc_incumbent_callback)(void *cbcModel, double obj, int nz, char **vnames, double *x, void *appData);
    124 
    125 typedef void(COINLINKAGE_CB *cbc_callback)(Cbc_Model *model, int msgno, int ndouble,
     131typedef int (CBC_LINKAGE_CB *cbc_incumbent_callback)(void *cbcModel, double obj, int nz, char **vnames, double *x, void *appData);
     132
     133typedef void(CBC_LINKAGE_CB *cbc_callback)(Cbc_Model *model, int msgno, int ndouble,
    126134  const double *dvec, int nint, const int *ivec,
    127135  int nchar, char **cvec);
     
    144152 *
    145153 **/
    146 typedef void(COINLINKAGE_CB *cbc_cut_callback)(void *osiSolver, void *osiCuts, void *appdata);
     154typedef void(CBC_LINKAGE_CB *cbc_cut_callback)(void *osiSolver, void *osiCuts, void *appdata);
    147155
    148156/** Current version of Cbc */
    149 CBCSOLVERLIB_EXPORT const char *COINLINKAGE Cbc_getVersion(void);
     157CBCSOLVERLIB_EXPORT const char *CBC_LINKAGE Cbc_getVersion(void);
    150158
    151159/** \name Problem creation and modification routines */
    152160
    153161/** @brief Creates an empty problem */
    154 CBCSOLVERLIB_EXPORT Cbc_Model *COINLINKAGE
     162CBCSOLVERLIB_EXPORT Cbc_Model *CBC_LINKAGE
    155163Cbc_newModel(void);
    156164
     
    160168   * @param array string with problem name
    161169   **/
    162 CBCSOLVERLIB_EXPORT int COINLINKAGE
     170CBCSOLVERLIB_EXPORT int CBC_LINKAGE
    163171Cbc_setProblemName(Cbc_Model *model, const char *array);
    164172
     
    170178 * @param store: 1 maintain indexes of column and constraints names for searching indexes, 0 not
    171179 **/
    172 CBCSOLVERLIB_EXPORT void COINLINKAGE
     180CBCSOLVERLIB_EXPORT void CBC_LINKAGE
    173181Cbc_storeNameIndexes(Cbc_Model *model, char _store);
    174182
     
    187195  * @param coefs coefficients that this column appears in its rows, NULL if rows will be added later
    188196  ***/
    189 CBCSOLVERLIB_EXPORT void COINLINKAGE
     197CBCSOLVERLIB_EXPORT void CBC_LINKAGE
    190198Cbc_addCol(Cbc_Model *model, const char *name, double lb,
    191199  double ub, double obj, char isInteger,
     
    201209  *  @param cols Vector with indexes of columns that will be deleted
    202210  * */
    203 CBCSOLVERLIB_EXPORT void COINLINKAGE
     211CBCSOLVERLIB_EXPORT void CBC_LINKAGE
    204212Cbc_deleteCols(Cbc_Model *model, int numCols, const int cols[]);
    205213
     
    216224  *  @param rhs right hand size
    217225  * */
    218 CBCSOLVERLIB_EXPORT void COINLINKAGE
     226CBCSOLVERLIB_EXPORT void CBC_LINKAGE
    219227Cbc_addRow(Cbc_Model *model, const char *name, int nz,
    220228  const int *cols, const double *coefs, char sense, double rhs);
     
    228236 *
    229237 **/
    230 CBCSOLVERLIB_EXPORT void COINLINKAGE
     238CBCSOLVERLIB_EXPORT void CBC_LINKAGE
    231239Cbc_addLazyConstraint(Cbc_Model *model, int nz,
    232240  int *cols, double *coefs, char sense, double rhs);
     
    240248 *  @param rows rows to be deleted
    241249 * */
    242 CBCSOLVERLIB_EXPORT void COINLINKAGE
     250CBCSOLVERLIB_EXPORT void CBC_LINKAGE
    243251Cbc_deleteRows(Cbc_Model *model, int numRows, const int rows[]);
    244252
    245253/** @brief Add SOS constraints to the model using row-order matrix */
    246 CBCSOLVERLIB_EXPORT void COINLINKAGE
     254CBCSOLVERLIB_EXPORT void CBC_LINKAGE
    247255Cbc_addSOS(Cbc_Model *model, int numRows, const int *rowStarts,
    248256  const int *colIndices, const double *weights, const int type);
     
    267275       </ul>
    268276  */
    269 CBCSOLVERLIB_EXPORT void COINLINKAGE
     277CBCSOLVERLIB_EXPORT void CBC_LINKAGE
    270278Cbc_loadProblem(Cbc_Model *model, const int numcols, const int numrows,
    271279  const CoinBigIndex *start, const int *index,
     
    281289  * @param column name
    282290  **/
    283 CBCSOLVERLIB_EXPORT void COINLINKAGE
     291CBCSOLVERLIB_EXPORT void CBC_LINKAGE
    284292Cbc_setColName(Cbc_Model *model, int iColumn, const char *name);
    285293
     
    290298  * @param name row name
    291299  **/
    292 CBCSOLVERLIB_EXPORT void COINLINKAGE
     300CBCSOLVERLIB_EXPORT void CBC_LINKAGE
    293301Cbc_setRowName(Cbc_Model *model, int iRow, const char *name);
    294302
     
    298306  * @param sense: direction of optimization (1 - minimize, -1 - maximize, 0 - ignore)
    299307  **/
    300 CBCSOLVERLIB_EXPORT void COINLINKAGE
     308CBCSOLVERLIB_EXPORT void CBC_LINKAGE
    301309Cbc_setObjSense(Cbc_Model *model, double sense);
    302310
     
    307315  * @param value new row lower bound
    308316  **/
    309 CBCSOLVERLIB_EXPORT void COINLINKAGE
     317CBCSOLVERLIB_EXPORT void CBC_LINKAGE
    310318Cbc_setRowLower(Cbc_Model *model, int index, double value);
    311319
     
    316324  * @param value new row upper bound
    317325  **/
    318 CBCSOLVERLIB_EXPORT void COINLINKAGE
     326CBCSOLVERLIB_EXPORT void CBC_LINKAGE
    319327Cbc_setRowUpper(Cbc_Model *model, int index, double value);
    320328
     
    325333  * @param rhs value of the new RHS
    326334  **/
    327 CBCSOLVERLIB_EXPORT void COINLINKAGE
     335CBCSOLVERLIB_EXPORT void CBC_LINKAGE
    328336Cbc_setRowRHS(Cbc_Model *model, int row, double rhs);
    329337
     
    334342  * @param value new objective function coefficient for this variable
    335343  **/
    336 CBCSOLVERLIB_EXPORT void COINLINKAGE
     344CBCSOLVERLIB_EXPORT void CBC_LINKAGE
    337345Cbc_setObjCoeff(Cbc_Model *model, int index, double value);
    338346
     
    343351  * @param value variable lower bound
    344352  **/
    345 CBCSOLVERLIB_EXPORT void COINLINKAGE
     353CBCSOLVERLIB_EXPORT void CBC_LINKAGE
    346354Cbc_setColLower(Cbc_Model *model, int index, double value);
    347355
     
    352360  * @param value new variable upper bound
    353361  **/
    354 CBCSOLVERLIB_EXPORT void COINLINKAGE
     362CBCSOLVERLIB_EXPORT void CBC_LINKAGE
    355363Cbc_setColUpper(Cbc_Model *model, int index, double value);
    356364
     
    360368  * @param iColumn column index
    361369  **/
    362 CBCSOLVERLIB_EXPORT void COINLINKAGE
     370CBCSOLVERLIB_EXPORT void CBC_LINKAGE
    363371Cbc_setContinuous(Cbc_Model *model, int iColumn);
    364372
     
    368376  * @param iColumn column index
    369377  **/
    370 CBCSOLVERLIB_EXPORT void COINLINKAGE
     378CBCSOLVERLIB_EXPORT void CBC_LINKAGE
    371379Cbc_setInteger(Cbc_Model *model, int iColumn);
    372380
     
    374382  *
    375383  * @param model problem object */
    376 CBCSOLVERLIB_EXPORT void COINLINKAGE
     384CBCSOLVERLIB_EXPORT void CBC_LINKAGE
    377385Cbc_deleteModel(Cbc_Model *model);
    378386
     
    390398  *
    391399  **/
    392 CBCSOLVERLIB_EXPORT void COINLINKAGE
     400CBCSOLVERLIB_EXPORT void CBC_LINKAGE
    393401Cbc_setMIPStart(Cbc_Model *model, int count, const char **colNames, const double colValues[]);
    394402
     
    406414  *
    407415  **/
    408 CBCSOLVERLIB_EXPORT void COINLINKAGE
     416CBCSOLVERLIB_EXPORT void CBC_LINKAGE
    409417Cbc_setMIPStartI(Cbc_Model *model, int count, const int colIdxs[], const double colValues[]);
    410418
     
    419427  * @param fileName problem object
    420428  **/
    421 CBCSOLVERLIB_EXPORT void COINLINKAGE
     429CBCSOLVERLIB_EXPORT void CBC_LINKAGE
    422430Cbc_readMIPStart(Cbc_Model *model, const char fileName[]);
    423431
     
    427435  * @return model copy
    428436  **/
    429 CBCSOLVERLIB_EXPORT Cbc_Model *COINLINKAGE
     437CBCSOLVERLIB_EXPORT Cbc_Model *CBC_LINKAGE
    430438Cbc_clone(Cbc_Model *model);
    431439
     
    439447  * @param array string where problem name will be saved
    440448  **/
    441 CBCSOLVERLIB_EXPORT void COINLINKAGE
     449CBCSOLVERLIB_EXPORT void CBC_LINKAGE
    442450Cbc_problemName(Cbc_Model *model, int maxNumberCharacters, char *array);
    443451
     
    447455  * @return number of non-zero entries in constraint matrix
    448456  **/
    449 CBCSOLVERLIB_EXPORT int COINLINKAGE
     457CBCSOLVERLIB_EXPORT int CBC_LINKAGE
    450458Cbc_getNumElements(Cbc_Model *model);
    451459
     
    455463  * @return number of columns (variables)
    456464  **/
    457 CBCSOLVERLIB_EXPORT int COINLINKAGE
     465CBCSOLVERLIB_EXPORT int CBC_LINKAGE
    458466Cbc_getNumCols(Cbc_Model *model);
    459467
     
    463471  * @return number of integer variables in this model
    464472  **/
    465 CBCSOLVERLIB_EXPORT int COINLINKAGE
     473CBCSOLVERLIB_EXPORT int CBC_LINKAGE
    466474Cbc_getNumIntegers(Cbc_Model *model);
    467475
     
    470478  * @return number of rows (constraints) in the model
    471479  **/
    472 CBCSOLVERLIB_EXPORT int COINLINKAGE
     480CBCSOLVERLIB_EXPORT int CBC_LINKAGE
    473481Cbc_getNumRows(Cbc_Model *model);
    474482
     
    480488  * @param string where row name will be stored
    481489  **/
    482 CBCSOLVERLIB_EXPORT void COINLINKAGE
     490CBCSOLVERLIB_EXPORT void CBC_LINKAGE
    483491Cbc_getRowName(Cbc_Model *model, int iRow, char *name, size_t maxLength);
    484492
     
    490498  * @param maxLength maximum length of name string
    491499  **/
    492 CBCSOLVERLIB_EXPORT void COINLINKAGE
     500CBCSOLVERLIB_EXPORT void CBC_LINKAGE
    493501Cbc_getColName(Cbc_Model *model, int iColumn, char *name, size_t maxLength);
    494502
     
    501509 * @return column index or -1 if not found
    502510 **/
    503 CBCSOLVERLIB_EXPORT int COINLINKAGE
     511CBCSOLVERLIB_EXPORT int CBC_LINKAGE
    504512Cbc_getColNameIndex(Cbc_Model *model, const char *name);
    505513
     
    512520 * @return row index or -1 if not found
    513521 **/
    514 CBCSOLVERLIB_EXPORT int COINLINKAGE
     522CBCSOLVERLIB_EXPORT int CBC_LINKAGE
    515523Cbc_getRowNameIndex(Cbc_Model *model, const char *name);
    516524
     
    521529  * @return number of non-zero entries in row
    522530  **/
    523 CBCSOLVERLIB_EXPORT int COINLINKAGE
     531CBCSOLVERLIB_EXPORT int CBC_LINKAGE
    524532Cbc_getRowNz(Cbc_Model *model, int row);
    525533
     
    530538  * @return vector with indexes of columns that appear on this row
    531539  **/
    532 CBCSOLVERLIB_EXPORT const int *COINLINKAGE
     540CBCSOLVERLIB_EXPORT const int *CBC_LINKAGE
    533541Cbc_getRowIndices(Cbc_Model *model, int row);
    534542
     
    539547  * @return coefficients of variables that appear on this row
    540548  **/
    541 CBCSOLVERLIB_EXPORT const double *COINLINKAGE
     549CBCSOLVERLIB_EXPORT const double *CBC_LINKAGE
    542550Cbc_getRowCoeffs(Cbc_Model *model, int row);
    543551
     
    548556  * @return numbef of rows that this column appears
    549557  **/
    550 CBCSOLVERLIB_EXPORT int COINLINKAGE
     558CBCSOLVERLIB_EXPORT int CBC_LINKAGE
    551559Cbc_getColNz(Cbc_Model *model, int col);
    552560
     
    557565  * @return indices of rows that this column appears
    558566  **/
    559 CBCSOLVERLIB_EXPORT const int *COINLINKAGE
     567CBCSOLVERLIB_EXPORT const int *CBC_LINKAGE
    560568Cbc_getColIndices(Cbc_Model *model, int col);
    561569
     
    566574  * @return coefficients of this column in rows
    567575  **/
    568 CBCSOLVERLIB_EXPORT const double *COINLINKAGE
     576CBCSOLVERLIB_EXPORT const double *CBC_LINKAGE
    569577Cbc_getColCoeffs(Cbc_Model *model, int col);
    570578
     
    575583  * @return row right hand side
    576584  **/
    577 CBCSOLVERLIB_EXPORT double COINLINKAGE
     585CBCSOLVERLIB_EXPORT double CBC_LINKAGE
    578586Cbc_getRowRHS(Cbc_Model *model, int row);
    579587
     
    584592  * @return row sense: E for =, L for <=, G for >= and R for ranged row
    585593  **/
    586 CBCSOLVERLIB_EXPORT char COINLINKAGE
     594CBCSOLVERLIB_EXPORT char CBC_LINKAGE
    587595Cbc_getRowSense(Cbc_Model *model, int row);
    588596
     
    592600  * @return Direction of optimization (1 - minimize, -1 - maximize, 0 - ignore)
    593601  **/
    594 CBCSOLVERLIB_EXPORT double COINLINKAGE
     602CBCSOLVERLIB_EXPORT double CBC_LINKAGE
    595603Cbc_getObjSense(Cbc_Model *model);
    596604
     
    600608  * @return vector with lower bounds of constraints
    601609  **/
    602 CBCSOLVERLIB_EXPORT const double *COINLINKAGE
     610CBCSOLVERLIB_EXPORT const double *CBC_LINKAGE
    603611Cbc_getRowLower(Cbc_Model *model);
    604612
     
    608616 * @return constraint upper bounds
    609617 **/
    610 CBCSOLVERLIB_EXPORT const double *COINLINKAGE
     618CBCSOLVERLIB_EXPORT const double *CBC_LINKAGE
    611619Cbc_getRowUpper(Cbc_Model *model);
    612620
     
    616624  * @return vector with coefficients of variables in the objective function
    617625  **/
    618 CBCSOLVERLIB_EXPORT const double *COINLINKAGE
     626CBCSOLVERLIB_EXPORT const double *CBC_LINKAGE
    619627Cbc_getObjCoefficients(Cbc_Model *model);
    620628
     
    624632  * @return vector with lower bounds of variables
    625633  **/
    626 CBCSOLVERLIB_EXPORT const double *COINLINKAGE
     634CBCSOLVERLIB_EXPORT const double *CBC_LINKAGE
    627635Cbc_getColLower(Cbc_Model *model);
    628636
     
    632640  * @return vector with column upper bounds
    633641  **/
    634 CBCSOLVERLIB_EXPORT const double *COINLINKAGE
     642CBCSOLVERLIB_EXPORT const double *CBC_LINKAGE
    635643Cbc_getColUpper(Cbc_Model *model);
    636644
     
    641649  * @return 1 if variable is integer, 0 otherwise
    642650  **/
    643 CBCSOLVERLIB_EXPORT int COINLINKAGE
     651CBCSOLVERLIB_EXPORT int CBC_LINKAGE
    644652Cbc_isInteger(Cbc_Model *model, int i);
    645653
     
    652660  * @param fileName file name
    653661  **/
    654 CBCSOLVERLIB_EXPORT int COINLINKAGE
     662CBCSOLVERLIB_EXPORT int CBC_LINKAGE
    655663Cbc_readMps(Cbc_Model *model, const char *filename);
    656664
     
    660668  * @param fileName file name
    661669  **/
    662 CBCSOLVERLIB_EXPORT int COINLINKAGE
     670CBCSOLVERLIB_EXPORT int CBC_LINKAGE
    663671Cbc_readLp(Cbc_Model *model, const char *filename);
    664672
     
    668676  * @param fileName file name
    669677  **/
    670 CBCSOLVERLIB_EXPORT void COINLINKAGE
     678CBCSOLVERLIB_EXPORT void CBC_LINKAGE
    671679Cbc_writeMps(Cbc_Model *model, const char *filename);
    672680
     
    676684  * @param fileName file name
    677685  **/
    678 CBCSOLVERLIB_EXPORT void COINLINKAGE
     686CBCSOLVERLIB_EXPORT void CBC_LINKAGE
    679687Cbc_writeLp(Cbc_Model *model, const char *filename);
    680688
     
    683691  * @return 1 if yes, 0 otherwise
    684692  **/
    685 CBCSOLVERLIB_EXPORT char COINLINKAGE
     693CBCSOLVERLIB_EXPORT char CBC_LINKAGE
    686694Cbc_supportsGzip();
    687695
     
    690698  * @return 1 if yes, 0 otherwise
    691699  **/
    692 CBCSOLVERLIB_EXPORT char COINLINKAGE
     700CBCSOLVERLIB_EXPORT char CBC_LINKAGE
    693701Cbc_supportsBzip2();
    694702
     
    706714     Note that feasibility of the solution is *not* verified.
    707715    */
    708 CBCSOLVERLIB_EXPORT void COINLINKAGE
     716CBCSOLVERLIB_EXPORT void CBC_LINKAGE
    709717Cbc_setInitialSolution(Cbc_Model *model, const double *sol);
    710718
    711719/** "Column start" vector of constraint matrix. Same format as Cbc_loadProblem() */
    712 CBCSOLVERLIB_EXPORT const CoinBigIndex *COINLINKAGE
     720CBCSOLVERLIB_EXPORT const CoinBigIndex *CBC_LINKAGE
    713721Cbc_getVectorStarts(Cbc_Model *model);
    714722/** "Row index" vector of constraint matrix */
    715 CBCSOLVERLIB_EXPORT const int *COINLINKAGE
     723CBCSOLVERLIB_EXPORT const int *CBC_LINKAGE
    716724
    717725Cbc_getIndices(Cbc_Model *model);
    718726
    719727/** Coefficient vector of constraint matrix */
    720 CBCSOLVERLIB_EXPORT const double *COINLINKAGE
     728CBCSOLVERLIB_EXPORT const double *CBC_LINKAGE
    721729Cbc_getElements(Cbc_Model *model);
    722730
    723731/** Maximum lenght of a row or column name */
    724 CBCSOLVERLIB_EXPORT size_t COINLINKAGE
     732CBCSOLVERLIB_EXPORT size_t CBC_LINKAGE
    725733Cbc_maxNameLength(Cbc_Model *model);
    726734
     
    737745 *
    738746 **/
    739 CBCSOLVERLIB_EXPORT void COINLINKAGE
     747CBCSOLVERLIB_EXPORT void CBC_LINKAGE
    740748Cbc_setParameter(Cbc_Model *model, const char *name, const char *value);
    741749
     
    747755 *
    748756 **/
    749 CBCSOLVERLIB_EXPORT void COINLINKAGE
     757CBCSOLVERLIB_EXPORT void CBC_LINKAGE
    750758Cbc_setIntParam(Cbc_Model *model, enum IntParam which, const int val);
    751759
     
    757765 *
    758766 **/
    759 CBCSOLVERLIB_EXPORT void COINLINKAGE
     767CBCSOLVERLIB_EXPORT void CBC_LINKAGE
    760768Cbc_setDblParam(Cbc_Model *model, enum DblParam which, const double val);
    761769
     
    770778 *         the gap decrease to a smaller value the search is concluded
    771779 */
    772 CBCSOLVERLIB_EXPORT double COINLINKAGE
     780CBCSOLVERLIB_EXPORT double CBC_LINKAGE
    773781Cbc_getAllowableGap(Cbc_Model *model);
    774782
     
    780788 */
    781789
    782 CBCSOLVERLIB_EXPORT void COINLINKAGE
     790CBCSOLVERLIB_EXPORT void CBC_LINKAGE
    783791Cbc_setAllowableGap(Cbc_Model *model, double allowedGap);
    784792
    785793/** returns the allowable fraction gap
    786794 */
    787 CBCSOLVERLIB_EXPORT double COINLINKAGE
     795CBCSOLVERLIB_EXPORT double CBC_LINKAGE
    788796Cbc_getAllowableFractionGap(Cbc_Model *model);
    789797
    790798/** sets the allowable fraction gap
    791799 */
    792 CBCSOLVERLIB_EXPORT void COINLINKAGE
     800CBCSOLVERLIB_EXPORT void CBC_LINKAGE
    793801Cbc_setAllowableFractionGap(Cbc_Model *model, double allowedFracionGap);
    794802
    795803/** gets the tolerance for infeasibility in the LP solver
    796804 */
    797 CBCSOLVERLIB_EXPORT double COINLINKAGE
     805CBCSOLVERLIB_EXPORT double CBC_LINKAGE
    798806Cbc_getPrimalTolerance(Cbc_Model *model);
    799807
    800808/** sets the tolerance for infeasibility in the LP solver
    801809 */
    802 CBCSOLVERLIB_EXPORT void COINLINKAGE
     810CBCSOLVERLIB_EXPORT void CBC_LINKAGE
    803811Cbc_setPrimalTolerance(Cbc_Model *model, double tol);
    804812
    805813/** gets the tolerance for optimality in the LP solver
    806814 */
    807 CBCSOLVERLIB_EXPORT double COINLINKAGE
     815CBCSOLVERLIB_EXPORT double CBC_LINKAGE
    808816Cbc_getDualTolerance(Cbc_Model *model);
    809817
    810818/** sets the tolerance for optimality in the LP solver
    811819 */
    812 CBCSOLVERLIB_EXPORT void COINLINKAGE
     820CBCSOLVERLIB_EXPORT void CBC_LINKAGE
    813821Cbc_setDualTolerance(Cbc_Model *model, double tol);
    814822
    815823/** returns the time limit for the search process
    816824 */
    817 CBCSOLVERLIB_EXPORT double COINLINKAGE
     825CBCSOLVERLIB_EXPORT double CBC_LINKAGE
    818826Cbc_getMaximumSeconds(Cbc_Model *model);
    819827
    820828/** sets the time limit for the search process
    821829 */
    822 CBCSOLVERLIB_EXPORT void COINLINKAGE
     830CBCSOLVERLIB_EXPORT void CBC_LINKAGE
    823831Cbc_setMaximumSeconds(Cbc_Model *model, double maxSeconds);
    824832
    825833/** returns the maximum number of nodes that can be explored in the search tree
    826834 */
    827 CBCSOLVERLIB_EXPORT int COINLINKAGE
     835CBCSOLVERLIB_EXPORT int CBC_LINKAGE
    828836Cbc_getMaximumNodes(Cbc_Model *model);
    829837
    830838/** sets the maximum number of nodes that can be explored in the search tree
    831839 */
    832 CBCSOLVERLIB_EXPORT void COINLINKAGE
     840CBCSOLVERLIB_EXPORT void CBC_LINKAGE
    833841Cbc_setMaximumNodes(Cbc_Model *model, int maxNodes);
    834842
    835843/** returns solution limit for the search process
    836844 */
    837 CBCSOLVERLIB_EXPORT int COINLINKAGE
     845CBCSOLVERLIB_EXPORT int CBC_LINKAGE
    838846Cbc_getMaximumSolutions(Cbc_Model *model);
    839847
    840848/** sets a solution limit as a stopping criterion
    841849 */
    842 CBCSOLVERLIB_EXPORT void COINLINKAGE
     850CBCSOLVERLIB_EXPORT void CBC_LINKAGE
    843851Cbc_setMaximumSolutions(Cbc_Model *model, int maxSolutions);
    844852
    845853/** returns the current log leven
    846854 */
    847 CBCSOLVERLIB_EXPORT int COINLINKAGE
     855CBCSOLVERLIB_EXPORT int CBC_LINKAGE
    848856Cbc_getLogLevel(Cbc_Model *model);
    849857
    850858/** sets the log level
    851859 */
    852 CBCSOLVERLIB_EXPORT void COINLINKAGE
     860CBCSOLVERLIB_EXPORT void CBC_LINKAGE
    853861Cbc_setLogLevel(Cbc_Model *model, int logLevel);
    854862
    855863/** returns the cutoff
    856864 */
    857 CBCSOLVERLIB_EXPORT double COINLINKAGE
     865CBCSOLVERLIB_EXPORT double CBC_LINKAGE
    858866Cbc_getCutoff(Cbc_Model *model);
    859867
    860868/** sets the cutoff
    861869 */
    862 CBCSOLVERLIB_EXPORT void COINLINKAGE
     870CBCSOLVERLIB_EXPORT void CBC_LINKAGE
    863871Cbc_setCutoff(Cbc_Model *model, double cutoff);
    864872
    865873/** sets which method will be used to solve the linear programming problem
    866874 */
    867 CBCSOLVERLIB_EXPORT void COINLINKAGE
     875CBCSOLVERLIB_EXPORT void CBC_LINKAGE
    868876Cbc_setLPmethod(Cbc_Model *model, enum LPMethod lpm );
    869877
     
    871879 * containing the problem
    872880 */
    873 CBCSOLVERLIB_EXPORT void * COINLINKAGE
     881CBCSOLVERLIB_EXPORT void * CBC_LINKAGE
    874882Cbc_getSolverPtr(Cbc_Model *model);
    875883
     
    877885/** sets which pivotting method should be used in the dual simplex
    878886 */
    879 CBCSOLVERLIB_EXPORT void COINLINKAGE
     887CBCSOLVERLIB_EXPORT void CBC_LINKAGE
    880888Cbc_setDualPivot(Cbc_Model *model, enum DualPivot dp );
    881889
     
    885893/** Pass in Callback function.
    886894     Message numbers up to 1000000 are Clp, Coin ones have 1000000 added */
    887 CBCSOLVERLIB_EXPORT void COINLINKAGE
     895CBCSOLVERLIB_EXPORT void CBC_LINKAGE
    888896Cbc_registerCallBack(Cbc_Model *model,
    889897  cbc_callback userCallBack);
    890898
    891899/** Unset Callback function */
    892 CBCSOLVERLIB_EXPORT void COINLINKAGE
     900CBCSOLVERLIB_EXPORT void CBC_LINKAGE
    893901Cbc_clearCallBack(Cbc_Model *model);
    894902
     
    904912 * @param atSolution if the cut generator must to be called also when an integer solution if found (=1) or zero otherwise
    905913 **/
    906 CBCSOLVERLIB_EXPORT void COINLINKAGE Cbc_addCutCallback(
     914CBCSOLVERLIB_EXPORT void CBC_LINKAGE Cbc_addCutCallback(
    907915    Cbc_Model *model,
    908916    cbc_cut_callback cutcb,
     
    913921
    914922/** callback to monitor new incumbent solutions **/
    915 CBCSOLVERLIB_EXPORT void COINLINKAGE Cbc_addIncCallback(
     923CBCSOLVERLIB_EXPORT void CBC_LINKAGE Cbc_addIncCallback(
    916924    Cbc_Model *model, cbc_incumbent_callback inccb,
    917925    void *appData );
     
    919927/** callback to monitor improvements in lower or upper
    920928 * bounds */
    921 CBCSOLVERLIB_EXPORT void COINLINKAGE Cbc_addProgrCallback(
     929CBCSOLVERLIB_EXPORT void CBC_LINKAGE Cbc_addProgrCallback(
    922930  Cbc_Model *model, cbc_progress_callback prgcbc,
    923931  void *appData);
     
    938946   *   5  event user programmed event occurred
    939947   **/
    940 CBCSOLVERLIB_EXPORT int COINLINKAGE
     948CBCSOLVERLIB_EXPORT int CBC_LINKAGE
    941949Cbc_solve(Cbc_Model *model);
    942950
     
    950958  *   3  unbounded
    951959  **/
    952 CBCSOLVERLIB_EXPORT int COINLINKAGE
     960CBCSOLVERLIB_EXPORT int CBC_LINKAGE
    953961Cbc_solveLinearProgram(Cbc_Model *model);
    954962
     
    964972  * @return vector with best solution found
    965973  **/
    966 CBCSOLVERLIB_EXPORT const double *COINLINKAGE
     974CBCSOLVERLIB_EXPORT const double *CBC_LINKAGE
    967975Cbc_getColSolution(Cbc_Model *model);
    968976
     
    972980  * @return best possible cost (lower bound)
    973981  **/
    974 CBCSOLVERLIB_EXPORT double COINLINKAGE
     982CBCSOLVERLIB_EXPORT double CBC_LINKAGE
    975983Cbc_getBestPossibleObjValue(Cbc_Model *model);
    976984
     
    982990  * @return vector with the best solution found or NULL if no feasible solution was found
    983991  **/
    984 CBCSOLVERLIB_EXPORT const double *COINLINKAGE
     992CBCSOLVERLIB_EXPORT const double *CBC_LINKAGE
    985993Cbc_bestSolution(Cbc_Model *model);
    986994
     
    990998  * @return number of saved solutions
    991999  **/
    992 CBCSOLVERLIB_EXPORT int COINLINKAGE
     1000CBCSOLVERLIB_EXPORT int CBC_LINKAGE
    9931001Cbc_numberSavedSolutions(Cbc_Model *model);
    9941002
     
    9991007  * @return vector with integer feasible solution
    10001008  **/
    1001 CBCSOLVERLIB_EXPORT const double *COINLINKAGE
     1009CBCSOLVERLIB_EXPORT const double *CBC_LINKAGE
    10021010Cbc_savedSolution(Cbc_Model *model, int whichSol);
    10031011
     
    10081016  * @return solution cost
    10091017  **/
    1010 CBCSOLVERLIB_EXPORT double COINLINKAGE
     1018CBCSOLVERLIB_EXPORT double CBC_LINKAGE
    10111019Cbc_savedSolutionObj(Cbc_Model *model, int whichSol);
    10121020
     
    10161024  * @return reduced cost vector
    10171025  **/
    1018 CBCSOLVERLIB_EXPORT const double *COINLINKAGE
     1026CBCSOLVERLIB_EXPORT const double *CBC_LINKAGE
    10191027Cbc_getReducedCost(Cbc_Model *model);
    10201028
     
    10241032  * @return reduced cost vector
    10251033   */
    1026 CBCSOLVERLIB_EXPORT const double *COINLINKAGE
     1034CBCSOLVERLIB_EXPORT const double *CBC_LINKAGE
    10271035Cbc_getRowPrice(Cbc_Model *model);
    10281036
     
    10321040  * @returns 1 if numerical difficulties interrupted the optimization, 0 otherwise
    10331041  * */
    1034 CBCSOLVERLIB_EXPORT int COINLINKAGE
     1042CBCSOLVERLIB_EXPORT int CBC_LINKAGE
    10351043Cbc_isAbandoned(Cbc_Model *model);
    10361044
     
    10401048  * @return 1 if optimal solution was found, 0 otherwise
    10411049  **/
    1042 CBCSOLVERLIB_EXPORT int COINLINKAGE
     1050CBCSOLVERLIB_EXPORT int CBC_LINKAGE
    10431051Cbc_isProvenOptimal(Cbc_Model *model);
    10441052
     
    10511059  * @return 1 if model is infeasible, 0 otherwise
    10521060  **/
    1053 CBCSOLVERLIB_EXPORT int COINLINKAGE
     1061CBCSOLVERLIB_EXPORT int CBC_LINKAGE
    10541062Cbc_isProvenInfeasible(Cbc_Model *model);
    10551063
     
    10591067    * @return 1 if model is unbounded, 0 otherwise
    10601068    * */
    1061 CBCSOLVERLIB_EXPORT int COINLINKAGE
     1069CBCSOLVERLIB_EXPORT int CBC_LINKAGE
    10621070Cbc_isContinuousUnbounded(Cbc_Model *model);
    10631071
     
    10671075  * @return cost of the best solution found
    10681076  * */
    1069 CBCSOLVERLIB_EXPORT double COINLINKAGE
     1077CBCSOLVERLIB_EXPORT double CBC_LINKAGE
    10701078Cbc_getObjValue(Cbc_Model *model);
    10711079
     
    10851093  * @return problem status
    10861094  */
    1087 CBCSOLVERLIB_EXPORT int COINLINKAGE Cbc_status(Cbc_Model *model);
     1095CBCSOLVERLIB_EXPORT int CBC_LINKAGE Cbc_status(Cbc_Model *model);
    10881096
    10891097/** @brief Secondary status of problem
     
    11051113  *  @return optimization status
    11061114  */
    1107 CBCSOLVERLIB_EXPORT int COINLINKAGE
     1115CBCSOLVERLIB_EXPORT int CBC_LINKAGE
    11081116Cbc_secondaryStatus(Cbc_Model *model);
    11091117
    11101118/** Number of iterations */
    1111 CBCSOLVERLIB_EXPORT int COINLINKAGE
     1119CBCSOLVERLIB_EXPORT int CBC_LINKAGE
    11121120Cbc_getIterationCount(Cbc_Model *model);
    11131121
    11141122/** Node limit reached? */
    1115 CBCSOLVERLIB_EXPORT int COINLINKAGE
     1123CBCSOLVERLIB_EXPORT int CBC_LINKAGE
    11161124Cbc_isNodeLimitReached(Cbc_Model *model);
    11171125
    11181126/** Time limit reached? */
    1119 CBCSOLVERLIB_EXPORT int COINLINKAGE
     1127CBCSOLVERLIB_EXPORT int CBC_LINKAGE
    11201128Cbc_isSecondsLimitReached(Cbc_Model *model);
    11211129
    11221130/** Solution limit reached? */
    1123 CBCSOLVERLIB_EXPORT int COINLINKAGE
     1131CBCSOLVERLIB_EXPORT int CBC_LINKAGE
    11241132Cbc_isSolutionLimitReached(Cbc_Model *model);
    11251133
    11261134/** Are there numerical difficulties (for initialSolve) ? */
    1127 CBCSOLVERLIB_EXPORT int COINLINKAGE
     1135CBCSOLVERLIB_EXPORT int CBC_LINKAGE
    11281136Cbc_isInitialSolveAbandoned(Cbc_Model *model);
    11291137
    11301138/** Is optimality proven (for initialSolve) ? */
    1131 CBCSOLVERLIB_EXPORT int COINLINKAGE
     1139CBCSOLVERLIB_EXPORT int CBC_LINKAGE
    11321140Cbc_isInitialSolveProvenOptimal(Cbc_Model *model);
    11331141
    11341142/** Is primal infeasiblity proven (for initialSolve) ? */
    1135 CBCSOLVERLIB_EXPORT int COINLINKAGE
     1143CBCSOLVERLIB_EXPORT int CBC_LINKAGE
    11361144Cbc_isInitialSolveProvenPrimalInfeasible(Cbc_Model *model);
    11371145
     
    11391147  *  This is the vector A*x, where A is the constraint matrix
    11401148  *  and x is the current solution. */
    1141 CBCSOLVERLIB_EXPORT const double *COINLINKAGE
     1149CBCSOLVERLIB_EXPORT const double *CBC_LINKAGE
    11421150Cbc_getRowActivity(Cbc_Model *model);
    11431151
    11441152/** Number of nodes explored in B&B tree */
    1145 CBCSOLVERLIB_EXPORT int COINLINKAGE
     1153CBCSOLVERLIB_EXPORT int CBC_LINKAGE
    11461154Cbc_getNodeCount(Cbc_Model *model);
    11471155
     
    11511159
    11521160/** @brief Creates a new OsiClpSolverInterface and returns a pointer to an OsiSolverInterface object */
    1153 CBCSOLVERLIB_EXPORT void * COINLINKAGE
     1161CBCSOLVERLIB_EXPORT void * CBC_LINKAGE
    11541162Osi_newSolver();
    11551163
    11561164/** @brief Solves initial LP relaxation */
    1157 CBCSOLVERLIB_EXPORT void COINLINKAGE
     1165CBCSOLVERLIB_EXPORT void CBC_LINKAGE
    11581166Osi_initialSolve(void *osi);
    11591167
    11601168/** @brief Reoptimizes linear program  */
    1161 CBCSOLVERLIB_EXPORT void COINLINKAGE
     1169CBCSOLVERLIB_EXPORT void CBC_LINKAGE
    11621170Osi_resolve(void *osi);
    11631171
    11641172/** @brief Performs branch and bound */
    1165 CBCSOLVERLIB_EXPORT void COINLINKAGE
     1173CBCSOLVERLIB_EXPORT void CBC_LINKAGE
    11661174Osi_branchAndBound(void *osi);
    11671175
    11681176
    11691177/** @brief Checks if optimization was abandoned */
    1170 CBCSOLVERLIB_EXPORT char COINLINKAGE
     1178CBCSOLVERLIB_EXPORT char CBC_LINKAGE
    11711179Osi_isAbandoned(void *osi);
    11721180
    11731181/** @brief Checks if optimal solution was found */
    1174 CBCSOLVERLIB_EXPORT char COINLINKAGE
     1182CBCSOLVERLIB_EXPORT char CBC_LINKAGE
    11751183Osi_isProvenOptimal(void *osi);
    11761184
    11771185/** @brief Checks if problem is primal infeasible */
    1178 CBCSOLVERLIB_EXPORT char COINLINKAGE
     1186CBCSOLVERLIB_EXPORT char CBC_LINKAGE
    11791187Osi_isProvenPrimalInfeasible(void *osi);
    11801188
    11811189/** @brief Checks if problem is dual infeasible */
    1182 CBCSOLVERLIB_EXPORT char COINLINKAGE
     1190CBCSOLVERLIB_EXPORT char CBC_LINKAGE
    11831191Osi_isProvenDualInfeasible(void *osi);
    11841192
    11851193/** @brief Checks if primal objective limit was reached */
    1186 CBCSOLVERLIB_EXPORT char COINLINKAGE
     1194CBCSOLVERLIB_EXPORT char CBC_LINKAGE
    11871195Osi_isPrimalObjectiveLimitReached(void *osi);
    11881196
    11891197/** @brief Checks if dual objective limit was reached */
    1190 CBCSOLVERLIB_EXPORT char COINLINKAGE
     1198CBCSOLVERLIB_EXPORT char CBC_LINKAGE
    11911199Osi_isDualObjectiveLimitReached(void *osi);
    11921200
    11931201/** @brief Checks if iteration limit was reached */
    1194 CBCSOLVERLIB_EXPORT char COINLINKAGE
     1202CBCSOLVERLIB_EXPORT char CBC_LINKAGE
    11951203Osi_isIterationLimitReached(void *osi);
    11961204
    11971205/** @brief Returns number of cols in OsiSolverInterface object */
    1198 CBCSOLVERLIB_EXPORT int COINLINKAGE
     1206CBCSOLVERLIB_EXPORT int CBC_LINKAGE
    11991207Osi_getNumCols( void *osi );
    12001208
    12011209/** @brief Returns column name in OsiSolverInterface object */
    1202 CBCSOLVERLIB_EXPORT void COINLINKAGE
     1210CBCSOLVERLIB_EXPORT void CBC_LINKAGE
    12031211Osi_getColName( void *osi, int i, char *name, int maxLen );
    12041212
    12051213/** @brief Returns column lower bounds in OsiSolverInterface object */
    1206 CBCSOLVERLIB_EXPORT const double * COINLINKAGE
     1214CBCSOLVERLIB_EXPORT const double * CBC_LINKAGE
    12071215Osi_getColLower( void *osi );
    12081216
    12091217/** @brief Returns column upper bounds in OsiSolverInterface object */
    1210 CBCSOLVERLIB_EXPORT const double * COINLINKAGE
     1218CBCSOLVERLIB_EXPORT const double * CBC_LINKAGE
    12111219Osi_getColUpper( void *osi );
    12121220
    12131221/** @brief Returns integrality information for columns in OsiSolverInterface object */
    1214 CBCSOLVERLIB_EXPORT int COINLINKAGE
     1222CBCSOLVERLIB_EXPORT int CBC_LINKAGE
    12151223Osi_isInteger( void *osi, int col );
    12161224
    12171225/** @brief Returns number of rows in OsiSolverInterface object */
    1218 CBCSOLVERLIB_EXPORT int COINLINKAGE
     1226CBCSOLVERLIB_EXPORT int CBC_LINKAGE
    12191227Osi_getNumRows( void *osi );
    12201228
    12211229/** @brief Returns number non-zeros in the constraint matrix */
    1222 CBCSOLVERLIB_EXPORT int COINLINKAGE
     1230CBCSOLVERLIB_EXPORT int CBC_LINKAGE
    12231231Osi_getNumNz( void *osi );
    12241232
    12251233/** @brief Returns number integer/binary variables */
    1226 CBCSOLVERLIB_EXPORT int COINLINKAGE
     1234CBCSOLVERLIB_EXPORT int CBC_LINKAGE
    12271235Osi_getNumIntegers( void *osi );
    12281236
    1229 CBCSOLVERLIB_EXPORT int COINLINKAGE
     1237CBCSOLVERLIB_EXPORT int CBC_LINKAGE
    12301238Osi_getRowNz(void *osi, int row);
    12311239
    12321240/** @brief Indices of variables that appear on a row */
    1233 CBCSOLVERLIB_EXPORT const int *COINLINKAGE
     1241CBCSOLVERLIB_EXPORT const int *CBC_LINKAGE
    12341242Osi_getRowIndices(void *osi, int row);
    12351243
     
    12401248     * @return coefficients of variables that appear on this row
    12411249     **/
    1242 CBCSOLVERLIB_EXPORT const double *COINLINKAGE
     1250CBCSOLVERLIB_EXPORT const double *CBC_LINKAGE
    12431251Osi_getRowCoeffs(void *osi, int row);
    12441252
     
    12491257     * @return row right hand side
    12501258     **/
    1251 CBCSOLVERLIB_EXPORT double COINLINKAGE
     1259CBCSOLVERLIB_EXPORT double CBC_LINKAGE
    12521260Osi_getRowRHS(void *osi, int row);
    12531261
     
    12571265     * @return row sense: E for =, L for <=, G for >= and R for ranged row
    12581266     **/
    1259 CBCSOLVERLIB_EXPORT char COINLINKAGE
     1267CBCSOLVERLIB_EXPORT char CBC_LINKAGE
    12601268Osi_getRowSense(void *osi, int row);
    12611269
    12621270/** @brief Returns vector with objective function coefficients */
    1263 CBCSOLVERLIB_EXPORT const double * COINLINKAGE
     1271CBCSOLVERLIB_EXPORT const double * CBC_LINKAGE
    12641272Osi_getObjCoefficients();
    12651273
    12661274/** @brief Returns the objective sense: 1 for MIN and -1 for MAX */
    1267 CBCSOLVERLIB_EXPORT double COINLINKAGE
     1275CBCSOLVERLIB_EXPORT double CBC_LINKAGE
    12681276Osi_getObjSense();
    12691277
    12701278/** @brief Returns solution vector in OsiSolverInterface object */
    1271 CBCSOLVERLIB_EXPORT const double * COINLINKAGE
     1279CBCSOLVERLIB_EXPORT const double * CBC_LINKAGE
    12721280Osi_getColSolution( void *osi );
    12731281
    12741282/** @brief Returns vector of reduced costs */
    1275 CBCSOLVERLIB_EXPORT const double * COINLINKAGE
     1283CBCSOLVERLIB_EXPORT const double * CBC_LINKAGE
    12761284Osi_getReducedCost( void *osi );
    12771285
    12781286/** @brief Returns of dual variables */
    1279 CBCSOLVERLIB_EXPORT const double *COINLINKAGE
     1287CBCSOLVERLIB_EXPORT const double *CBC_LINKAGE
    12801288Osi_getRowPrice( void *osi );
    12811289
    12821290/** @brief Returns the objective function value */
    1283 CBCSOLVERLIB_EXPORT double COINLINKAGE
     1291CBCSOLVERLIB_EXPORT double CBC_LINKAGE
    12841292Osi_getObjValue( void *osi );
    12851293
    12861294/** @brief Sets column upper bound */
    1287 CBCSOLVERLIB_EXPORT void COINLINKAGE
     1295CBCSOLVERLIB_EXPORT void CBC_LINKAGE
    12881296Osi_setColUpper (void *osi, int elementIndex, double ub);
    12891297
    12901298/** @brief Sets column upper bound */
    1291 CBCSOLVERLIB_EXPORT void COINLINKAGE
     1299CBCSOLVERLIB_EXPORT void CBC_LINKAGE
    12921300Osi_setColLower(void *osi, int elementIndex, double lb);
    12931301
    12941302/** @brief Sets one objective function coefficient */
    1295 CBCSOLVERLIB_EXPORT void COINLINKAGE
     1303CBCSOLVERLIB_EXPORT void CBC_LINKAGE
    12961304Osi_setObjCoef(void *osi, int elementIndex, double obj);
    12971305
     
    13011309    * @param sense: direction of optimization (1 - minimize, -1 - maximize, 0 - ignore)
    13021310    **/
    1303 CBCSOLVERLIB_EXPORT void COINLINKAGE
     1311CBCSOLVERLIB_EXPORT void CBC_LINKAGE
    13041312Osi_setObjSense(void *osi, double sense);
    13051313
    13061314/** @brief Sets a variable to integer */
    1307 CBCSOLVERLIB_EXPORT void COINLINKAGE
     1315CBCSOLVERLIB_EXPORT void CBC_LINKAGE
    13081316Osi_setInteger(void *osi, int index);
    13091317
    13101318/** @brief Sets a variable to continuous */
    1311 CBCSOLVERLIB_EXPORT void COINLINKAGE
     1319CBCSOLVERLIB_EXPORT void CBC_LINKAGE
    13121320Osi_setContinuous(void *osi, int index);
    13131321
     
    13181326     * @return numbef of rows that this column appears
    13191327     **/
    1320 CBCSOLVERLIB_EXPORT int COINLINKAGE
     1328CBCSOLVERLIB_EXPORT int CBC_LINKAGE
    13211329Osi_getColNz(void *model, int col);
    13221330
     
    13271335     * @return indices of rows that this column appears
    13281336     **/
    1329 CBCSOLVERLIB_EXPORT const int *COINLINKAGE
     1337CBCSOLVERLIB_EXPORT const int *CBC_LINKAGE
    13301338Osi_getColIndices(void *model, int col);
    13311339
     
    13361344     * @return coefficients of this column in rows
    13371345     **/
    1338 CBCSOLVERLIB_EXPORT const double *COINLINKAGE
     1346CBCSOLVERLIB_EXPORT const double *CBC_LINKAGE
    13391347Osi_getColCoeffs(void *model, int col);
    13401348
     
    13531361     * @param coefs coefficients that this column appears in its rows, NULL if rows will be added later
    13541362     ***/
    1355 CBCSOLVERLIB_EXPORT void COINLINKAGE
     1363CBCSOLVERLIB_EXPORT void CBC_LINKAGE
    13561364Osi_addCol(void *osi, const char *name, double lb,
    13571365  double ub, double obj, char isInteger,
     
    13701378     *  @param rhs right hand size
    13711379     * */
    1372 CBCSOLVERLIB_EXPORT void COINLINKAGE
     1380CBCSOLVERLIB_EXPORT void CBC_LINKAGE
    13731381Osi_addRow(void *osi, const char *name, int nz,
    13741382  const int *cols, const double *coefs, char sense, double rhs);
     
    13761384/** @brief Returns the integer tolerance
    13771385 **/
    1378 CBCSOLVERLIB_EXPORT double COINLINKAGE
     1386CBCSOLVERLIB_EXPORT double CBC_LINKAGE
    13791387Osi_getIntegerTolerance(void *osi);
    13801388
    13811389/** @brief Deletes an OsiSolverInterface object */
    1382 CBCSOLVERLIB_EXPORT void COINLINKAGE
     1390CBCSOLVERLIB_EXPORT void CBC_LINKAGE
    13831391Osi_deleteSolver( void *osi );
    13841392
     
    13871395/** \name Cgl related routines */
    13881396
    1389 CBCSOLVERLIB_EXPORT void COINLINKAGE Cgl_generateCuts( void *osiClpSolver, enum CutType ct, void *oc, int strength );
     1397CBCSOLVERLIB_EXPORT void CBC_LINKAGE Cgl_generateCuts( void *osiClpSolver, enum CutType ct, void *oc, int strength );
    13901398
    13911399/*@}*/
     
    13951403
    13961404/** Creates a new cut pool and returns its pointer */
    1397 CBCSOLVERLIB_EXPORT void * COINLINKAGE
     1405CBCSOLVERLIB_EXPORT void * CBC_LINKAGE
    13981406OsiCuts_new();
    13991407
    14001408/** adds a row cut (used in callback) */
    1401 CBCSOLVERLIB_EXPORT void COINLINKAGE
     1409CBCSOLVERLIB_EXPORT void CBC_LINKAGE
    14021410OsiCuts_addRowCut( void *osiCuts, int nz, const int *idx, const double *coef, char sense, double rhs );
    14031411
    14041412/** adds a row cut (used in callback), stating that this is a globally valid cut */
    1405 CBCSOLVERLIB_EXPORT void COINLINKAGE
     1413CBCSOLVERLIB_EXPORT void CBC_LINKAGE
    14061414OsiCuts_addGlobalRowCut( void *osiCuts, int nz, const int *idx, const double *coef, char sense, double rhs );
    14071415
    14081416/** Returns the number of row cuts stored */
    1409 CBCSOLVERLIB_EXPORT int COINLINKAGE
     1417CBCSOLVERLIB_EXPORT int CBC_LINKAGE
    14101418OsiCuts_sizeRowCuts( void *osiCuts );
    14111419
    14121420/** Returns the number of row cuts stored */
    1413 CBCSOLVERLIB_EXPORT int COINLINKAGE
     1421CBCSOLVERLIB_EXPORT int CBC_LINKAGE
    14141422OsiCuts_nzRowCut( void *osiCuts, int iRowCut );
    14151423
    14161424/** Returns the variable indexes in a row cut */
    1417 CBCSOLVERLIB_EXPORT const int * COINLINKAGE
     1425CBCSOLVERLIB_EXPORT const int * CBC_LINKAGE
    14181426OsiCuts_idxRowCut( void *osiCuts, int iRowCut );
    14191427
    14201428/** Returns the variable coefficients in a row cut */
    1421 CBCSOLVERLIB_EXPORT const double * COINLINKAGE
     1429CBCSOLVERLIB_EXPORT const double * CBC_LINKAGE
    14221430OsiCuts_coefRowCut( void *osiCuts, int iRowCut );
    14231431
    14241432/** Returns the variable coefficients in a row cut */
    1425 CBCSOLVERLIB_EXPORT double COINLINKAGE
     1433CBCSOLVERLIB_EXPORT double CBC_LINKAGE
    14261434OsiCuts_rhsRowCut( void *osiCuts, int iRowCut );
    14271435
    14281436/** Returns the sense of a row cut */
    1429 CBCSOLVERLIB_EXPORT char COINLINKAGE
     1437CBCSOLVERLIB_EXPORT char CBC_LINKAGE
    14301438OsiCuts_senseRowCut( void *osiCuts, int iRowCut );
    14311439
    14321440/** Deletes a cut pool */
    1433 CBCSOLVERLIB_EXPORT void COINLINKAGE
     1441CBCSOLVERLIB_EXPORT void CBC_LINKAGE
    14341442OsiCuts_delete( void *osiCuts );
    14351443
Note: See TracChangeset for help on using the changeset viewer.