Changeset 703


Ignore:
Timestamp:
Jul 24, 2007 4:15:25 PM (12 years ago)
Author:
jpfasano
Message:

Added sample project for testing cbc dll.
Fixed problems so dll and new sample project will build.

Location:
trunk/Cbc
Files:
2 added
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/Cbc/MSVisualStudio/v8/Cbc.sln

    r658 r703  
    33Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cbcExamplesSample2", "cbcExamplesSample2\cbcExamplesSample2.vcproj", "{4C0B8243-2876-4C92-B6CB-2472B0571CC3}"
    44        ProjectSection(ProjectDependencies) = postProject
     5                {7D98E2CB-876E-4F75-9F71-77D3FE87E149} = {7D98E2CB-876E-4F75-9F71-77D3FE87E149}
     6                {A4D8DB82-7DC6-45EE-AF08-2A6DD7E7AB56} = {A4D8DB82-7DC6-45EE-AF08-2A6DD7E7AB56}
     7                {02D45875-A8CF-41B9-990B-3699C0ECFE10} = {02D45875-A8CF-41B9-990B-3699C0ECFE10}
     8                {363BA154-FEC9-4E1E-BC23-93CEC58AB785} = {363BA154-FEC9-4E1E-BC23-93CEC58AB785}
     9                {4F8F7D1C-3A9E-444D-8EE9-77F33FA05994} = {4F8F7D1C-3A9E-444D-8EE9-77F33FA05994}
     10                {C4867F15-438D-4FF8-8388-62FBAAA9786C} = {C4867F15-438D-4FF8-8388-62FBAAA9786C}
    511                {DBEA3904-F0B8-408A-9E1A-6497FEBE8C42} = {DBEA3904-F0B8-408A-9E1A-6497FEBE8C42}
    6                 {C4867F15-438D-4FF8-8388-62FBAAA9786C} = {C4867F15-438D-4FF8-8388-62FBAAA9786C}
    7                 {4F8F7D1C-3A9E-444D-8EE9-77F33FA05994} = {4F8F7D1C-3A9E-444D-8EE9-77F33FA05994}
    8                 {363BA154-FEC9-4E1E-BC23-93CEC58AB785} = {363BA154-FEC9-4E1E-BC23-93CEC58AB785}
    9                 {02D45875-A8CF-41B9-990B-3699C0ECFE10} = {02D45875-A8CF-41B9-990B-3699C0ECFE10}
    10                 {A4D8DB82-7DC6-45EE-AF08-2A6DD7E7AB56} = {A4D8DB82-7DC6-45EE-AF08-2A6DD7E7AB56}
    11                 {7D98E2CB-876E-4F75-9F71-77D3FE87E149} = {7D98E2CB-876E-4F75-9F71-77D3FE87E149}
    1212        EndProjectSection
    1313EndProject
    1414Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cbcSolve", "cbcSolve\cbcSolve.vcproj", "{E2294708-C5BA-460A-B0A7-060A4023684A}"
    1515        ProjectSection(ProjectDependencies) = postProject
     16                {7D98E2CB-876E-4F75-9F71-77D3FE87E149} = {7D98E2CB-876E-4F75-9F71-77D3FE87E149}
     17                {A4D8DB82-7DC6-45EE-AF08-2A6DD7E7AB56} = {A4D8DB82-7DC6-45EE-AF08-2A6DD7E7AB56}
     18                {02D45875-A8CF-41B9-990B-3699C0ECFE10} = {02D45875-A8CF-41B9-990B-3699C0ECFE10}
     19                {363BA154-FEC9-4E1E-BC23-93CEC58AB785} = {363BA154-FEC9-4E1E-BC23-93CEC58AB785}
     20                {4F8F7D1C-3A9E-444D-8EE9-77F33FA05994} = {4F8F7D1C-3A9E-444D-8EE9-77F33FA05994}
     21                {C4867F15-438D-4FF8-8388-62FBAAA9786C} = {C4867F15-438D-4FF8-8388-62FBAAA9786C}
    1622                {DBEA3904-F0B8-408A-9E1A-6497FEBE8C42} = {DBEA3904-F0B8-408A-9E1A-6497FEBE8C42}
    17                 {C4867F15-438D-4FF8-8388-62FBAAA9786C} = {C4867F15-438D-4FF8-8388-62FBAAA9786C}
    18                 {4F8F7D1C-3A9E-444D-8EE9-77F33FA05994} = {4F8F7D1C-3A9E-444D-8EE9-77F33FA05994}
    19                 {363BA154-FEC9-4E1E-BC23-93CEC58AB785} = {363BA154-FEC9-4E1E-BC23-93CEC58AB785}
    20                 {02D45875-A8CF-41B9-990B-3699C0ECFE10} = {02D45875-A8CF-41B9-990B-3699C0ECFE10}
    21                 {A4D8DB82-7DC6-45EE-AF08-2A6DD7E7AB56} = {A4D8DB82-7DC6-45EE-AF08-2A6DD7E7AB56}
    22                 {7D98E2CB-876E-4F75-9F71-77D3FE87E149} = {7D98E2CB-876E-4F75-9F71-77D3FE87E149}
    2323        EndProjectSection
    2424EndProject
    2525Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "clp", "..\..\..\Clp\MSVisualStudio\v8\clp\clp.vcproj", "{0E9135A7-CB30-48D9-A83D-0F49EC3B601B}"
    2626        ProjectSection(ProjectDependencies) = postProject
     27                {7D98E2CB-876E-4F75-9F71-77D3FE87E149} = {7D98E2CB-876E-4F75-9F71-77D3FE87E149}
     28                {D8879B84-4497-48E6-96A5-49B154FB0422} = {D8879B84-4497-48E6-96A5-49B154FB0422}
     29                {A4D8DB82-7DC6-45EE-AF08-2A6DD7E7AB56} = {A4D8DB82-7DC6-45EE-AF08-2A6DD7E7AB56}
     30                {02D45875-A8CF-41B9-990B-3699C0ECFE10} = {02D45875-A8CF-41B9-990B-3699C0ECFE10}
     31                {363BA154-FEC9-4E1E-BC23-93CEC58AB785} = {363BA154-FEC9-4E1E-BC23-93CEC58AB785}
     32                {4F8F7D1C-3A9E-444D-8EE9-77F33FA05994} = {4F8F7D1C-3A9E-444D-8EE9-77F33FA05994}
    2733                {C4867F15-438D-4FF8-8388-62FBAAA9786C} = {C4867F15-438D-4FF8-8388-62FBAAA9786C}
    28                 {4F8F7D1C-3A9E-444D-8EE9-77F33FA05994} = {4F8F7D1C-3A9E-444D-8EE9-77F33FA05994}
    29                 {363BA154-FEC9-4E1E-BC23-93CEC58AB785} = {363BA154-FEC9-4E1E-BC23-93CEC58AB785}
    30                 {02D45875-A8CF-41B9-990B-3699C0ECFE10} = {02D45875-A8CF-41B9-990B-3699C0ECFE10}
    31                 {A4D8DB82-7DC6-45EE-AF08-2A6DD7E7AB56} = {A4D8DB82-7DC6-45EE-AF08-2A6DD7E7AB56}
    32                 {D8879B84-4497-48E6-96A5-49B154FB0422} = {D8879B84-4497-48E6-96A5-49B154FB0422}
    33                 {7D98E2CB-876E-4F75-9F71-77D3FE87E149} = {7D98E2CB-876E-4F75-9F71-77D3FE87E149}
    3434        EndProjectSection
    3535EndProject
     
    5959Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cbcGeneric", "cbcGeneric\cbcGeneric.vcproj", "{3524E6A8-8644-41E8-A6AB-F0B1607A7C89}"
    6060        ProjectSection(ProjectDependencies) = postProject
     61                {C4867F15-438D-4FF8-8388-62FBAAA9786C} = {C4867F15-438D-4FF8-8388-62FBAAA9786C}
     62                {4F8F7D1C-3A9E-444D-8EE9-77F33FA05994} = {4F8F7D1C-3A9E-444D-8EE9-77F33FA05994}
     63                {363BA154-FEC9-4E1E-BC23-93CEC58AB785} = {363BA154-FEC9-4E1E-BC23-93CEC58AB785}
     64                {7D98E2CB-876E-4F75-9F71-77D3FE87E149} = {7D98E2CB-876E-4F75-9F71-77D3FE87E149}
     65                {02D45875-A8CF-41B9-990B-3699C0ECFE10} = {02D45875-A8CF-41B9-990B-3699C0ECFE10}
    6166                {DBEA3904-F0B8-408A-9E1A-6497FEBE8C42} = {DBEA3904-F0B8-408A-9E1A-6497FEBE8C42}
    62                 {02D45875-A8CF-41B9-990B-3699C0ECFE10} = {02D45875-A8CF-41B9-990B-3699C0ECFE10}
    63                 {7D98E2CB-876E-4F75-9F71-77D3FE87E149} = {7D98E2CB-876E-4F75-9F71-77D3FE87E149}
    64                 {363BA154-FEC9-4E1E-BC23-93CEC58AB785} = {363BA154-FEC9-4E1E-BC23-93CEC58AB785}
    65                 {4F8F7D1C-3A9E-444D-8EE9-77F33FA05994} = {4F8F7D1C-3A9E-444D-8EE9-77F33FA05994}
    66                 {C4867F15-438D-4FF8-8388-62FBAAA9786C} = {C4867F15-438D-4FF8-8388-62FBAAA9786C}
    6767        EndProjectSection
    6868EndProject
    6969Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cbcCInterfaceDll", "cbcCInterfaceDll\cbcCInterfaceDll.vcproj", "{F1E9E3F0-6639-4A84-8E0F-A2D5F11978FB}"
    7070        ProjectSection(ProjectDependencies) = postProject
     71                {7D98E2CB-876E-4F75-9F71-77D3FE87E149} = {7D98E2CB-876E-4F75-9F71-77D3FE87E149}
     72                {02D45875-A8CF-41B9-990B-3699C0ECFE10} = {02D45875-A8CF-41B9-990B-3699C0ECFE10}
     73                {363BA154-FEC9-4E1E-BC23-93CEC58AB785} = {363BA154-FEC9-4E1E-BC23-93CEC58AB785}
     74                {4F8F7D1C-3A9E-444D-8EE9-77F33FA05994} = {4F8F7D1C-3A9E-444D-8EE9-77F33FA05994}
     75                {C4867F15-438D-4FF8-8388-62FBAAA9786C} = {C4867F15-438D-4FF8-8388-62FBAAA9786C}
    7176                {DBEA3904-F0B8-408A-9E1A-6497FEBE8C42} = {DBEA3904-F0B8-408A-9E1A-6497FEBE8C42}
    72                 {C4867F15-438D-4FF8-8388-62FBAAA9786C} = {C4867F15-438D-4FF8-8388-62FBAAA9786C}
    73                 {4F8F7D1C-3A9E-444D-8EE9-77F33FA05994} = {4F8F7D1C-3A9E-444D-8EE9-77F33FA05994}
    74                 {363BA154-FEC9-4E1E-BC23-93CEC58AB785} = {363BA154-FEC9-4E1E-BC23-93CEC58AB785}
    75                 {02D45875-A8CF-41B9-990B-3699C0ECFE10} = {02D45875-A8CF-41B9-990B-3699C0ECFE10}
    76                 {7D98E2CB-876E-4F75-9F71-77D3FE87E149} = {7D98E2CB-876E-4F75-9F71-77D3FE87E149}
     77        EndProjectSection
     78EndProject
     79Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cbcCSosDllSample", "cbcCSosDllSample\cbcCSosDllSample.vcproj", "{8AFDEA7E-BC40-4F31-80A8-8D05485E0A1E}"
     80        ProjectSection(ProjectDependencies) = postProject
     81                {F1E9E3F0-6639-4A84-8E0F-A2D5F11978FB} = {F1E9E3F0-6639-4A84-8E0F-A2D5F11978FB}
    7782        EndProjectSection
    7883EndProject
     
    143148                {F1E9E3F0-6639-4A84-8E0F-A2D5F11978FB}.Release|Win32.ActiveCfg = Release|Win32
    144149                {F1E9E3F0-6639-4A84-8E0F-A2D5F11978FB}.Release|Win32.Build.0 = Release|Win32
     150                {8AFDEA7E-BC40-4F31-80A8-8D05485E0A1E}.Debug|Win32.ActiveCfg = Debug|Win32
     151                {8AFDEA7E-BC40-4F31-80A8-8D05485E0A1E}.Debug|Win32.Build.0 = Debug|Win32
     152                {8AFDEA7E-BC40-4F31-80A8-8D05485E0A1E}.Release|Win32.ActiveCfg = Release|Win32
     153                {8AFDEA7E-BC40-4F31-80A8-8D05485E0A1E}.Release|Win32.Build.0 = Release|Win32
    145154        EndGlobalSection
    146155        GlobalSection(SolutionProperties) = preSolution
  • trunk/Cbc/MSVisualStudio/v8/cbcCInterfaceDll/cbcCInterfaceDll.vcproj

    r658 r703  
    6363                        <Tool
    6464                                Name="VCLinkerTool"
    65                                 OutputFile="$(OutDir)/cbcCInterfaceDll.dll"
     65                                OutputFile="$(ProjectDir)../../cbcCInterfacegDll.dll"
    6666                                LinkIncremental="2"
    6767                                GenerateDebugInformation="true"
     
    140140                        <Tool
    141141                                Name="VCLinkerTool"
    142                                 OutputFile="$(OutDir)/cbcCInterfaceDll.dll"
     142                                OutputFile="$(ProjectDir)../../cbcCInterfaceDll.dll"
    143143                                LinkIncremental="1"
    144144                                GenerateDebugInformation="true"
     
    198198                        </File>
    199199                </Filter>
    200                 <Filter
    201                         Name="Resource Files"
    202                         Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
    203                         UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
    204                         >
    205                 </Filter>
    206200        </Files>
    207201        <Globals>
  • trunk/Cbc/MSVisualStudio/v8/libCbc/libCbc.vcproj

    r659 r703  
    566566                        </File>
    567567                        <File
     568                                RelativePath="..\..\..\src\CbcLinked.cpp"
     569                                >
     570                        </File>
     571                        <File
    568572                                RelativePath="..\..\..\..\Cbc\src\CbcMessage.cpp"
    569573                                >
     
    855859                        </File>
    856860                        <File
     861                                RelativePath="..\..\..\src\CbcLinked.hpp"
     862                                >
     863                        </File>
     864                        <File
    857865                                RelativePath="..\..\..\..\Cbc\src\CbcMessage.hpp"
    858866                                >
  • trunk/Cbc/src/Cbc_C_Interface.cpp

    r643 r703  
    746746}
    747747/* Maximum number of iterations */
    748 COINLIBAPI int
     748COINLIBAPI int COINLINKAGE
    749749Cbc_maximumIterations(Cbc_Model * model)
    750750{
     
    775775}
    776776/* Maximum number of nodes */
    777 COINLIBAPI int
     777COINLIBAPI int COINLINKAGE
    778778Cbc_maxNumNode(Cbc_Model * model)
    779779{
     
    800800}
    801801/* Maximum number of solutions */
    802 COINLIBAPI int
     802COINLIBAPI int COINLINKAGE
    803803Cbc_maxNumSol(Cbc_Model * model)
    804804{
     
    10301030}
    10311031/* Row lower */
    1032 COINLIBAPI double* COINLINKAGE
     1032COINLIBAPI double * COINLINKAGE
    10331033Cbc_rowLower(Cbc_Model * model)
    10341034{
     
    10471047}
    10481048/* Row upper  */
    1049 COINLIBAPI double* COINLINKAGE
     1049COINLIBAPI double * COINLINKAGE
    10501050Cbc_rowUpper(Cbc_Model * model)
    10511051{
     
    11301130
    11311131// Column starts in matrix
    1132 COINLIBAPI const CoinBigIndex * COINLINKAGE Cbc_getVectorStarts(Cbc_Model * model)
     1132COINLIBAPI const CoinBigIndex * COINLINKAGE
     1133Cbc_getVectorStarts(Cbc_Model * model)
    11331134{
    11341135  const CoinPackedMatrix * matrix = NULL;
     
    12731274/* Copy in status vector */
    12741275COINLIBAPI void COINLINKAGE
    1275 setBasisStatus(Cbc_Model * model,  int * cstat, int * rstat)
    1276 {
    1277   const char prefix[] = "Cbc_C_Interface::setBasisStatus(): ";
     1276Cbc_setBasisStatus(Cbc_Model * model,  int * cstat, int * rstat)
     1277{
     1278  const char prefix[] = "Cbc_C_Interface::Cbc_setBasisStatus(): ";
    12781279//  const int  VERBOSE = 1;
    12791280  if (VERBOSE>0) printf("%s begin\n",prefix);
     
    13251326  if (VERBOSE>0) printf("%s begin\n",prefix);
    13261327
     1328  // reuse existing log level
     1329  int oldLogLevel = model->model_->messageHandler()->logLevel();
    13271330  // Will be copy of users one
    13281331  delete model->handler_;
     
    13311334  model->handler_->setModel(model);
    13321335  model->model_->passInMessageHandler(model->handler_);
     1336  model->model_->messageHandler()->setLogLevel(oldLogLevel);
    13331337
    13341338  if (VERBOSE>0) printf("%s return\n",prefix);
     
    14771481 
    14781482  OsiSolverInterface * solver = model->model_->solver();
    1479   solver->setHintParam(OsiDoScale,mode);
     1483  bool modeBool = (mode == 0);
     1484  solver->setHintParam(OsiDoScale, modeBool);
    14801485
    14811486  if (VERBOSE>0) printf("%s return\n",prefix);
     
    22072212}
    22082213/** Number of nodes explored in B&B tree */
    2209 COINLIBAPI int COINLINKAGE Cbc_getNodeCount(Cbc_Model * model)
     2214COINLIBAPI int COINLINKAGE
     2215Cbc_getNodeCount(Cbc_Model * model)
    22102216{
    22112217  const char prefix[] = "Cbc_C_Interface::Cbc_getNodeCount(): ";
     
    22202226}
    22212227/** Return a copy of this model */
    2222 COINLIBAPI Cbc_Model * COINLINKAGE Cbc_clone(Cbc_Model * model)
     2228COINLIBAPI Cbc_Model * COINLINKAGE
     2229Cbc_clone(Cbc_Model * model)
    22232230{
    22242231  const char prefix[] = "Cbc_C_Interface::Cbc_clone(): ";
    2225   const int  VERBOSE = 1;
     2232//  const int  VERBOSE = 1;
    22262233  if (VERBOSE>0) printf("%s begin\n",prefix);
    22272234 
     
    22352242}
    22362243/** Set this the variable to be continuous */
    2237 COINLIBAPI Cbc_Model * COINLINKAGE Cbc_setContinuous(Cbc_Model * model, int iColumn)
     2244COINLIBAPI Cbc_Model * COINLINKAGE
     2245Cbc_setContinuous(Cbc_Model * model, int iColumn)
    22382246{
    22392247  const char prefix[] = "Cbc_C_Interface::Cbc_setContinuous(): ";
     
    22452253  if (VERBOSE>0) printf("%s return\n",prefix);
    22462254  return model;
    2247 }
    2248 /* Delete all object information */
    2249 COINLIBAPI void  COINLINKAGE
    2250 Cbc_deleteObjects(Cbc_Model * model)
    2251 {
    2252   const char prefix[] = "Cbc_C_Interface::Cbc_deleteObjects(): ";
    2253 //  const int  VERBOSE = 2;
    2254   if (VERBOSE>0) printf("%s begin\n",prefix);
    2255 
    2256   model->model_->deleteObjects();
    2257 
    2258   if (VERBOSE>0) printf("%s return\n",prefix);
    2259   return;
    22602255}
    22612256/* Add an SOS constraint to the model */
     
    22652260{
    22662261  const char prefix[] = "Cbc_C_Interface::Cbc_addSOS_Dense(): ";
    2267   const int  VERBOSE = 2;
     2262//  const int  VERBOSE = 2;
    22682263  if (VERBOSE>0) printf("%sbegin\n",prefix);
    22692264 
     
    22922287   
    22932288    // Make a CbcSOS and assign it to objects
    2294     printf("%s len[%i] = %i\n",prefix, i, len[i]);
     2289    if (VERBOSE>1) printf("%s len[%i] = %i\n",prefix, i, len[i]);
    22952290    l = len[i];
    22962291    w = which[i];
     
    23162311  return;
    23172312}
    2318 /* Add SOS constraints to the model using row-order matrix */
     2313/** Add SOS constraints to the model using row-order matrix */
    23192314COINLIBAPI void  COINLINKAGE
    23202315Cbc_addSOS_Sparse(Cbc_Model * model, const int * rowStarts,
     
    24032398}
    24042399
    2405 /* Print the solution */
     2400/** Delete all object information */
     2401COINLIBAPI void  COINLINKAGE
     2402Cbc_deleteObjects(Cbc_Model * model)
     2403{
     2404  const char prefix[] = "Cbc_C_Interface::Cbc_deleteObjects(): ";
     2405//  const int  VERBOSE = 2;
     2406  if (VERBOSE>0) printf("%s begin\n",prefix);
     2407
     2408  model->model_->deleteObjects();
     2409
     2410  if (VERBOSE>0) printf("%s return\n",prefix);
     2411  return;
     2412}
     2413
     2414/** Print the solution */
    24062415COINLIBAPI void  COINLINKAGE
    24072416Cbc_printSolution(Cbc_Model * model)
     
    25072516  return;
    25082517}
     2518  /** Dual initial solve */
     2519  COINLIBAPI int COINLINKAGE
     2520  Cbc_initialDualSolve(Cbc_Model * model)
     2521  {
     2522    return 0;
     2523  }
     2524  /** Primal initial solve */
     2525  COINLIBAPI int COINLINKAGE
     2526  Cbc_initialPrimalSolve(Cbc_Model * model)
     2527  {
     2528    return 0;
     2529  }
     2530  /** Dual algorithm - see ClpSimplexDual.hpp for method */
     2531  COINLIBAPI int COINLINKAGE
     2532  Cbc_dual(Cbc_Model * model, int ifValuesPass)
     2533  {
     2534    return 0;
     2535  }
     2536  /** Primal algorithm - see ClpSimplexPrimal.hpp for method */
     2537  COINLIBAPI int COINLINKAGE
     2538  Cbc_primal(Cbc_Model * model, int ifValuesPass)
     2539  {
     2540    return 0;
     2541  }
    25092542#if defined(__MWERKS__)
    25102543#pragma export off
  • trunk/Cbc/src/Cbc_C_Interface.h

    r487 r703  
    1313
    1414#ifdef __cplusplus
    15 extern "C"{
     15  extern "C"{
    1616#endif
    1717 
     
    2626  /*@{*/
    2727
    28   /** Default constructor */
    29   COINLIBAPI Cbc_Model * COINLINKAGE Cbc_newModel(void);
    30   /** Destructor */
    31   COINLIBAPI void COINLINKAGE Cbc_deleteModel(Cbc_Model * model);
     28  /** Version */
     29  COINLIBAPI double COINLINKAGE Cbc_getVersion()
     30  ;
     31  /** Default Cbc_Model constructor */
     32  COINLIBAPI Cbc_Model * COINLINKAGE
     33  Cbc_newModel()
     34  ;
     35  /** Cbc_Model Destructor */
     36  COINLIBAPI void COINLINKAGE
     37  Cbc_deleteModel(Cbc_Model * model)
     38  ;
    3239  /*@}*/
    3340
    3441  /**@name Load model - loads some stuff and initializes others */
    3542  /*@{*/
    36   /** Loads a problem (the constraints on the
     43  /* Loads a problem (the constraints on the
    3744      rows are given by lower and upper bounds). If a pointer is NULL then the
    3845      following values are the default:
     
    4451      <li> <code>obj</code>: all variables have 0 objective coefficient
    4552      </ul>
    46   */
    47   /** Just like the other loadProblem() method except that the matrix is
    48         given in a standard column major ordered format (without gaps). */
    49   COINLIBAPI void COINLINKAGE Cbc_loadProblem (Cbc_Model * model,  const int numcols, const int numrows,
    50                       const CoinBigIndex * start, const int* index,
    51                       const double* value,
    52                       const double* collb, const double* colub,   
    53                       const double* obj,
    54                       const double* rowlb, const double* rowub);
     53
     54   Just like the other loadProblem() method except that the matrix is
     55   given in a standard column major ordered format (without gaps).
     56*/
     57  COINLIBAPI void COINLINKAGE
     58  Cbc_loadProblem (Cbc_Model * model,  const int numcols, const int numrows,
     59          const CoinBigIndex * start, const int* index,
     60          const double* value,
     61          const double* collb, const double* colub,   
     62          const double* obj,
     63          const double* rowlb, const double* rowub)
     64  ;
    5565  /** Read an mps file from the given filename */
    56   COINLIBAPI int COINLINKAGE Cbc_readMps(Cbc_Model * model,const char *filename);
     66  COINLIBAPI int COINLINKAGE
     67  Cbc_readMps(Cbc_Model * model,const char *filename)
     68  ;
    5769  /** Write an mps file from the given filename */
    58   COINLIBAPI void COINLINKAGE Cbc_writeMps(Cbc_Model * model,const char *filename);  /** Copy in integer informations */
    59   /** Copy in integer informations */
    60   COINLIBAPI void COINLINKAGE Cbc_copyInIntegerInformation(Cbc_Model * model,const char * information);
     70  COINLIBAPI void COINLINKAGE
     71  Cbc_writeMps(Cbc_Model * model,const char *filename)
     72  ;
     73  /** Integer information */
     74  COINLIBAPI char * COINLINKAGE
     75  Cbc_integerInformation(Cbc_Model * model)
     76  ;
     77  /** Copy in integer information */
     78  COINLIBAPI void COINLINKAGE
     79  Cbc_copyInIntegerInformation(Cbc_Model * model,const char * information)
     80  ;
    6181  /** Drop integer informations */
    62   COINLIBAPI void COINLINKAGE Cbc_deleteIntegerInformation(Cbc_Model * model);
     82  COINLIBAPI void COINLINKAGE
     83  Cbc_deleteIntegerInformation(Cbc_Model * model)
     84  ;
    6385  /** Resizes rim part of model  */
    64   COINLIBAPI void COINLINKAGE Cbc_resize (Cbc_Model * model, int newNumberRows, int newNumberColumns);
     86  COINLIBAPI void COINLINKAGE
     87  Cbc_resize (Cbc_Model * model, int newNumberRows, int newNumberColumns)
     88  ;
    6589  /** Deletes rows */
    66   COINLIBAPI void COINLINKAGE Cbc_deleteRows(Cbc_Model * model, int number, const int * which);
     90  COINLIBAPI void COINLINKAGE
     91  Cbc_deleteRows(Cbc_Model * model, int number, const int * which)
     92  ;
    6793  /** Add rows */
    68   COINLIBAPI void COINLINKAGE Cbc_addRows(Cbc_Model * model, int number, const double * rowLower,
    69                const double * rowUpper,
    70                const int * rowStarts, const int * columns,
    71                const double * elements);
     94  COINLIBAPI void COINLINKAGE
     95  Cbc_addRows(Cbc_Model * model, const int number, const double * rowLower,
     96         const double * rowUpper,
     97         const int * rowStarts, const int * columns,
     98         const double * elements)
     99         ;
    72100
    73101  /** Deletes columns */
    74   COINLIBAPI void COINLINKAGE Cbc_deleteColumns(Cbc_Model * model, int number, const int * which);
     102  COINLIBAPI void COINLINKAGE
     103  Cbc_deleteColumns(Cbc_Model * model, int number, const int * which)
     104  ;
    75105  /** Add columns */
    76   COINLIBAPI void COINLINKAGE Cbc_addColumns(Cbc_Model * model, int number, const double * columnLower,
    77                   const double * columnUpper,
    78                   const double * objective,
    79                   const int * columnStarts, const int * rows,
    80                   const double * elements);
     106  COINLIBAPI void COINLINKAGE
     107  Cbc_addColumns(Cbc_Model * model, int number, const double * columnLower,
     108      const double * columnUpper,
     109      const double * objective,
     110      const int * columnStarts, const int * rows,
     111      const double * elements);
    81112  /** Drops names - makes lengthnames 0 and names empty */
    82   COINLIBAPI void COINLINKAGE Cbc_dropNames(Cbc_Model * model);
     113  COINLIBAPI void COINLINKAGE
     114  Cbc_dropNames(Cbc_Model * model)
     115  ;
    83116  /** Copies in names */
    84   COINLIBAPI void COINLINKAGE Cbc_copyNames(Cbc_Model * model, const char * const * rowNames,
    85                  const char * const * columnNames);
     117  COINLIBAPI void COINLINKAGE
     118  Cbc_copyNames(Cbc_Model * model, const char * const * rowNamesIn,
     119     const char * const * columnNamesIn)
     120  ;
    86121 
    87122  /*@}*/
     
    89124  /*@{*/
    90125  /** Number of rows */
    91   COINLIBAPI int COINLINKAGE Cbc_numberRows(Cbc_Model * model);
     126  COINLIBAPI int COINLINKAGE
     127  Cbc_numberRows(Cbc_Model * model)
     128  ;
    92129  /** Number of columns */
    93   COINLIBAPI int COINLINKAGE Cbc_numberColumns(Cbc_Model * model);
     130  COINLIBAPI int COINLINKAGE
     131  Cbc_numberColumns(Cbc_Model * model)
     132  ;
    94133  /** Primal tolerance to use */
    95   COINLIBAPI double COINLINKAGE Cbc_primalTolerance(Cbc_Model * model);
    96   COINLIBAPI void COINLINKAGE Cbc_setPrimalTolerance(Cbc_Model * model,  double value) ;
     134  COINLIBAPI double COINLINKAGE
     135  Cbc_primalTolerance(Cbc_Model * model)
     136  ;
     137  COINLIBAPI void COINLINKAGE
     138  Cbc_setPrimalTolerance(Cbc_Model * model,  double value)
     139  ;
    97140  /** Dual tolerance to use */
    98   COINLIBAPI double COINLINKAGE Cbc_dualTolerance(Cbc_Model * model);
    99   COINLIBAPI void COINLINKAGE Cbc_setDualTolerance(Cbc_Model * model,  double value) ;
     141  COINLIBAPI double COINLINKAGE
     142  Cbc_dualTolerance(Cbc_Model * model)
     143  ;
     144  COINLIBAPI void COINLINKAGE
     145  Cbc_setDualTolerance(Cbc_Model * model,  double value)
     146  ;
    100147  /* Integer tolerance to use */
    101   COINLIBAPI double COINLINKAGE Cbc_integerTolerance(Cbc_Model * model);
    102   COINLIBAPI void COINLINKAGE Cbc_setIntegerTolerance(Cbc_Model * model,  double value);
     148  COINLIBAPI double COINLINKAGE
     149  Cbc_integerTolerance(Cbc_Model * model)
     150  ;
     151  COINLIBAPI void COINLINKAGE
     152  Cbc_setIntegerTolerance(Cbc_Model * model,  double value)
     153  ;
    103154  /** Dual objective limit */
    104   COINLIBAPI double COINLINKAGE Cbc_dualObjectiveLimit(Cbc_Model * model);
    105   COINLIBAPI void COINLINKAGE Cbc_setDualObjectiveLimit(Cbc_Model * model, double value);
     155  COINLIBAPI double COINLINKAGE
     156  Cbc_dualObjectiveLimit(Cbc_Model * model)
     157  ;
     158  COINLIBAPI void COINLINKAGE
     159  Cbc_setDualObjectiveLimit(Cbc_Model * model, double value)
     160  ;
    106161  /** Objective offset */
    107   COINLIBAPI double COINLINKAGE Cbc_objectiveOffset(Cbc_Model * model);
    108   COINLIBAPI void COINLINKAGE Cbc_setObjectiveOffset(Cbc_Model * model, double value);
     162  COINLIBAPI double COINLINKAGE
     163  Cbc_objectiveOffset(Cbc_Model * model)
     164  ;
     165  COINLIBAPI void COINLINKAGE
     166  Cbc_setObjectiveOffset(Cbc_Model * model, double value)
     167  ;
    109168  /** Fills in array with problem name  */
    110   COINLIBAPI void COINLINKAGE Cbc_problemName(Cbc_Model * model, int maxNumberCharacters, char * array);
     169  COINLIBAPI void COINLINKAGE
     170  Cbc_problemName(Cbc_Model * model, int maxNumberCharacters, char * array)
     171  ;
    111172  /** Sets problem name.  Must have \0 at end.  */
    112173  COINLIBAPI int COINLINKAGE
    113   Cbc_setProblemName(Cbc_Model * model, int maxNumberCharacters, char * array);
     174  Cbc_setProblemName(Cbc_Model * model, int maxNumberCharacters, char * array)
     175  ;
    114176  /** Number of iterations */
    115   COINLIBAPI int COINLINKAGE Cbc_numberIterations(Cbc_Model * model);
    116   COINLIBAPI void COINLINKAGE Cbc_setNumberIterations(Cbc_Model * model, int numberIterations);
    117   /** Maximum number of iterations (only useful in initial solve) */
    118   COINLIBAPI int Cbc_maximumIterations(Cbc_Model * model);
    119   COINLIBAPI void COINLINKAGE Cbc_setMaximumIterations(Cbc_Model * model, int value);
     177  COINLIBAPI int COINLINKAGE
     178  Cbc_numberIterations(Cbc_Model * model)
     179  ;
     180  COINLIBAPI void COINLINKAGE
     181  Cbc_setNumberIterations(Cbc_Model * model, int numberIterations)
     182  ;
     183  /** Maximum number of iterations */
     184  COINLIBAPI int COINLINKAGE
     185  Cbc_maximumIterations(Cbc_Model * model)
     186  ;
     187  COINLIBAPI void COINLINKAGE
     188  Cbc_setMaximumIterations(Cbc_Model * model, int value)
     189  ;
     190  /** Maximum number of nodes */
     191  COINLIBAPI int COINLINKAGE
     192  Cbc_maxNumNode(Cbc_Model * model)
     193  ;
     194  COINLIBAPI void COINLINKAGE
     195  Cbc_setMaxNumNode(Cbc_Model * model, int value)
     196  ;
     197  /* Maximum number of solutions */
     198  COINLIBAPI int COINLINKAGE
     199  Cbc_maxNumSol(Cbc_Model * model)
     200  ;
     201  COINLIBAPI void COINLINKAGE
     202  Cbc_setMaxNumSol(Cbc_Model * model, int value)
     203  ;
    120204  /** Maximum time in seconds (from when set called) */
    121   COINLIBAPI double COINLINKAGE Cbc_maximumSeconds(Cbc_Model * model);
    122   COINLIBAPI void COINLINKAGE Cbc_setMaximumSeconds(Cbc_Model * model, double value);
     205  COINLIBAPI double COINLINKAGE
     206  Cbc_maximumSeconds(Cbc_Model * model)
     207  ;
     208  COINLIBAPI void COINLINKAGE
     209  Cbc_setMaximumSeconds(Cbc_Model * model, double value)
     210  ;
    123211  /** Returns true if hit maximum iterations (or time) */
    124   COINLIBAPI int COINLINKAGE Cbc_hitMaximumIterations(Cbc_Model * model);
     212  COINLIBAPI int COINLINKAGE
     213  Cbc_hitMaximumIterations(Cbc_Model * model)
     214  ;
    125215  /** Status of problem:
    126216      0 - optimal
     
    130220      4 - stopped due to errors
    131221  */
    132   COINLIBAPI int COINLINKAGE Cbc_LPstatus(Cbc_Model * model);
     222  COINLIBAPI int COINLINKAGE
     223  Cbc_status(Cbc_Model * model)
     224  ;
    133225  /** Set problem status */
    134   COINLIBAPI void COINLINKAGE Cbc_setProblemLPStatus(Cbc_Model * model, int problemStatus);
     226  COINLIBAPI void COINLINKAGE
     227  Cbc_setProblemStatus(Cbc_Model * model, int problemStatus)
     228  ;
    135229  /** Secondary status of problem - may get extended
    136230      0 - none
     
    140234      4 - scaled problem optimal - unscaled has both dual and primal infeasibilities
    141235  */
    142   COINLIBAPI int COINLINKAGE Cbc_secondaryLPStatus(Cbc_Model * model);
    143   COINLIBAPI void COINLINKAGE Cbc_setSecondaryLPStatus(Cbc_Model * model, int status);
    144   /** Final status of BAB problem
    145       Some of these can be found out by is...... functions
    146       -1 before branchAndBound
    147       0 finished - check isProvenOptimal or isProvenInfeasible to see if solution found
    148       (or check value of best solution)
    149       1 stopped - on maxnodes, maxsols, maxtime
    150       2 difficulties so run was abandoned
    151       (5 event user programmed event occurred)
    152   */
    153   COINLIBAPI int COINLINKAGE Cbc_status(Cbc_Model * model);
    154   /** Set problem status */
    155   COINLIBAPI void COINLINKAGE Cbc_setProblemStatus(Cbc_Model * model, int problemStatus);
    156   /** Secondary status of BAB problem
    157       -1 unset (status_ will also be -1)
    158       0 search completed with solution
    159       1 linear relaxation not feasible (or worse than cutoff)
    160       2 stopped on gap
    161       3 stopped on nodes
    162       4 stopped on time
    163       5 stopped on user event
    164       6 stopped on solutions
    165       7 linear relaxation unbounded
    166   */
    167   COINLIBAPI int COINLINKAGE Cbc_secondaryStatus(Cbc_Model * model);
    168   COINLIBAPI void COINLINKAGE Cbc_setSecondaryStatus(Cbc_Model * model, int status);
     236  COINLIBAPI int COINLINKAGE
     237  Cbc_secondaryStatus(Cbc_Model * model)
     238  ;
     239  COINLIBAPI void COINLINKAGE
     240  Cbc_setSecondaryStatus(Cbc_Model * model, int status)
     241  ;
    169242  /** Direction of optimization (1 - minimize, -1 - maximize, 0 - ignore */
    170   COINLIBAPI double COINLINKAGE Cbc_optimizationDirection(Cbc_Model * model);
    171   COINLIBAPI void COINLINKAGE Cbc_setOptimizationDirection(Cbc_Model * model, double value);
     243  COINLIBAPI double COINLINKAGE
     244  Cbc_optimizationDirection(Cbc_Model * model)
     245  ;
     246  COINLIBAPI void COINLINKAGE
     247  Cbc_setOptimizationDirection(Cbc_Model * model, double value)
     248  ;
    172249  /** Primal row solution */
    173   COINLIBAPI double * COINLINKAGE Cbc_primalRowSolution(Cbc_Model * model);
     250  COINLIBAPI double * COINLINKAGE
     251  Cbc_primalRowSolution(Cbc_Model * model)
     252  ;
    174253  /** Primal column solution */
    175   COINLIBAPI double * COINLINKAGE Cbc_primalColumnSolution(Cbc_Model * model);
     254  COINLIBAPI double * COINLINKAGE
     255  Cbc_primalColumnSolution(Cbc_Model * model)
     256  ;
    176257  /** Dual row solution */
    177   COINLIBAPI double * COINLINKAGE Cbc_dualRowSolution(Cbc_Model * model);
     258  COINLIBAPI double * COINLINKAGE
     259  Cbc_dualRowSolution(Cbc_Model * model)
     260  ;
    178261  /** Reduced costs */
    179   COINLIBAPI double * COINLINKAGE Cbc_dualColumnSolution(Cbc_Model * model);
     262  COINLIBAPI double * COINLINKAGE
     263  Cbc_dualColumnSolution(Cbc_Model * model)
     264  ;
    180265  /** Row lower */
    181   COINLIBAPI double* COINLINKAGE Cbc_rowLower(Cbc_Model * model);
     266  COINLIBAPI double* COINLINKAGE
     267  Cbc_rowLower(Cbc_Model * model)
     268  ;
    182269  /** Row upper  */
    183   COINLIBAPI double* COINLINKAGE Cbc_rowUpper(Cbc_Model * model);
     270  COINLIBAPI double* COINLINKAGE
     271  Cbc_rowUpper(Cbc_Model * model)
     272  ;
    184273  /** Objective */
    185   COINLIBAPI double * COINLINKAGE Cbc_objective(Cbc_Model * model);           
     274  COINLIBAPI double * COINLINKAGE
     275  Cbc_objective(Cbc_Model * model)
     276  ;           
    186277  /** Column Lower */
    187   COINLIBAPI double * COINLINKAGE Cbc_columnLower(Cbc_Model * model);
     278  COINLIBAPI double * COINLINKAGE
     279  Cbc_columnLower(Cbc_Model * model)
     280  ;
    188281  /** Column Upper */
    189   COINLIBAPI double * COINLINKAGE Cbc_columnUpper(Cbc_Model * model);
     282  COINLIBAPI double * COINLINKAGE
     283  Cbc_columnUpper(Cbc_Model * model)
     284  ;
    190285  /** Number of elements in matrix */
    191   COINLIBAPI int COINLINKAGE Cbc_getNumElements(Cbc_Model * model);
     286  COINLIBAPI int COINLINKAGE
     287  Cbc_getNumElements(Cbc_Model * model)
     288  ;
    192289  /** Column starts in matrix */
    193   COINLIBAPI const CoinBigIndex * COINLINKAGE Cbc_getVectorStarts(Cbc_Model * model);
     290  COINLIBAPI const CoinBigIndex * COINLINKAGE
     291  Cbc_getVectorStarts(Cbc_Model * model)
     292  ;
    194293  /** Row indices in matrix */
    195   COINLIBAPI const int * COINLINKAGE Cbc_getIndices(Cbc_Model * model);
     294  COINLIBAPI const int * COINLINKAGE
     295  Cbc_getIndices(Cbc_Model * model)
     296  ;
    196297  /** Column vector lengths in matrix */
    197   COINLIBAPI const int * COINLINKAGE Cbc_getVectorLengths(Cbc_Model * model);
     298  COINLIBAPI const int * COINLINKAGE
     299  Cbc_getVectorLengths(Cbc_Model * model)
     300  ;
    198301  /** Element values in matrix */
    199   COINLIBAPI const double * COINLINKAGE Cbc_getElements(Cbc_Model * model);
     302  COINLIBAPI const double * COINLINKAGE
     303  Cbc_getElements(Cbc_Model * model)
     304  ;
    200305  /** Objective value */
    201   COINLIBAPI double COINLINKAGE Cbc_objectiveValue(Cbc_Model * model);
    202   /** Integer information */
    203   COINLIBAPI char * COINLINKAGE Cbc_integerInformation(Cbc_Model * model);
     306  COINLIBAPI double COINLINKAGE
     307  Cbc_objectiveValue(Cbc_Model * model)
     308  ;
    204309  /** Infeasibility/unbounded ray (NULL returned if none/wrong)
    205310      Up to user to use delete [] on these arrays.  */
    206   COINLIBAPI double * COINLINKAGE Cbc_infeasibilityRay(Cbc_Model * model);
    207   COINLIBAPI double * COINLINKAGE Cbc_unboundedRay(Cbc_Model * model);
     311  COINLIBAPI double * COINLINKAGE
     312  Cbc_infeasibilityRay(Cbc_Model * model)
     313  ;
     314  COINLIBAPI double * COINLINKAGE
     315  Cbc_unboundedRay(Cbc_Model * model)
     316  ;
    208317  /** See if status array exists (partly for OsiClp) */
    209   COINLIBAPI int COINLINKAGE Cbc_statusExists(Cbc_Model * model);
     318  COINLIBAPI int COINLINKAGE
     319  Cbc_statusExists(Cbc_Model * model)
     320  ;
    210321  /** Return address of status array (char[numberRows+numberColumns]) */
    211   COINLIBAPI void  COINLINKAGE Cbc_getBasisStatus(Cbc_Model * model, int * cstat, int * rstat);
     322  COINLIBAPI void  COINLINKAGE
     323  Cbc_getBasisStatus(Cbc_Model * model, int * cstat, int * rstat)
     324  ;
    212325  /** Copy in status vector */
    213   COINLIBAPI void COINLINKAGE setBasisStatus(Cbc_Model * model, int * cstat, int * rstat);
     326  COINLIBAPI void COINLINKAGE
     327  Cbc_setBasisStatus(Cbc_Model * model, int * cstat, int * rstat)
     328  ;
    214329 
    215330  /** User pointer for whatever reason */
    216   COINLIBAPI void COINLINKAGE Cbc_setUserPointer (Cbc_Model * model, void * pointer);
    217   COINLIBAPI void * COINLINKAGE Cbc_getUserPointer (Cbc_Model * model);
     331  COINLIBAPI void COINLINKAGE
     332  Cbc_setUserPointer (Cbc_Model * model, void * pointer)
     333  ;
     334  COINLIBAPI void * COINLINKAGE
     335  Cbc_getUserPointer (Cbc_Model * model)
     336  ;
    218337  /*@}*/
    219338  /**@name Message handling.  Call backs are handled by ONE function */
     
    221340  /** Pass in Callback function.
    222341   Message numbers up to 1000000 are Clp, Coin ones have 1000000 added */
    223   COINLIBAPI void COINLINKAGE Cbc_registerCallBack(Cbc_Model * model,
    224                                                    cbc_callback userCallBack);
     342  COINLIBAPI void COINLINKAGE
     343  Cbc_registerCallBack(Cbc_Model * model,
     344               cbc_callback userCallBack)
     345  ;
    225346  /** Unset Callback function */
    226   COINLIBAPI void COINLINKAGE Cbc_clearCallBack(Cbc_Model * model);
     347  COINLIBAPI void COINLINKAGE
     348  Cbc_clearCallBack(Cbc_Model * model)
     349  ;
    227350  /** Amount of print out:
    228351      0 - none
     
    233356      above that 8,16,32 etc just for selective debug
    234357  */
    235   COINLIBAPI void COINLINKAGE Cbc_setLogLevel(Cbc_Model * model, int value);
    236   COINLIBAPI int COINLINKAGE Cbc_logLevel(Cbc_Model * model);
     358  COINLIBAPI void COINLINKAGE
     359  Cbc_setLogLevel(Cbc_Model * model, int value)
     360  ;
     361  COINLIBAPI int COINLINKAGE
     362  Cbc_logLevel(Cbc_Model * model)
     363  ;
    237364  /** length of names (0 means no names0 */
    238   COINLIBAPI int COINLINKAGE Cbc_lengthNames(Cbc_Model * model);
     365  COINLIBAPI int COINLINKAGE
     366  Cbc_lengthNames(Cbc_Model * model)
     367  ;
    239368  /** Fill in array (at least lengthNames+1 long) with a row name */
    240   COINLIBAPI void COINLINKAGE Cbc_rowName(Cbc_Model * model, int iRow, char * name);
     369  COINLIBAPI void COINLINKAGE
     370  Cbc_rowName(Cbc_Model * model, int iRow, char * name)
     371  ;
    241372  /** Fill in array (at least lengthNames+1 long) with a column name */
    242   COINLIBAPI void COINLINKAGE Cbc_columnName(Cbc_Model * model, int iColumn, char * name);
     373  COINLIBAPI void COINLINKAGE
     374  Cbc_columnName(Cbc_Model * model, int iColumn, char * name)
     375  ;
    243376
    244377  /*@}*/
     
    250383      See  ClpSolve.hpp for options
    251384   */
    252   COINLIBAPI int COINLINKAGE Cbc_initialSolve(Cbc_Model * model);
     385  COINLIBAPI int COINLINKAGE
     386  Cbc_initialSolve(Cbc_Model * model)
     387  ;
    253388  /* General solve algorithm which can do presolve.
    254389     See  CbcModel.hpp for options
    255390  */
    256   COINLIBAPI int COINLINKAGE Cbc_branchAndBound(Cbc_Model * model);
    257   /** Dual initial solve */
    258   COINLIBAPI int COINLINKAGE Cbc_initialDualSolve(Cbc_Model * model);
    259   /** Primal initial solve */
    260   COINLIBAPI int COINLINKAGE Cbc_initialPrimalSolve(Cbc_Model * model);
    261   /** Dual algorithm - see ClpSimplexDual.hpp for method */
    262   COINLIBAPI int COINLINKAGE Cbc_dual(Cbc_Model * model, int ifValuesPass);
    263   /** Primal algorithm - see ClpSimplexPrimal.hpp for method */
    264   COINLIBAPI int COINLINKAGE Cbc_primal(Cbc_Model * model, int ifValuesPass);
     391  COINLIBAPI int COINLINKAGE
     392  Cbc_branchAndBound(Cbc_Model * model)
     393  ;
    265394  /** Sets or unsets scaling, 0 -off, 1 equilibrium, 2 geometric, 3, auto, 4 dynamic(later) */
    266   COINLIBAPI void COINLINKAGE Cbc_scaling(Cbc_Model * model, int mode);
     395  COINLIBAPI void COINLINKAGE
     396  Cbc_scaling(Cbc_Model * model, int mode)
     397  ;
    267398  /** Gets scalingFlag */
    268   COINLIBAPI int COINLINKAGE Cbc_scalingFlag(Cbc_Model * model);
     399  COINLIBAPI int COINLINKAGE
     400  Cbc_scalingFlag(Cbc_Model * model)
     401  ;
    269402  /** Crash - at present just aimed at dual, returns
    270403      -2 if dual preferred and crash basis created
     
    281414       2 Mini iterations
    282415  */
    283   COINLIBAPI int COINLINKAGE Cbc_crash(Cbc_Model * model, double gap,int pivot);
     416  COINLIBAPI int COINLINKAGE
     417  Cbc_crash(Cbc_Model * model, double gap,int pivot)
     418  ;
    284419  /*@}*/
    285420
     
    288423  /*@{*/
    289424  /** If problem is primal feasible */
    290   COINLIBAPI int COINLINKAGE Cbc_primalFeasible(Cbc_Model * model);
     425  COINLIBAPI int COINLINKAGE
     426  Cbc_primalFeasible(Cbc_Model * model)
     427  ;
    291428  /** If problem is dual feasible */
    292   COINLIBAPI int COINLINKAGE Cbc_dualFeasible(Cbc_Model * model);
     429  COINLIBAPI int COINLINKAGE
     430  Cbc_dualFeasible(Cbc_Model * model)
     431  ;
    293432  /** Dual bound */
    294   COINLIBAPI double COINLINKAGE Cbc_dualBound(Cbc_Model * model);
    295   COINLIBAPI void COINLINKAGE Cbc_setDualBound(Cbc_Model * model, double value);
     433  COINLIBAPI double COINLINKAGE
     434  Cbc_dualBound(Cbc_Model * model)
     435  ;
     436  COINLIBAPI void COINLINKAGE
     437  Cbc_setDualBound(Cbc_Model * model, double value)
     438  ;
    296439  /** Infeasibility cost */
    297   COINLIBAPI double COINLINKAGE Cbc_infeasibilityCost(Cbc_Model * model);
    298   COINLIBAPI void COINLINKAGE Cbc_setInfeasibilityCost(Cbc_Model * model, double value);
     440  COINLIBAPI double COINLINKAGE
     441  Cbc_infeasibilityCost(Cbc_Model * model)
     442  ;
     443  COINLIBAPI void COINLINKAGE
     444  Cbc_setInfeasibilityCost(Cbc_Model * model, double value)
     445  ;
    299446  /** Perturbation:
    300447      50  - switch on perturbation
     
    305452      others are for playing
    306453  */
    307   COINLIBAPI int COINLINKAGE Cbc_perturbation(Cbc_Model * model);
    308   COINLIBAPI void COINLINKAGE Cbc_setPerturbation(Cbc_Model * model, int value);
     454  COINLIBAPI int COINLINKAGE
     455  Cbc_perturbation(Cbc_Model * model)
     456  ;
     457  COINLIBAPI void COINLINKAGE
     458  Cbc_setPerturbation(Cbc_Model * model, int value)
     459  ;
    309460  /** Current (or last) algorithm */
    310   COINLIBAPI int COINLINKAGE Cbc_algorithm(Cbc_Model * model);
     461  COINLIBAPI int COINLINKAGE
     462  Cbc_algorithm(Cbc_Model * model)
     463  ;
    311464  /** Set algorithm */
    312   COINLIBAPI void COINLINKAGE Cbc_setAlgorithm(Cbc_Model * model, int value);
     465  COINLIBAPI void COINLINKAGE
     466  Cbc_setAlgorithm(Cbc_Model * model, int value)
     467  ;
    313468  /** Sum of dual infeasibilities */
    314   COINLIBAPI double COINLINKAGE Cbc_sumDualInfeasibilities(Cbc_Model * model);
     469  COINLIBAPI double COINLINKAGE
     470  Cbc_sumDualInfeasibilities(Cbc_Model * model)
     471  ;
    315472  /** Number of dual infeasibilities */
    316   COINLIBAPI int COINLINKAGE Cbc_numberDualInfeasibilities(Cbc_Model * model);
     473  COINLIBAPI int COINLINKAGE
     474  Cbc_numberDualInfeasibilities(Cbc_Model * model)
     475  ;
    317476  /** Sum of primal infeasibilities */
    318   COINLIBAPI double COINLINKAGE Cbc_sumPrimalInfeasibilities(Cbc_Model * model);
     477  COINLIBAPI double COINLINKAGE
     478  Cbc_sumPrimalInfeasibilities(Cbc_Model * model)
     479  ;
    319480  /** Number of primal infeasibilities */
    320   COINLIBAPI int COINLINKAGE Cbc_numberPrimalInfeasibilities(Cbc_Model * model);
     481  COINLIBAPI int COINLINKAGE
     482  Cbc_numberPrimalInfeasibilities(Cbc_Model * model)
     483  ;
    321484  /** Save model to file, returns 0 if success.  This is designed for
    322485      use outside algorithms so does not save iterating arrays etc.
     
    325488  It does not know about all types of virtual functions.
    326489  */
    327   COINLIBAPI int COINLINKAGE Cbc_saveModel(Cbc_Model * model, const char * fileName);
     490  COINLIBAPI int COINLINKAGE
     491  Cbc_saveModel(Cbc_Model * model, const char * fileName)
     492  ;
    328493  /** Restore model from file, returns 0 if success,
    329494      deletes current model */
    330   COINLIBAPI int COINLINKAGE Cbc_restoreModel(Cbc_Model * model, const char * fileName);
     495  COINLIBAPI int COINLINKAGE
     496  Cbc_restoreModel(Cbc_Model * model, const char * fileName)
     497  ;
    331498 
    332499  /** Just check solution (for external use) - sets sum of
    333500      infeasibilities etc */
    334   COINLIBAPI void COINLINKAGE Cbc_checkSolution(Cbc_Model * model);
     501  COINLIBAPI void COINLINKAGE
     502  Cbc_checkSolution(Cbc_Model * model)
     503  ;
    335504  /*@}*/
    336505
     
    339508  /*@{*/
    340509  /** Number of rows */
    341   COINLIBAPI int COINLINKAGE Cbc_getNumRows(Cbc_Model * model);
     510  COINLIBAPI int COINLINKAGE
     511  Cbc_getNumRows(Cbc_Model * model)
     512  ;
    342513  /** Number of columns */
    343   COINLIBAPI int COINLINKAGE Cbc_getNumCols(Cbc_Model * model);
     514  COINLIBAPI int COINLINKAGE
     515  Cbc_getNumCols(Cbc_Model * model)
     516  ;
    344517  /** Number of iterations */
    345   COINLIBAPI int COINLINKAGE Cbc_getIterationCount(Cbc_Model * model);
     518  COINLIBAPI int COINLINKAGE
     519  Cbc_getIterationCount(Cbc_Model * model)
     520  ;
    346521  /** Are there a numerical difficulties? */
    347   COINLIBAPI int COINLINKAGE Cbc_isAbandoned(Cbc_Model * model);
     522  COINLIBAPI int COINLINKAGE
     523  Cbc_isAbandoned(Cbc_Model * model)
     524  ;
    348525  /** Is optimality proven? */
    349   COINLIBAPI int COINLINKAGE Cbc_isProvenOptimal(Cbc_Model * model);
     526  COINLIBAPI int COINLINKAGE
     527  Cbc_isProvenOptimal(Cbc_Model * model)
     528  ;
    350529  /** Is primal infeasiblity proven? */
    351   COINLIBAPI int COINLINKAGE Cbc_isProvenPrimalInfeasible(Cbc_Model * model);
     530  COINLIBAPI int COINLINKAGE
     531  Cbc_isProvenPrimalInfeasible(Cbc_Model * model)
     532  ;
    352533  /** Is dual infeasiblity proven? */
    353   COINLIBAPI int COINLINKAGE Cbc_isProvenDualInfeasible(Cbc_Model * model);
     534  COINLIBAPI int COINLINKAGE
     535  Cbc_isProvenDualInfeasible(Cbc_Model * model)
     536  ;
    354537  /** Is the given primal objective limit reached? */
    355   COINLIBAPI int COINLINKAGE Cbc_isPrimalObjectiveLimitReached(Cbc_Model * model) ;
     538  COINLIBAPI int COINLINKAGE
     539  Cbc_isPrimalObjectiveLimitReached(Cbc_Model * model)
     540  ;
    356541  /** Is the given dual objective limit reached? */
    357   COINLIBAPI int COINLINKAGE Cbc_isDualObjectiveLimitReached(Cbc_Model * model) ;
     542  COINLIBAPI int COINLINKAGE
     543  Cbc_isDualObjectiveLimitReached(Cbc_Model * model)
     544  ;
    358545  /** Iteration limit reached? */
    359   COINLIBAPI int COINLINKAGE Cbc_isIterationLimitReached(Cbc_Model * model);
     546  COINLIBAPI int COINLINKAGE
     547  Cbc_isIterationLimitReached(Cbc_Model * model)
     548  ;
    360549  /** Direction of optimization (1 - minimize, -1 - maximize, 0 - ignore */
    361   COINLIBAPI double COINLINKAGE Cbc_getObjSense(Cbc_Model * model);
     550  COINLIBAPI double COINLINKAGE
     551  Cbc_getObjSense(Cbc_Model * model)
     552  ;
    362553  /** Primal row solution */
    363   COINLIBAPI const double * COINLINKAGE Cbc_getRowActivity(Cbc_Model * model);
     554  COINLIBAPI const double * COINLINKAGE
     555  Cbc_getRowActivity(Cbc_Model * model)
     556  ;
    364557  /** Primal column solution */
    365   COINLIBAPI const double * COINLINKAGE Cbc_getColSolution(Cbc_Model * model);
    366   COINLIBAPI void COINLINKAGE Cbc_setColSolution(Cbc_Model * model, const double * input);
     558  COINLIBAPI const double * COINLINKAGE
     559  Cbc_getColSolution(Cbc_Model * model)
     560  ;
     561  COINLIBAPI void COINLINKAGE
     562  Cbc_setColSolution(Cbc_Model * model, const double * input)
     563  ;
    367564  /** Dual row solution */
    368   COINLIBAPI const double * COINLINKAGE Cbc_getRowPrice(Cbc_Model * model);
     565  COINLIBAPI const double * COINLINKAGE
     566  Cbc_getRowPrice(Cbc_Model * model)
     567  ;
    369568  /** Reduced costs */
    370   COINLIBAPI const double * COINLINKAGE Cbc_getReducedCost(Cbc_Model * model);
     569  COINLIBAPI const double * COINLINKAGE
     570  Cbc_getReducedCost(Cbc_Model * model)
     571  ;
    371572  /** Row lower */
    372   COINLIBAPI const double* COINLINKAGE Cbc_getRowLower(Cbc_Model * model);
     573  COINLIBAPI const double* COINLINKAGE
     574  Cbc_getRowLower(Cbc_Model * model)
     575  ;
    373576  /** Row upper  */
    374   COINLIBAPI const double* COINLINKAGE Cbc_getRowUpper(Cbc_Model * model);
     577  COINLIBAPI const double* COINLINKAGE
     578  Cbc_getRowUpper(Cbc_Model * model)
     579  ;
    375580  /** Objective */
    376   COINLIBAPI const double * COINLINKAGE Cbc_getObjCoefficients(Cbc_Model * model);
     581  COINLIBAPI const double * COINLINKAGE
     582  Cbc_getObjCoefficients(Cbc_Model * model)
     583  ;
    377584  /** Column Lower */
    378   COINLIBAPI const double * COINLINKAGE Cbc_getColLower(Cbc_Model * model);
     585  COINLIBAPI const double * COINLINKAGE
     586  Cbc_getColLower(Cbc_Model * model)
     587  ;
    379588  /** Column Upper */
    380   COINLIBAPI const double * COINLINKAGE Cbc_getColUpper(Cbc_Model * model);
     589  COINLIBAPI const double * COINLINKAGE
     590  Cbc_getColUpper(Cbc_Model * model)
     591  ;
    381592  /** Objective value */
    382   COINLIBAPI double COINLINKAGE Cbc_getObjValue(Cbc_Model * model);
     593  COINLIBAPI double COINLINKAGE
     594  Cbc_getObjValue(Cbc_Model * model)
     595  ;
    383596  /** Print the model */
    384   COINLIBAPI void COINLINKAGE Cbc_printModel(Cbc_Model * model, const char * prefix);
     597  COINLIBAPI void COINLINKAGE
     598  Cbc_printModel(Cbc_Model * model, const char * argPrefix)
     599  ;
    385600  /** Determine whether the variable at location i is integer restricted */
    386   COINLIBAPI int COINLINKAGE Cbc_isInteger(Cbc_Model * model, int i);
     601  COINLIBAPI int COINLINKAGE
     602  Cbc_isInteger(Cbc_Model * model, int i)
     603  ;
    387604  /** Return CPU time */
    388   COINLIBAPI double COINLINKAGE Cbc_cpuTime(Cbc_Model * model);
     605  COINLIBAPI double COINLINKAGE
     606  Cbc_cpuTime(Cbc_Model * model)
     607  ;
    389608  /** Number of nodes explored in B&B tree */
    390   COINLIBAPI int COINLINKAGE Cbc_getNodeCount(Cbc_Model * model);
     609  COINLIBAPI int COINLINKAGE
     610  Cbc_getNodeCount(Cbc_Model * model)
     611  ;
    391612  /** Return a copy of this model */
    392   COINLIBAPI Cbc_Model * COINLINKAGE Cbc_clone(Cbc_Model * model);
     613  COINLIBAPI Cbc_Model * COINLINKAGE
     614  Cbc_clone(Cbc_Model * model)
     615  ;
    393616  /** Set this the variable to be continuous */
    394   COINLIBAPI Cbc_Model * COINLINKAGE Cbc_setContinuous(Cbc_Model * model, int iColumn);
    395   /* Add an SOS constraint to the model */
    396   COINLIBAPI void  COINLINKAGE Cbc_addSOS(Cbc_Model * model, int numberMembers,
    397              const int * which, const double * weights, int identifier, int type);
    398   /* Delete all object information */
    399   COINLIBAPI void  COINLINKAGE Cbc_deleteObjects(Cbc_Model * model);
    400   /* Print the solution */
    401   COINLIBAPI void  COINLINKAGE Cbc_printSolution(Cbc_Model * model);
     617  COINLIBAPI Cbc_Model * COINLINKAGE
     618  Cbc_setContinuous(Cbc_Model * model, int iColumn)
     619  ;
     620  /** Add SOS constraints to the model using dense matrix */
     621  COINLIBAPI void  COINLINKAGE
     622  Cbc_addSOS_Dense(Cbc_Model * model, int numObjects, const int * len,
     623             const int ** which, const double * weights, const int type)
     624  ;
     625  /** Add SOS constraints to the model using row-order matrix */
     626  COINLIBAPI void  COINLINKAGE
     627  Cbc_addSOS_Sparse(Cbc_Model * model, const int * rowStarts,
     628             const int * rowIndices, const double * weights, const int type)
     629  ;
     630  /** Delete all object information */
     631  COINLIBAPI void  COINLINKAGE
     632  Cbc_deleteObjects(Cbc_Model * model)
     633  ;
     634  /** Print the solution */
     635  COINLIBAPI void  COINLINKAGE
     636  Cbc_printSolution(Cbc_Model * model)
     637  ;
     638  /** Dual initial solve */
     639  COINLIBAPI int COINLINKAGE
     640  Cbc_initialDualSolve(Cbc_Model * model)
     641  ;
     642  /** Primal initial solve */
     643  COINLIBAPI int COINLINKAGE
     644  Cbc_initialPrimalSolve(Cbc_Model * model)
     645  ;
     646  /** Dual algorithm - see ClpSimplexDual.hpp for method */
     647  COINLIBAPI int COINLINKAGE
     648  Cbc_dual(Cbc_Model * model, int ifValuesPass)
     649  ;
     650  /** Primal algorithm - see ClpSimplexPrimal.hpp for method */
     651  COINLIBAPI int COINLINKAGE
     652  Cbc_primal(Cbc_Model * model, int ifValuesPass)
     653  ;
    402654  /*@}*/
    403655#ifdef __cplusplus
    404           }
     656    }
    405657#endif
    406658#endif
Note: See TracChangeset for help on using the changeset viewer.