ruby-cbc 0.1.9 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (290) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +5 -5
  3. data/Rakefile +0 -2
  4. data/lib/ruby-cbc.rb +1 -1
  5. data/lib/ruby-cbc/problem.rb +6 -8
  6. data/lib/ruby-cbc/version.rb +1 -1
  7. data/ruby-cbc.gemspec +3 -2
  8. metadata +17 -287
  9. data/ext/ruby-cbc/cbc.i +0 -15
  10. data/ext/ruby-cbc/cbc_wrap.c +0 -4618
  11. data/ext/ruby-cbc/extconf.rb +0 -60
  12. data/ext/ruby-cbc/install/bin/cbc +0 -0
  13. data/ext/ruby-cbc/install/bin/clp +0 -0
  14. data/ext/ruby-cbc/install/include/coin/CbcBranchActual.hpp +0 -24
  15. data/ext/ruby-cbc/install/include/coin/CbcBranchAllDifferent.hpp +0 -62
  16. data/ext/ruby-cbc/install/include/coin/CbcBranchBase.hpp +0 -78
  17. data/ext/ruby-cbc/install/include/coin/CbcBranchCut.hpp +0 -183
  18. data/ext/ruby-cbc/install/include/coin/CbcBranchDecision.hpp +0 -129
  19. data/ext/ruby-cbc/install/include/coin/CbcBranchDefaultDecision.hpp +0 -100
  20. data/ext/ruby-cbc/install/include/coin/CbcBranchDynamic.hpp +0 -206
  21. data/ext/ruby-cbc/install/include/coin/CbcBranchLotsize.hpp +0 -242
  22. data/ext/ruby-cbc/install/include/coin/CbcBranchToFixLots.hpp +0 -94
  23. data/ext/ruby-cbc/install/include/coin/CbcBranchingObject.hpp +0 -236
  24. data/ext/ruby-cbc/install/include/coin/CbcClique.hpp +0 -303
  25. data/ext/ruby-cbc/install/include/coin/CbcCompare.hpp +0 -39
  26. data/ext/ruby-cbc/install/include/coin/CbcCompareActual.hpp +0 -14
  27. data/ext/ruby-cbc/install/include/coin/CbcCompareBase.hpp +0 -142
  28. data/ext/ruby-cbc/install/include/coin/CbcCompareDefault.hpp +0 -120
  29. data/ext/ruby-cbc/install/include/coin/CbcCompareDepth.hpp +0 -47
  30. data/ext/ruby-cbc/install/include/coin/CbcCompareEstimate.hpp +0 -48
  31. data/ext/ruby-cbc/install/include/coin/CbcCompareObjective.hpp +0 -49
  32. data/ext/ruby-cbc/install/include/coin/CbcConfig.h +0 -14
  33. data/ext/ruby-cbc/install/include/coin/CbcConsequence.hpp +0 -49
  34. data/ext/ruby-cbc/install/include/coin/CbcCountRowCut.hpp +0 -168
  35. data/ext/ruby-cbc/install/include/coin/CbcCutGenerator.hpp +0 -482
  36. data/ext/ruby-cbc/install/include/coin/CbcCutModifier.hpp +0 -57
  37. data/ext/ruby-cbc/install/include/coin/CbcCutSubsetModifier.hpp +0 -66
  38. data/ext/ruby-cbc/install/include/coin/CbcDummyBranchingObject.hpp +0 -83
  39. data/ext/ruby-cbc/install/include/coin/CbcEventHandler.hpp +0 -245
  40. data/ext/ruby-cbc/install/include/coin/CbcFathom.hpp +0 -137
  41. data/ext/ruby-cbc/install/include/coin/CbcFathomDynamicProgramming.hpp +0 -169
  42. data/ext/ruby-cbc/install/include/coin/CbcFeasibilityBase.hpp +0 -56
  43. data/ext/ruby-cbc/install/include/coin/CbcFixVariable.hpp +0 -67
  44. data/ext/ruby-cbc/install/include/coin/CbcFollowOn.hpp +0 -207
  45. data/ext/ruby-cbc/install/include/coin/CbcFullNodeInfo.hpp +0 -161
  46. data/ext/ruby-cbc/install/include/coin/CbcGeneral.hpp +0 -60
  47. data/ext/ruby-cbc/install/include/coin/CbcGeneralDepth.hpp +0 -279
  48. data/ext/ruby-cbc/install/include/coin/CbcHeuristic.hpp +0 -682
  49. data/ext/ruby-cbc/install/include/coin/CbcHeuristicDINS.hpp +0 -96
  50. data/ext/ruby-cbc/install/include/coin/CbcHeuristicDW.hpp +0 -309
  51. data/ext/ruby-cbc/install/include/coin/CbcHeuristicDive.hpp +0 -192
  52. data/ext/ruby-cbc/install/include/coin/CbcHeuristicDiveCoefficient.hpp +0 -52
  53. data/ext/ruby-cbc/install/include/coin/CbcHeuristicDiveFractional.hpp +0 -52
  54. data/ext/ruby-cbc/install/include/coin/CbcHeuristicDiveGuided.hpp +0 -55
  55. data/ext/ruby-cbc/install/include/coin/CbcHeuristicDiveLineSearch.hpp +0 -52
  56. data/ext/ruby-cbc/install/include/coin/CbcHeuristicDivePseudoCost.hpp +0 -60
  57. data/ext/ruby-cbc/install/include/coin/CbcHeuristicDiveVectorLength.hpp +0 -52
  58. data/ext/ruby-cbc/install/include/coin/CbcHeuristicFPump.hpp +0 -340
  59. data/ext/ruby-cbc/install/include/coin/CbcHeuristicGreedy.hpp +0 -280
  60. data/ext/ruby-cbc/install/include/coin/CbcHeuristicLocal.hpp +0 -271
  61. data/ext/ruby-cbc/install/include/coin/CbcHeuristicPivotAndFix.hpp +0 -58
  62. data/ext/ruby-cbc/install/include/coin/CbcHeuristicRENS.hpp +0 -77
  63. data/ext/ruby-cbc/install/include/coin/CbcHeuristicRINS.hpp +0 -102
  64. data/ext/ruby-cbc/install/include/coin/CbcHeuristicRandRound.hpp +0 -58
  65. data/ext/ruby-cbc/install/include/coin/CbcHeuristicVND.hpp +0 -94
  66. data/ext/ruby-cbc/install/include/coin/CbcLinked.hpp +0 -1406
  67. data/ext/ruby-cbc/install/include/coin/CbcMessage.hpp +0 -94
  68. data/ext/ruby-cbc/install/include/coin/CbcMipStartIO.hpp +0 -26
  69. data/ext/ruby-cbc/install/include/coin/CbcModel.hpp +0 -2952
  70. data/ext/ruby-cbc/install/include/coin/CbcNWay.hpp +0 -166
  71. data/ext/ruby-cbc/install/include/coin/CbcNode.hpp +0 -351
  72. data/ext/ruby-cbc/install/include/coin/CbcNodeInfo.hpp +0 -349
  73. data/ext/ruby-cbc/install/include/coin/CbcObject.hpp +0 -272
  74. data/ext/ruby-cbc/install/include/coin/CbcObjectUpdateData.hpp +0 -64
  75. data/ext/ruby-cbc/install/include/coin/CbcOrClpParam.cpp +0 -4134
  76. data/ext/ruby-cbc/install/include/coin/CbcOrClpParam.hpp +0 -532
  77. data/ext/ruby-cbc/install/include/coin/CbcParam.hpp +0 -324
  78. data/ext/ruby-cbc/install/include/coin/CbcPartialNodeInfo.hpp +0 -110
  79. data/ext/ruby-cbc/install/include/coin/CbcSOS.hpp +0 -279
  80. data/ext/ruby-cbc/install/include/coin/CbcSimpleInteger.hpp +0 -286
  81. data/ext/ruby-cbc/install/include/coin/CbcSimpleIntegerDynamicPseudoCost.hpp +0 -564
  82. data/ext/ruby-cbc/install/include/coin/CbcSimpleIntegerPseudoCost.hpp +0 -114
  83. data/ext/ruby-cbc/install/include/coin/CbcSolver.hpp +0 -447
  84. data/ext/ruby-cbc/install/include/coin/CbcStrategy.hpp +0 -258
  85. data/ext/ruby-cbc/install/include/coin/CbcSubProblem.hpp +0 -83
  86. data/ext/ruby-cbc/install/include/coin/CbcTree.hpp +0 -490
  87. data/ext/ruby-cbc/install/include/coin/CbcTreeLocal.hpp +0 -372
  88. data/ext/ruby-cbc/install/include/coin/Cbc_C_Interface.h +0 -381
  89. data/ext/ruby-cbc/install/include/coin/Cgl012cut.hpp +0 -464
  90. data/ext/ruby-cbc/install/include/coin/CglAllDifferent.hpp +0 -115
  91. data/ext/ruby-cbc/install/include/coin/CglClique.hpp +0 -308
  92. data/ext/ruby-cbc/install/include/coin/CglConfig.h +0 -19
  93. data/ext/ruby-cbc/install/include/coin/CglCutGenerator.hpp +0 -121
  94. data/ext/ruby-cbc/install/include/coin/CglDuplicateRow.hpp +0 -189
  95. data/ext/ruby-cbc/install/include/coin/CglFlowCover.hpp +0 -371
  96. data/ext/ruby-cbc/install/include/coin/CglGMI.hpp +0 -364
  97. data/ext/ruby-cbc/install/include/coin/CglGMIParam.hpp +0 -313
  98. data/ext/ruby-cbc/install/include/coin/CglGomory.hpp +0 -204
  99. data/ext/ruby-cbc/install/include/coin/CglKnapsackCover.hpp +0 -310
  100. data/ext/ruby-cbc/install/include/coin/CglLandP.hpp +0 -306
  101. data/ext/ruby-cbc/install/include/coin/CglLandPValidator.hpp +0 -130
  102. data/ext/ruby-cbc/install/include/coin/CglLiftAndProject.hpp +0 -104
  103. data/ext/ruby-cbc/install/include/coin/CglMessage.hpp +0 -50
  104. data/ext/ruby-cbc/install/include/coin/CglMixedIntegerRounding.hpp +0 -429
  105. data/ext/ruby-cbc/install/include/coin/CglMixedIntegerRounding2.hpp +0 -427
  106. data/ext/ruby-cbc/install/include/coin/CglOddHole.hpp +0 -160
  107. data/ext/ruby-cbc/install/include/coin/CglParam.hpp +0 -93
  108. data/ext/ruby-cbc/install/include/coin/CglPreProcess.hpp +0 -492
  109. data/ext/ruby-cbc/install/include/coin/CglProbing.hpp +0 -543
  110. data/ext/ruby-cbc/install/include/coin/CglRedSplit.hpp +0 -448
  111. data/ext/ruby-cbc/install/include/coin/CglRedSplit2.hpp +0 -494
  112. data/ext/ruby-cbc/install/include/coin/CglRedSplit2Param.hpp +0 -495
  113. data/ext/ruby-cbc/install/include/coin/CglRedSplitParam.hpp +0 -272
  114. data/ext/ruby-cbc/install/include/coin/CglResidualCapacity.hpp +0 -240
  115. data/ext/ruby-cbc/install/include/coin/CglSimpleRounding.hpp +0 -174
  116. data/ext/ruby-cbc/install/include/coin/CglStored.hpp +0 -125
  117. data/ext/ruby-cbc/install/include/coin/CglTreeInfo.hpp +0 -180
  118. data/ext/ruby-cbc/install/include/coin/CglTwomir.hpp +0 -565
  119. data/ext/ruby-cbc/install/include/coin/CglZeroHalf.hpp +0 -133
  120. data/ext/ruby-cbc/install/include/coin/ClpAmplObjective.hpp +0 -113
  121. data/ext/ruby-cbc/install/include/coin/ClpCholeskyBase.hpp +0 -294
  122. data/ext/ruby-cbc/install/include/coin/ClpCholeskyDense.hpp +0 -162
  123. data/ext/ruby-cbc/install/include/coin/ClpConfig.h +0 -17
  124. data/ext/ruby-cbc/install/include/coin/ClpConstraint.hpp +0 -125
  125. data/ext/ruby-cbc/install/include/coin/ClpConstraintAmpl.hpp +0 -108
  126. data/ext/ruby-cbc/install/include/coin/ClpConstraintLinear.hpp +0 -110
  127. data/ext/ruby-cbc/install/include/coin/ClpConstraintQuadratic.hpp +0 -119
  128. data/ext/ruby-cbc/install/include/coin/ClpDualRowDantzig.hpp +0 -71
  129. data/ext/ruby-cbc/install/include/coin/ClpDualRowPivot.hpp +0 -129
  130. data/ext/ruby-cbc/install/include/coin/ClpDualRowSteepest.hpp +0 -153
  131. data/ext/ruby-cbc/install/include/coin/ClpDummyMatrix.hpp +0 -183
  132. data/ext/ruby-cbc/install/include/coin/ClpDynamicExampleMatrix.hpp +0 -186
  133. data/ext/ruby-cbc/install/include/coin/ClpDynamicMatrix.hpp +0 -381
  134. data/ext/ruby-cbc/install/include/coin/ClpEventHandler.hpp +0 -187
  135. data/ext/ruby-cbc/install/include/coin/ClpFactorization.hpp +0 -432
  136. data/ext/ruby-cbc/install/include/coin/ClpGubDynamicMatrix.hpp +0 -247
  137. data/ext/ruby-cbc/install/include/coin/ClpGubMatrix.hpp +0 -358
  138. data/ext/ruby-cbc/install/include/coin/ClpInterior.hpp +0 -570
  139. data/ext/ruby-cbc/install/include/coin/ClpLinearObjective.hpp +0 -103
  140. data/ext/ruby-cbc/install/include/coin/ClpMatrixBase.hpp +0 -524
  141. data/ext/ruby-cbc/install/include/coin/ClpMessage.hpp +0 -131
  142. data/ext/ruby-cbc/install/include/coin/ClpModel.hpp +0 -1307
  143. data/ext/ruby-cbc/install/include/coin/ClpNetworkMatrix.hpp +0 -229
  144. data/ext/ruby-cbc/install/include/coin/ClpNode.hpp +0 -349
  145. data/ext/ruby-cbc/install/include/coin/ClpNonLinearCost.hpp +0 -401
  146. data/ext/ruby-cbc/install/include/coin/ClpObjective.hpp +0 -134
  147. data/ext/ruby-cbc/install/include/coin/ClpPackedMatrix.hpp +0 -638
  148. data/ext/ruby-cbc/install/include/coin/ClpParameters.hpp +0 -126
  149. data/ext/ruby-cbc/install/include/coin/ClpPdcoBase.hpp +0 -103
  150. data/ext/ruby-cbc/install/include/coin/ClpPlusMinusOneMatrix.hpp +0 -290
  151. data/ext/ruby-cbc/install/include/coin/ClpPresolve.hpp +0 -299
  152. data/ext/ruby-cbc/install/include/coin/ClpPrimalColumnDantzig.hpp +0 -72
  153. data/ext/ruby-cbc/install/include/coin/ClpPrimalColumnPivot.hpp +0 -155
  154. data/ext/ruby-cbc/install/include/coin/ClpPrimalColumnSteepest.hpp +0 -247
  155. data/ext/ruby-cbc/install/include/coin/ClpQuadraticObjective.hpp +0 -155
  156. data/ext/ruby-cbc/install/include/coin/ClpSimplex.hpp +0 -1797
  157. data/ext/ruby-cbc/install/include/coin/ClpSimplexDual.hpp +0 -300
  158. data/ext/ruby-cbc/install/include/coin/ClpSimplexNonlinear.hpp +0 -117
  159. data/ext/ruby-cbc/install/include/coin/ClpSimplexOther.hpp +0 -277
  160. data/ext/ruby-cbc/install/include/coin/ClpSimplexPrimal.hpp +0 -244
  161. data/ext/ruby-cbc/install/include/coin/ClpSolve.hpp +0 -446
  162. data/ext/ruby-cbc/install/include/coin/Clp_C_Interface.h +0 -525
  163. data/ext/ruby-cbc/install/include/coin/CoinAlloc.hpp +0 -176
  164. data/ext/ruby-cbc/install/include/coin/CoinBuild.hpp +0 -149
  165. data/ext/ruby-cbc/install/include/coin/CoinDenseFactorization.hpp +0 -419
  166. data/ext/ruby-cbc/install/include/coin/CoinDenseVector.hpp +0 -383
  167. data/ext/ruby-cbc/install/include/coin/CoinDistance.hpp +0 -48
  168. data/ext/ruby-cbc/install/include/coin/CoinError.hpp +0 -257
  169. data/ext/ruby-cbc/install/include/coin/CoinFactorization.hpp +0 -2044
  170. data/ext/ruby-cbc/install/include/coin/CoinFileIO.hpp +0 -166
  171. data/ext/ruby-cbc/install/include/coin/CoinFinite.hpp +0 -34
  172. data/ext/ruby-cbc/install/include/coin/CoinFloatEqual.hpp +0 -177
  173. data/ext/ruby-cbc/install/include/coin/CoinHelperFunctions.hpp +0 -1111
  174. data/ext/ruby-cbc/install/include/coin/CoinIndexedVector.hpp +0 -1164
  175. data/ext/ruby-cbc/install/include/coin/CoinLpIO.hpp +0 -805
  176. data/ext/ruby-cbc/install/include/coin/CoinMessage.hpp +0 -96
  177. data/ext/ruby-cbc/install/include/coin/CoinMessageHandler.hpp +0 -666
  178. data/ext/ruby-cbc/install/include/coin/CoinModel.hpp +0 -1054
  179. data/ext/ruby-cbc/install/include/coin/CoinModelUseful.hpp +0 -441
  180. data/ext/ruby-cbc/install/include/coin/CoinMpsIO.hpp +0 -1056
  181. data/ext/ruby-cbc/install/include/coin/CoinOslFactorization.hpp +0 -280
  182. data/ext/ruby-cbc/install/include/coin/CoinPackedMatrix.hpp +0 -947
  183. data/ext/ruby-cbc/install/include/coin/CoinPackedVector.hpp +0 -657
  184. data/ext/ruby-cbc/install/include/coin/CoinPackedVectorBase.hpp +0 -269
  185. data/ext/ruby-cbc/install/include/coin/CoinParam.hpp +0 -644
  186. data/ext/ruby-cbc/install/include/coin/CoinPragma.hpp +0 -26
  187. data/ext/ruby-cbc/install/include/coin/CoinPresolveDoubleton.hpp +0 -73
  188. data/ext/ruby-cbc/install/include/coin/CoinPresolveDual.hpp +0 -85
  189. data/ext/ruby-cbc/install/include/coin/CoinPresolveDupcol.hpp +0 -226
  190. data/ext/ruby-cbc/install/include/coin/CoinPresolveEmpty.hpp +0 -116
  191. data/ext/ruby-cbc/install/include/coin/CoinPresolveFixed.hpp +0 -181
  192. data/ext/ruby-cbc/install/include/coin/CoinPresolveForcing.hpp +0 -61
  193. data/ext/ruby-cbc/install/include/coin/CoinPresolveImpliedFree.hpp +0 -60
  194. data/ext/ruby-cbc/install/include/coin/CoinPresolveIsolated.hpp +0 -51
  195. data/ext/ruby-cbc/install/include/coin/CoinPresolveMatrix.hpp +0 -1842
  196. data/ext/ruby-cbc/install/include/coin/CoinPresolveMonitor.hpp +0 -105
  197. data/ext/ruby-cbc/install/include/coin/CoinPresolvePsdebug.hpp +0 -166
  198. data/ext/ruby-cbc/install/include/coin/CoinPresolveSingleton.hpp +0 -112
  199. data/ext/ruby-cbc/install/include/coin/CoinPresolveSubst.hpp +0 -101
  200. data/ext/ruby-cbc/install/include/coin/CoinPresolveTighten.hpp +0 -55
  201. data/ext/ruby-cbc/install/include/coin/CoinPresolveTripleton.hpp +0 -66
  202. data/ext/ruby-cbc/install/include/coin/CoinPresolveUseless.hpp +0 -63
  203. data/ext/ruby-cbc/install/include/coin/CoinPresolveZeros.hpp +0 -60
  204. data/ext/ruby-cbc/install/include/coin/CoinRational.hpp +0 -44
  205. data/ext/ruby-cbc/install/include/coin/CoinSearchTree.hpp +0 -465
  206. data/ext/ruby-cbc/install/include/coin/CoinShallowPackedVector.hpp +0 -148
  207. data/ext/ruby-cbc/install/include/coin/CoinSignal.hpp +0 -117
  208. data/ext/ruby-cbc/install/include/coin/CoinSimpFactorization.hpp +0 -431
  209. data/ext/ruby-cbc/install/include/coin/CoinSmartPtr.hpp +0 -528
  210. data/ext/ruby-cbc/install/include/coin/CoinSnapshot.hpp +0 -476
  211. data/ext/ruby-cbc/install/include/coin/CoinSort.hpp +0 -678
  212. data/ext/ruby-cbc/install/include/coin/CoinStructuredModel.hpp +0 -247
  213. data/ext/ruby-cbc/install/include/coin/CoinTime.hpp +0 -310
  214. data/ext/ruby-cbc/install/include/coin/CoinTypes.hpp +0 -64
  215. data/ext/ruby-cbc/install/include/coin/CoinUtility.hpp +0 -19
  216. data/ext/ruby-cbc/install/include/coin/CoinUtilsConfig.h +0 -34
  217. data/ext/ruby-cbc/install/include/coin/CoinWarmStart.hpp +0 -58
  218. data/ext/ruby-cbc/install/include/coin/CoinWarmStartBasis.hpp +0 -456
  219. data/ext/ruby-cbc/install/include/coin/CoinWarmStartDual.hpp +0 -166
  220. data/ext/ruby-cbc/install/include/coin/CoinWarmStartPrimalDual.hpp +0 -211
  221. data/ext/ruby-cbc/install/include/coin/CoinWarmStartVector.hpp +0 -488
  222. data/ext/ruby-cbc/install/include/coin/Coin_C_defines.h +0 -115
  223. data/ext/ruby-cbc/install/include/coin/Idiot.hpp +0 -298
  224. data/ext/ruby-cbc/install/include/coin/OsiAuxInfo.hpp +0 -206
  225. data/ext/ruby-cbc/install/include/coin/OsiBranchingObject.hpp +0 -1005
  226. data/ext/ruby-cbc/install/include/coin/OsiCbcSolverInterface.hpp +0 -764
  227. data/ext/ruby-cbc/install/include/coin/OsiChooseVariable.hpp +0 -534
  228. data/ext/ruby-cbc/install/include/coin/OsiClpSolverInterface.hpp +0 -1509
  229. data/ext/ruby-cbc/install/include/coin/OsiColCut.hpp +0 -324
  230. data/ext/ruby-cbc/install/include/coin/OsiCollections.hpp +0 -35
  231. data/ext/ruby-cbc/install/include/coin/OsiConfig.h +0 -19
  232. data/ext/ruby-cbc/install/include/coin/OsiCut.hpp +0 -245
  233. data/ext/ruby-cbc/install/include/coin/OsiCuts.hpp +0 -474
  234. data/ext/ruby-cbc/install/include/coin/OsiPresolve.hpp +0 -252
  235. data/ext/ruby-cbc/install/include/coin/OsiRowCut.hpp +0 -331
  236. data/ext/ruby-cbc/install/include/coin/OsiRowCutDebugger.hpp +0 -187
  237. data/ext/ruby-cbc/install/include/coin/OsiSolverBranch.hpp +0 -152
  238. data/ext/ruby-cbc/install/include/coin/OsiSolverInterface.hpp +0 -2143
  239. data/ext/ruby-cbc/install/include/coin/OsiSolverParameters.hpp +0 -142
  240. data/ext/ruby-cbc/install/include/coin/OsiUnitTests.hpp +0 -374
  241. data/ext/ruby-cbc/install/lib/libCbc.la +0 -35
  242. data/ext/ruby-cbc/install/lib/libCbc.so +0 -0
  243. data/ext/ruby-cbc/install/lib/libCbc.so.3 +0 -0
  244. data/ext/ruby-cbc/install/lib/libCbc.so.3.9.7 +0 -0
  245. data/ext/ruby-cbc/install/lib/libCbcSolver.la +0 -35
  246. data/ext/ruby-cbc/install/lib/libCbcSolver.so +0 -0
  247. data/ext/ruby-cbc/install/lib/libCbcSolver.so.3 +0 -0
  248. data/ext/ruby-cbc/install/lib/libCbcSolver.so.3.9.7 +0 -0
  249. data/ext/ruby-cbc/install/lib/libCgl.la +0 -35
  250. data/ext/ruby-cbc/install/lib/libCgl.so +0 -0
  251. data/ext/ruby-cbc/install/lib/libCgl.so.1 +0 -0
  252. data/ext/ruby-cbc/install/lib/libCgl.so.1.9.7 +0 -0
  253. data/ext/ruby-cbc/install/lib/libClp.la +0 -35
  254. data/ext/ruby-cbc/install/lib/libClp.so +0 -0
  255. data/ext/ruby-cbc/install/lib/libClp.so.1 +0 -0
  256. data/ext/ruby-cbc/install/lib/libClp.so.1.13.9 +0 -0
  257. data/ext/ruby-cbc/install/lib/libClpSolver.la +0 -35
  258. data/ext/ruby-cbc/install/lib/libClpSolver.so +0 -0
  259. data/ext/ruby-cbc/install/lib/libClpSolver.so.1 +0 -0
  260. data/ext/ruby-cbc/install/lib/libClpSolver.so.1.13.9 +0 -0
  261. data/ext/ruby-cbc/install/lib/libCoinUtils.la +0 -35
  262. data/ext/ruby-cbc/install/lib/libCoinUtils.so +0 -0
  263. data/ext/ruby-cbc/install/lib/libCoinUtils.so.3 +0 -0
  264. data/ext/ruby-cbc/install/lib/libCoinUtils.so.3.10.11 +0 -0
  265. data/ext/ruby-cbc/install/lib/libOsi.la +0 -35
  266. data/ext/ruby-cbc/install/lib/libOsi.so +0 -0
  267. data/ext/ruby-cbc/install/lib/libOsi.so.1 +0 -0
  268. data/ext/ruby-cbc/install/lib/libOsi.so.1.12.6 +0 -0
  269. data/ext/ruby-cbc/install/lib/libOsiCbc.la +0 -35
  270. data/ext/ruby-cbc/install/lib/libOsiCbc.so +0 -0
  271. data/ext/ruby-cbc/install/lib/libOsiCbc.so.3 +0 -0
  272. data/ext/ruby-cbc/install/lib/libOsiCbc.so.3.9.7 +0 -0
  273. data/ext/ruby-cbc/install/lib/libOsiClp.la +0 -35
  274. data/ext/ruby-cbc/install/lib/libOsiClp.so +0 -0
  275. data/ext/ruby-cbc/install/lib/libOsiClp.so.1 +0 -0
  276. data/ext/ruby-cbc/install/lib/libOsiClp.so.1.13.9 +0 -0
  277. data/ext/ruby-cbc/install/lib/libOsiCommonTests.la +0 -35
  278. data/ext/ruby-cbc/install/lib/libOsiCommonTests.so +0 -0
  279. data/ext/ruby-cbc/install/lib/libOsiCommonTests.so.1 +0 -0
  280. data/ext/ruby-cbc/install/lib/libOsiCommonTests.so.1.12.6 +0 -0
  281. data/ext/ruby-cbc/install/lib/pkgconfig/cbc.pc +0 -12
  282. data/ext/ruby-cbc/install/lib/pkgconfig/cgl.pc +0 -12
  283. data/ext/ruby-cbc/install/lib/pkgconfig/clp.pc +0 -12
  284. data/ext/ruby-cbc/install/lib/pkgconfig/coindatamiplib3.pc +0 -9
  285. data/ext/ruby-cbc/install/lib/pkgconfig/coindatasample.pc +0 -9
  286. data/ext/ruby-cbc/install/lib/pkgconfig/coinutils.pc +0 -12
  287. data/ext/ruby-cbc/install/lib/pkgconfig/osi-cbc.pc +0 -12
  288. data/ext/ruby-cbc/install/lib/pkgconfig/osi-clp.pc +0 -12
  289. data/ext/ruby-cbc/install/lib/pkgconfig/osi-unittests.pc +0 -12
  290. data/ext/ruby-cbc/install/lib/pkgconfig/osi.pc +0 -12
@@ -1,64 +0,0 @@
1
- /* $Id: CoinTypes.hpp 1762 2014-12-29 20:37:12Z tkr $ */
2
- // Copyright (C) 2004, International Business Machines
3
- // Corporation and others. All Rights Reserved.
4
- // This code is licensed under the terms of the Eclipse Public License (EPL).
5
-
6
- #ifndef _CoinTypes_hpp
7
- #define _CoinTypes_hpp
8
-
9
- #include "CoinUtilsConfig.h"
10
- /* On some systems, we require stdint.h to have the 64bit integer type defined. */
11
- #ifdef COINUTILS_HAS_STDINT_H
12
- #include <stdint.h>
13
- #endif
14
- #ifdef COINUTILS_HAS_CSTDINT
15
- #include <cstdint>
16
- #endif
17
-
18
- #define CoinInt64 COIN_INT64_T
19
- #define CoinUInt64 COIN_UINT64_T
20
- #define CoinIntPtr COIN_INTPTR_T
21
-
22
- //=============================================================================
23
- #ifndef COIN_BIG_INDEX
24
- #define COIN_BIG_INDEX 0
25
- #endif
26
-
27
- #if COIN_BIG_INDEX==0
28
- typedef int CoinBigIndex;
29
- #elif COIN_BIG_INDEX==1
30
- typedef long CoinBigIndex;
31
- #else
32
- typedef long long CoinBigIndex;
33
- #endif
34
-
35
- //=============================================================================
36
- #ifndef COIN_BIG_DOUBLE
37
- #define COIN_BIG_DOUBLE 0
38
- #endif
39
-
40
- // See if we want the ability to have long double work arrays
41
- #if COIN_BIG_DOUBLE==2
42
- #undef COIN_BIG_DOUBLE
43
- #define COIN_BIG_DOUBLE 0
44
- #define COIN_LONG_WORK 1
45
- typedef long double CoinWorkDouble;
46
- #elif COIN_BIG_DOUBLE==3
47
- #undef COIN_BIG_DOUBLE
48
- #define COIN_BIG_DOUBLE 1
49
- #define COIN_LONG_WORK 1
50
- typedef long double CoinWorkDouble;
51
- #else
52
- #define COIN_LONG_WORK 0
53
- typedef double CoinWorkDouble;
54
- #endif
55
-
56
- #if COIN_BIG_DOUBLE==0
57
- typedef double CoinFactorizationDouble;
58
- #elif COIN_BIG_DOUBLE==1
59
- typedef long double CoinFactorizationDouble;
60
- #else
61
- typedef double CoinFactorizationDouble;
62
- #endif
63
-
64
- #endif
@@ -1,19 +0,0 @@
1
- /* $Id: CoinUtility.hpp 1372 2011-01-03 23:31:00Z lou $ */
2
- // Copyright (C) 2004, International Business Machines
3
- // Corporation and others. All Rights Reserved.
4
- // This code is licensed under the terms of the Eclipse Public License (EPL).
5
-
6
- #ifndef CoinUtility_h_
7
- #define CoinUtility_h_
8
-
9
- #include "CoinSort.hpp"
10
-
11
- template <typename S, typename T>
12
- CoinPair<S,T> CoinMakePair(const S& s, const T& t)
13
- { return CoinPair<S,T>(s, t); }
14
-
15
- template <typename S, typename T, typename U>
16
- CoinTriple<S,T,U> CoinMakeTriple(const S& s, const T& t, const U& u)
17
- { return CoinTriple<S,T,U>(s, t, u); }
18
-
19
- #endif
@@ -1,34 +0,0 @@
1
- /* src/config_coinutils.h. Generated by configure. */
2
- /* inc/config_coinutils.h.in. */
3
-
4
- #ifndef __CONFIG_COINUTILS_H__
5
- #define __CONFIG_COINUTILS_H__
6
-
7
- /* Define to 1 if stdint.h is available for CoinUtils */
8
- #define COINUTILS_HAS_STDINT_H 1
9
-
10
- /* Define to 1 if stdint.h is available for CoinUtils */
11
- /* #undef COINUTILS_HAS_CSTDINT */
12
-
13
- /* Version number of project */
14
- #define COINUTILS_VERSION "2.10.11"
15
-
16
- /* Major Version number of project */
17
- #define COINUTILS_VERSION_MAJOR 2
18
-
19
- /* Minor Version number of project */
20
- #define COINUTILS_VERSION_MINOR 10
21
-
22
- /* Release Version number of project */
23
- #define COINUTILS_VERSION_RELEASE 11
24
-
25
- /* Define to 64bit integer type */
26
- #define COIN_INT64_T int64_t
27
-
28
- /* Define to integer type capturing pointer */
29
- #define COIN_INTPTR_T intptr_t
30
-
31
- /* Define to 64bit unsigned integer type */
32
- #define COIN_UINT64_T int64_t
33
-
34
- #endif
@@ -1,58 +0,0 @@
1
- /* $Id: CoinWarmStart.hpp 1372 2011-01-03 23:31:00Z lou $ */
2
- // Copyright (C) 2000, International Business Machines
3
- // Corporation and others. All Rights Reserved.
4
- // This code is licensed under the terms of the Eclipse Public License (EPL).
5
-
6
- #ifndef CoinWarmStart_H
7
- #define CoinWarmStart_H
8
-
9
- //#############################################################################
10
-
11
- class CoinWarmStartDiff;
12
-
13
- /** Abstract base class for warm start information.
14
-
15
- Really nothing can be generalized for warm start information --- all we
16
- know is that it exists. Hence the abstract base class contains only a
17
- virtual destructor and a virtual clone function (a virtual constructor),
18
- so that derived classes can provide these functions.
19
- */
20
-
21
- class CoinWarmStart {
22
- public:
23
-
24
- /// Abstract destructor
25
- virtual ~CoinWarmStart() {}
26
-
27
- /// `Virtual constructor'
28
- virtual CoinWarmStart *clone() const = 0 ;
29
-
30
- virtual CoinWarmStartDiff*
31
- generateDiff (const CoinWarmStart *const ) const { return 0; }
32
-
33
-
34
- virtual void
35
- applyDiff (const CoinWarmStartDiff *const ) {}
36
-
37
- };
38
-
39
-
40
- /*! \class CoinWarmStartDiff
41
- \brief Abstract base class for warm start `diff' objects
42
-
43
- For those types of warm start objects where the notion of a `diff' makes
44
- sense, this virtual base class is provided. As with CoinWarmStart, its sole
45
- reason for existence is to make it possible to write solver-independent code.
46
- */
47
-
48
- class CoinWarmStartDiff {
49
- public:
50
-
51
- /// Abstract destructor
52
- virtual ~CoinWarmStartDiff() {}
53
-
54
- /// `Virtual constructor'
55
- virtual CoinWarmStartDiff *clone() const = 0 ;
56
- };
57
-
58
- #endif
@@ -1,456 +0,0 @@
1
- /* $Id: CoinWarmStartBasis.hpp 1515 2011-12-10 23:38:04Z lou $ */
2
- /*! \legal
3
- Copyright (C) 2000 -- 2003, International Business Machines Corporation
4
- and others. All Rights Reserved.
5
- This code is licensed under the terms of the Eclipse Public License (EPL).
6
- */
7
-
8
- /*! \file CoinWarmStart.hpp
9
- \brief Declaration of the generic simplex (basis-oriented) warm start
10
- class. Also contains a basis diff class.
11
- */
12
-
13
- #ifndef CoinWarmStartBasis_H
14
- #define CoinWarmStartBasis_H
15
-
16
- #include <vector>
17
-
18
- #include "CoinSort.hpp"
19
- #include "CoinHelperFunctions.hpp"
20
- #include "CoinWarmStart.hpp"
21
-
22
- //#############################################################################
23
-
24
- /*! \class CoinWarmStartBasis
25
- \brief The default COIN simplex (basis-oriented) warm start class
26
-
27
- CoinWarmStartBasis provides for a warm start object which contains the
28
- status of each variable (structural and artificial).
29
-
30
- \todo Modify this class so that the number of status entries per byte
31
- and bytes per status vector allocation unit are not hardcoded.
32
- At the least, collect this into a couple of macros.
33
-
34
- \todo Consider separate fields for allocated capacity and actual basis
35
- size. We could avoid some reallocation, at the price of retaining
36
- more space than we need. Perhaps more important, we could do much
37
- better sanity checks.
38
- */
39
-
40
- class CoinWarmStartBasis : public virtual CoinWarmStart {
41
- public:
42
-
43
- /*! \brief Enum for status of variables
44
-
45
- Matches CoinPrePostsolveMatrix::Status, without superBasic. Most code that
46
- converts between CoinPrePostsolveMatrix::Status and
47
- CoinWarmStartBasis::Status will break if this correspondence is broken.
48
-
49
- The status vectors are currently packed using two bits per status code,
50
- four codes per byte. The location of the status information for
51
- variable \c i is in byte <code>i>>2</code> and occupies bits 0:1
52
- if <code>i\%4 == 0</code>, bits 2:3 if <code>i\%4 == 1</code>, etc.
53
- The non-member functions getStatus(const char*,int) and
54
- setStatus(char*,int,CoinWarmStartBasis::Status) are provided to hide
55
- details of the packing.
56
- */
57
- enum Status {
58
- isFree = 0x00, ///< Nonbasic free variable
59
- basic = 0x01, ///< Basic variable
60
- atUpperBound = 0x02, ///< Nonbasic at upper bound
61
- atLowerBound = 0x03 ///< Nonbasic at lower bound
62
- };
63
-
64
- /** \brief Transfer vector entry for
65
- mergeBasis(const CoinWarmStartBasis*,const XferVec*,const XferVec*)
66
- */
67
- typedef CoinTriple<int,int,int> XferEntry ;
68
-
69
- /** \brief Transfer vector for
70
- mergeBasis(const CoinWarmStartBasis*,const XferVec*,const XferVec*)
71
- */
72
- typedef std::vector<XferEntry> XferVec ;
73
-
74
- public:
75
-
76
- /*! \name Methods to get and set basis information.
77
-
78
- The status of variables is kept in a pair of arrays, one for structural
79
- variables, and one for artificials (aka logicals and slacks). The status
80
- is coded using the values of the Status enum.
81
-
82
- \sa CoinWarmStartBasis::Status for a description of the packing used in
83
- the status arrays.
84
- */
85
- //@{
86
- /// Return the number of structural variables
87
- inline int getNumStructural() const { return numStructural_; }
88
-
89
- /// Return the number of artificial variables
90
- inline int getNumArtificial() const { return numArtificial_; }
91
-
92
- /** Return the number of basic structurals
93
-
94
- A fast test for an all-slack basis.
95
- */
96
- int numberBasicStructurals() const ;
97
-
98
- /// Return the status of the specified structural variable.
99
- inline Status getStructStatus(int i) const {
100
- const int st = (structuralStatus_[i>>2] >> ((i&3)<<1)) & 3;
101
- return static_cast<CoinWarmStartBasis::Status>(st);
102
- }
103
-
104
- /// Set the status of the specified structural variable.
105
- inline void setStructStatus(int i, Status st) {
106
- char& st_byte = structuralStatus_[i>>2];
107
- st_byte = static_cast<char>(st_byte & ~(3 << ((i&3)<<1))) ;
108
- st_byte = static_cast<char>(st_byte | (st << ((i&3)<<1))) ;
109
- }
110
-
111
- /** Return the status array for the structural variables
112
-
113
- The status information is stored using the codes defined in the
114
- Status enum, 2 bits per variable, packed 4 variables per byte.
115
- */
116
- inline char * getStructuralStatus() { return structuralStatus_; }
117
-
118
- /** \c const overload for
119
- \link CoinWarmStartBasis::getStructuralStatus()
120
- getStructuralStatus()
121
- \endlink
122
- */
123
- inline const char * getStructuralStatus() const { return structuralStatus_; }
124
-
125
- /** As for \link getStructuralStatus() getStructuralStatus \endlink,
126
- but returns the status array for the artificial variables.
127
- */
128
- inline char * getArtificialStatus() { return artificialStatus_; }
129
-
130
- /// Return the status of the specified artificial variable.
131
- inline Status getArtifStatus(int i) const {
132
- const int st = (artificialStatus_[i>>2] >> ((i&3)<<1)) & 3;
133
- return static_cast<CoinWarmStartBasis::Status>(st);
134
- }
135
-
136
- /// Set the status of the specified artificial variable.
137
- inline void setArtifStatus(int i, Status st) {
138
- char& st_byte = artificialStatus_[i>>2];
139
- st_byte = static_cast<char>(st_byte & ~(3 << ((i&3)<<1))) ;
140
- st_byte = static_cast<char>(st_byte | (st << ((i&3)<<1))) ;
141
- }
142
-
143
- /** \c const overload for
144
- \link CoinWarmStartBasis::getArtificialStatus()
145
- getArtificialStatus()
146
- \endlink
147
- */
148
- inline const char * getArtificialStatus() const { return artificialStatus_; }
149
-
150
- //@}
151
-
152
- /*! \name Basis `diff' methods */
153
- //@{
154
-
155
- /*! \brief Generate a `diff' that can convert the warm start basis passed as
156
- a parameter to the warm start basis specified by \c this.
157
-
158
- The capabilities are limited: the basis passed as a parameter can be no
159
- larger than the basis pointed to by \c this.
160
- */
161
-
162
- virtual CoinWarmStartDiff*
163
- generateDiff (const CoinWarmStart *const oldCWS) const ;
164
-
165
- /*! \brief Apply \p diff to this basis
166
-
167
- Update this basis by applying \p diff. It's assumed that the allocated
168
- capacity of the basis is sufficiently large.
169
- */
170
-
171
- virtual void
172
- applyDiff (const CoinWarmStartDiff *const cwsdDiff) ;
173
-
174
- //@}
175
-
176
-
177
- /*! \name Methods to modify the warm start object */
178
- //@{
179
-
180
- /*! \brief Set basis capacity; existing basis is discarded.
181
-
182
- After execution of this routine, the warm start object does not describe
183
- a valid basis: all structural and artificial variables have status isFree.
184
- */
185
- virtual void setSize(int ns, int na) ;
186
-
187
- /*! \brief Set basis capacity; existing basis is maintained.
188
-
189
- After execution of this routine, the warm start object describes a valid
190
- basis: the status of new structural variables (added columns) is set to
191
- nonbasic at lower bound, and the status of new artificial variables
192
- (added rows) is set to basic. (The basis can be invalid if new structural
193
- variables do not have a finite lower bound.)
194
- */
195
- virtual void resize (int newNumberRows, int newNumberColumns);
196
-
197
- /** \brief Delete a set of rows from the basis
198
-
199
- \warning
200
- This routine assumes that the set of indices to be deleted is sorted in
201
- ascending order and contains no duplicates. Use deleteRows() if this is
202
- not the case.
203
-
204
- \warning
205
- The resulting basis is guaranteed valid only if all deleted
206
- constraints are slack (hence the associated logicals are basic).
207
-
208
- Removal of a tight constraint with a nonbasic logical implies that
209
- some basic variable must be made nonbasic. This correction is left to
210
- the client.
211
- */
212
-
213
- virtual void compressRows (int tgtCnt, const int *tgts) ;
214
-
215
- /** \brief Delete a set of rows from the basis
216
-
217
- \warning
218
- The resulting basis is guaranteed valid only if all deleted
219
- constraints are slack (hence the associated logicals are basic).
220
-
221
- Removal of a tight constraint with a nonbasic logical implies that
222
- some basic variable must be made nonbasic. This correction is left to
223
- the client.
224
- */
225
-
226
- virtual void deleteRows(int rawTgtCnt, const int *rawTgts) ;
227
-
228
- /** \brief Delete a set of columns from the basis
229
-
230
- \warning
231
- The resulting basis is guaranteed valid only if all deleted variables
232
- are nonbasic.
233
-
234
- Removal of a basic variable implies that some nonbasic variable must be
235
- made basic. This correction is left to the client.
236
- */
237
-
238
- virtual void deleteColumns(int number, const int * which);
239
-
240
- /** \brief Merge entries from a source basis into this basis.
241
-
242
- \warning
243
- It's the client's responsibility to ensure validity of the merged basis,
244
- if that's important to the application.
245
-
246
- The vector xferCols (xferRows) specifies runs of entries to be taken from
247
- the source basis and placed in this basis. Each entry is a CoinTriple,
248
- with first specifying the starting source index of a run, second
249
- specifying the starting destination index, and third specifying the run
250
- length.
251
- */
252
- virtual void mergeBasis(const CoinWarmStartBasis *src,
253
- const XferVec *xferRows,
254
- const XferVec *xferCols) ;
255
-
256
- //@}
257
-
258
- /*! \name Constructors, destructors, and related functions */
259
-
260
- //@{
261
-
262
- /** Default constructor
263
-
264
- Creates a warm start object representing an empty basis
265
- (0 rows, 0 columns).
266
- */
267
- CoinWarmStartBasis();
268
-
269
- /** Constructs a warm start object with the specified status vectors.
270
-
271
- The parameters are copied.
272
- Consider assignBasisStatus(int,int,char*&,char*&) if the object should
273
- assume ownership.
274
-
275
- \sa CoinWarmStartBasis::Status for a description of the packing used in
276
- the status arrays.
277
- */
278
- CoinWarmStartBasis(int ns, int na, const char* sStat, const char* aStat) ;
279
-
280
- /** Copy constructor */
281
- CoinWarmStartBasis(const CoinWarmStartBasis& ws) ;
282
-
283
- /** `Virtual constructor' */
284
- virtual CoinWarmStart *clone() const
285
- {
286
- return new CoinWarmStartBasis(*this);
287
- }
288
-
289
- /** Destructor */
290
- virtual ~CoinWarmStartBasis();
291
-
292
- /** Assignment */
293
-
294
- virtual CoinWarmStartBasis& operator=(const CoinWarmStartBasis& rhs) ;
295
-
296
- /** Assign the status vectors to be the warm start information.
297
-
298
- In this method the CoinWarmStartBasis object assumes ownership of the
299
- pointers and upon return the argument pointers will be NULL.
300
- If copying is desirable, use the
301
- \link CoinWarmStartBasis(int,int,const char*,const char*)
302
- array constructor \endlink
303
- or the
304
- \link operator=(const CoinWarmStartBasis&)
305
- assignment operator \endlink.
306
-
307
- \note
308
- The pointers passed to this method will be
309
- freed using delete[], so they must be created using new[].
310
- */
311
- virtual void assignBasisStatus(int ns, int na, char*& sStat, char*& aStat) ;
312
- //@}
313
-
314
- /*! \name Miscellaneous methods */
315
- //@{
316
-
317
- /// Prints in readable format (for debug)
318
- virtual void print() const;
319
- /// Returns true if full basis (for debug)
320
- bool fullBasis() const;
321
- /// Returns true if full basis and fixes up (for debug)
322
- bool fixFullBasis();
323
-
324
- //@}
325
-
326
- protected:
327
- /** \name Protected data members
328
-
329
- \sa CoinWarmStartBasis::Status for a description of the packing used in
330
- the status arrays.
331
- */
332
- //@{
333
- /// The number of structural variables
334
- int numStructural_;
335
- /// The number of artificial variables
336
- int numArtificial_;
337
- /// The maximum sise (in ints - actually 4*char) (so resize does not need to do new)
338
- int maxSize_;
339
- /** The status of the structural variables. */
340
- char * structuralStatus_;
341
- /** The status of the artificial variables. */
342
- char * artificialStatus_;
343
- //@}
344
- };
345
-
346
-
347
- /*! \relates CoinWarmStartBasis
348
- \brief Get the status of the specified variable in the given status array.
349
- */
350
-
351
- inline CoinWarmStartBasis::Status getStatus(const char *array, int i) {
352
- const int st = (array[i>>2] >> ((i&3)<<1)) & 3;
353
- return static_cast<CoinWarmStartBasis::Status>(st);
354
- }
355
-
356
- /*! \relates CoinWarmStartBasis
357
- \brief Set the status of the specified variable in the given status array.
358
- */
359
-
360
- inline void setStatus(char * array, int i, CoinWarmStartBasis::Status st) {
361
- char& st_byte = array[i>>2];
362
- st_byte = static_cast<char>(st_byte & ~(3 << ((i&3)<<1))) ;
363
- st_byte = static_cast<char>(st_byte | (st << ((i&3)<<1))) ;
364
- }
365
-
366
- /*! \relates CoinWarmStartBasis
367
- \brief Generate a print string for a status code
368
- */
369
- const char *statusName(CoinWarmStartBasis::Status status) ;
370
-
371
-
372
- /*! \class CoinWarmStartBasisDiff
373
- \brief A `diff' between two CoinWarmStartBasis objects
374
-
375
- This class exists in order to hide from the world the details of
376
- calculating and representing a `diff' between two CoinWarmStartBasis
377
- objects. For convenience, assignment, cloning, and deletion are visible to
378
- the world, and default and copy constructors are made available to derived
379
- classes. Knowledge of the rest of this structure, and of generating and
380
- applying diffs, is restricted to the friend functions
381
- CoinWarmStartBasis::generateDiff() and CoinWarmStartBasis::applyDiff().
382
-
383
- The actual data structure is an unsigned int vector, #difference_ which
384
- starts with indices of changed and then has values starting after #sze_
385
-
386
- \todo This is a pretty generic structure, and vector diff is a pretty generic
387
- activity. We should be able to convert this to a template.
388
-
389
- \todo Using unsigned int as the data type for the diff vectors might help
390
- to contain the damage when this code is inevitably compiled for 64 bit
391
- architectures. But the notion of int as 4 bytes is hardwired into
392
- CoinWarmStartBasis, so changes are definitely required.
393
- */
394
-
395
- class CoinWarmStartBasisDiff : public virtual CoinWarmStartDiff
396
- { public:
397
-
398
- /*! \brief `Virtual constructor' */
399
- virtual CoinWarmStartDiff *clone() const
400
- { CoinWarmStartBasisDiff *cwsbd = new CoinWarmStartBasisDiff(*this) ;
401
- return (dynamic_cast<CoinWarmStartDiff *>(cwsbd)) ; }
402
-
403
- /*! \brief Assignment */
404
- virtual
405
- CoinWarmStartBasisDiff &operator= (const CoinWarmStartBasisDiff &rhs) ;
406
-
407
- /*! \brief Destructor */
408
- virtual ~CoinWarmStartBasisDiff();
409
-
410
- protected:
411
-
412
- /*! \brief Default constructor
413
-
414
- This is protected (rather than private) so that derived classes can
415
- see it when they make <i>their</i> default constructor protected or
416
- private.
417
- */
418
- CoinWarmStartBasisDiff () : sze_(0), difference_(0) { }
419
-
420
- /*! \brief Copy constructor
421
-
422
- For convenience when copying objects containing CoinWarmStartBasisDiff
423
- objects. But consider whether you should be using #clone() to retain
424
- polymorphism.
425
-
426
- This is protected (rather than private) so that derived classes can
427
- see it when they make <i>their</i> copy constructor protected or
428
- private.
429
- */
430
- CoinWarmStartBasisDiff (const CoinWarmStartBasisDiff &cwsbd) ;
431
-
432
- /*! \brief Standard constructor */
433
- CoinWarmStartBasisDiff (int sze, const unsigned int *const diffNdxs,
434
- const unsigned int *const diffVals) ;
435
-
436
- /*! \brief Constructor when full is smaller than diff!*/
437
- CoinWarmStartBasisDiff (const CoinWarmStartBasis * rhs);
438
-
439
- private:
440
-
441
- friend CoinWarmStartDiff*
442
- CoinWarmStartBasis::generateDiff(const CoinWarmStart *const oldCWS) const ;
443
- friend void
444
- CoinWarmStartBasis::applyDiff(const CoinWarmStartDiff *const diff) ;
445
-
446
- /*! \brief Number of entries (and allocated capacity), in units of \c int. */
447
- int sze_ ;
448
-
449
- /*! \brief Array of diff indices and diff values */
450
-
451
- unsigned int *difference_ ;
452
-
453
- } ;
454
-
455
-
456
- #endif