ruby-cbc 0.1.9 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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,126 +0,0 @@
1
- /* $Id: ClpParameters.hpp 2046 2014-08-14 04:13:10Z tkr $ */
2
- // Copyright (C) 2000, 2002, 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 _ClpParameters_H
7
- #define _ClpParameters_H
8
-
9
- /** This is where to put any useful stuff.
10
-
11
- */
12
- enum ClpIntParam {
13
- /** The maximum number of iterations Clp can execute in the simplex methods
14
- */
15
- ClpMaxNumIteration = 0,
16
- /** The maximum number of iterations Clp can execute in hotstart before
17
- terminating */
18
- ClpMaxNumIterationHotStart,
19
- /** The name discipline; specifies how the solver will handle row and
20
- column names.
21
- - 0: Auto names: Names cannot be set by the client. Names of the form
22
- Rnnnnnnn or Cnnnnnnn are generated on demand when a name for a
23
- specific row or column is requested; nnnnnnn is derived from the row
24
- or column index. Requests for a vector of names return a vector with
25
- zero entries.
26
- - 1: Lazy names: Names supplied by the client are retained. Names of the
27
- form Rnnnnnnn or Cnnnnnnn are generated on demand if no name has been
28
- supplied by the client. Requests for a vector of names return a
29
- vector sized to the largest index of a name supplied by the client;
30
- some entries in the vector may be null strings.
31
- - 2: Full names: Names supplied by the client are retained. Names of the
32
- form Rnnnnnnn or Cnnnnnnn are generated on demand if no name has been
33
- supplied by the client. Requests for a vector of names return a
34
- vector sized to match the constraint system, and all entries will
35
- contain either the name specified by the client or a generated name.
36
- */
37
- ClpNameDiscipline,
38
- /** Just a marker, so that we can allocate a static sized array to store
39
- parameters. */
40
- ClpLastIntParam
41
- };
42
-
43
- enum ClpDblParam {
44
- /** Set Dual objective limit. This is to be used as a termination criteria
45
- in methods where the dual objective monotonically changes (dual
46
- simplex). */
47
- ClpDualObjectiveLimit,
48
- /** Primal objective limit. This is to be used as a termination
49
- criteria in methods where the primal objective monotonically changes
50
- (e.g., primal simplex) */
51
- ClpPrimalObjectiveLimit,
52
- /** The maximum amount the dual constraints can be violated and still be
53
- considered feasible. */
54
- ClpDualTolerance,
55
- /** The maximum amount the primal constraints can be violated and still be
56
- considered feasible. */
57
- ClpPrimalTolerance,
58
- /** Objective function constant. This the value of the constant term in
59
- the objective function. */
60
- ClpObjOffset,
61
- /// Maximum time in seconds - after, this action is as max iterations
62
- ClpMaxSeconds,
63
- /// Maximum wallclock running time in seconds - after, this action is as max iterations
64
- ClpMaxWallSeconds,
65
- /// Tolerance to use in presolve
66
- ClpPresolveTolerance,
67
- /** Just a marker, so that we can allocate a static sized array to store
68
- parameters. */
69
- ClpLastDblParam
70
- };
71
-
72
-
73
- enum ClpStrParam {
74
- /** Name of the problem. This is the found on the Name card of
75
- an mps file. */
76
- ClpProbName = 0,
77
- /** Just a marker, so that we can allocate a static sized array to store
78
- parameters. */
79
- ClpLastStrParam
80
- };
81
-
82
- /// Copy (I don't like complexity of Coin version)
83
- template <class T> inline void
84
- ClpDisjointCopyN( const T * array, const int size, T * newArray)
85
- {
86
- memcpy(reinterpret_cast<void *> (newArray), array, size * sizeof(T));
87
- }
88
- /// And set
89
- template <class T> inline void
90
- ClpFillN( T * array, const int size, T value)
91
- {
92
- int i;
93
- for (i = 0; i < size; i++)
94
- array[i] = value;
95
- }
96
- /// This returns a non const array filled with input from scalar or actual array
97
- template <class T> inline T*
98
- ClpCopyOfArray( const T * array, const int size, T value)
99
- {
100
- T * arrayNew = new T[size];
101
- if (array)
102
- ClpDisjointCopyN(array, size, arrayNew);
103
- else
104
- ClpFillN ( arrayNew, size, value);
105
- return arrayNew;
106
- }
107
-
108
- /// This returns a non const array filled with actual array (or NULL)
109
- template <class T> inline T*
110
- ClpCopyOfArray( const T * array, const int size)
111
- {
112
- if (array) {
113
- T * arrayNew = new T[size];
114
- ClpDisjointCopyN(array, size, arrayNew);
115
- return arrayNew;
116
- } else {
117
- return NULL;
118
- }
119
- }
120
- /// For a structure to be used by trusted code
121
- typedef struct {
122
- int typeStruct; // allocated as 1,2 etc
123
- int typeCall;
124
- void * data;
125
- } ClpTrustedData;
126
- #endif
@@ -1,103 +0,0 @@
1
- /* $Id: ClpPdcoBase.hpp 1665 2011-01-04 17:55:54Z lou $ */
2
- // Copyright (C) 2003, 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 ClpPdcoBase_H
7
- #define ClpPdcoBase_H
8
-
9
- #include "CoinPragma.hpp"
10
-
11
- #include "CoinPackedMatrix.hpp"
12
- #include "CoinDenseVector.hpp"
13
- class ClpInterior;
14
-
15
- /** Abstract base class for tailoring everything for Pcdo
16
-
17
- Since this class is abstract, no object of this type can be created.
18
-
19
- If a derived class provides all methods then all ClpPcdo algorithms
20
- should work.
21
-
22
- Eventually we should be able to use ClpObjective and ClpMatrixBase.
23
- */
24
-
25
- class ClpPdcoBase {
26
-
27
- public:
28
- /**@name Virtual methods that the derived classes must provide */
29
- //@{
30
- virtual void matVecMult(ClpInterior * model, int mode, double * x, double * y) const = 0;
31
-
32
- virtual void getGrad(ClpInterior * model, CoinDenseVector<double> &x, CoinDenseVector<double> &grad) const = 0;
33
-
34
- virtual void getHessian(ClpInterior * model, CoinDenseVector<double> &x, CoinDenseVector<double> &H) const = 0;
35
-
36
- virtual double getObj(ClpInterior * model, CoinDenseVector<double> &x) const = 0;
37
-
38
- virtual void matPrecon(ClpInterior * model, double delta, double * x, double * y) const = 0;
39
-
40
- //@}
41
- //@{
42
- ///@name Other
43
- /// Clone
44
- virtual ClpPdcoBase * clone() const = 0;
45
- /// Returns type
46
- inline int type() const {
47
- return type_;
48
- };
49
- /// Sets type
50
- inline void setType(int type) {
51
- type_ = type;
52
- };
53
- /// Returns size of d1
54
- inline int sizeD1() const {
55
- return 1;
56
- };
57
- /// Returns d1 as scalar
58
- inline double getD1() const {
59
- return d1_;
60
- };
61
- /// Returns size of d2
62
- inline int sizeD2() const {
63
- return 1;
64
- };
65
- /// Returns d2 as scalar
66
- inline double getD2() const {
67
- return d2_;
68
- };
69
- //@}
70
-
71
-
72
- protected:
73
-
74
- /**@name Constructors, destructor<br>
75
- <strong>NOTE</strong>: All constructors are protected. There's no need
76
- to expose them, after all, this is an abstract class. */
77
- //@{
78
- /** Default constructor. */
79
- ClpPdcoBase();
80
- /** Destructor (has to be public) */
81
- public:
82
- virtual ~ClpPdcoBase();
83
- protected:
84
- // Copy
85
- ClpPdcoBase(const ClpPdcoBase&);
86
- // Assignment
87
- ClpPdcoBase& operator=(const ClpPdcoBase&);
88
- //@}
89
-
90
-
91
- protected:
92
- /**@name Data members
93
- The data members are protected to allow access for derived classes. */
94
- //@{
95
- /// Should be dense vectors
96
- double d1_;
97
- double d2_;
98
- /// type (may be useful)
99
- int type_;
100
- //@}
101
- };
102
-
103
- #endif
@@ -1,290 +0,0 @@
1
- /* $Id: ClpPlusMinusOneMatrix.hpp 2078 2015-01-05 12:39:49Z forrest $ */
2
- // Copyright (C) 2003, 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 ClpPlusMinusOneMatrix_H
7
- #define ClpPlusMinusOneMatrix_H
8
-
9
-
10
- #include "CoinPragma.hpp"
11
-
12
- #include "ClpMatrixBase.hpp"
13
-
14
- /** This implements a simple +- one matrix as derived from ClpMatrixBase.
15
-
16
- */
17
-
18
- class ClpPlusMinusOneMatrix : public ClpMatrixBase {
19
-
20
- public:
21
- /**@name Useful methods */
22
- //@{
23
- /// Return a complete CoinPackedMatrix
24
- virtual CoinPackedMatrix * getPackedMatrix() const;
25
- /** Whether the packed matrix is column major ordered or not. */
26
- virtual bool isColOrdered() const ;
27
- /** Number of entries in the packed matrix. */
28
- virtual CoinBigIndex getNumElements() const;
29
- /** Number of columns. */
30
- virtual int getNumCols() const {
31
- return numberColumns_;
32
- }
33
- /** Number of rows. */
34
- virtual int getNumRows() const {
35
- return numberRows_;
36
- }
37
-
38
- /** A vector containing the elements in the packed matrix. Note that there
39
- might be gaps in this list, entries that do not belong to any
40
- major-dimension vector. To get the actual elements one should look at
41
- this vector together with vectorStarts and vectorLengths. */
42
- virtual const double * getElements() const;
43
- /** A vector containing the minor indices of the elements in the packed
44
- matrix. Note that there might be gaps in this list, entries that do not
45
- belong to any major-dimension vector. To get the actual elements one
46
- should look at this vector together with vectorStarts and
47
- vectorLengths. */
48
- virtual const int * getIndices() const {
49
- return indices_;
50
- }
51
- // and for advanced use
52
- int * getMutableIndices() const {
53
- return indices_;
54
- }
55
-
56
- virtual const CoinBigIndex * getVectorStarts() const;
57
- /** The lengths of the major-dimension vectors. */
58
- virtual const int * getVectorLengths() const;
59
-
60
- /** Delete the columns whose indices are listed in <code>indDel</code>. */
61
- virtual void deleteCols(const int numDel, const int * indDel);
62
- /** Delete the rows whose indices are listed in <code>indDel</code>. */
63
- virtual void deleteRows(const int numDel, const int * indDel);
64
- /// Append Columns
65
- virtual void appendCols(int number, const CoinPackedVectorBase * const * columns);
66
- /// Append Rows
67
- virtual void appendRows(int number, const CoinPackedVectorBase * const * rows);
68
- #ifndef SLIM_CLP
69
- /** Append a set of rows/columns to the end of the matrix. Returns number of errors
70
- i.e. if any of the new rows/columns contain an index that's larger than the
71
- number of columns-1/rows-1 (if numberOther>0) or duplicates
72
- If 0 then rows, 1 if columns */
73
- virtual int appendMatrix(int number, int type,
74
- const CoinBigIndex * starts, const int * index,
75
- const double * element, int numberOther = -1);
76
- #endif
77
- /** Returns a new matrix in reverse order without gaps */
78
- virtual ClpMatrixBase * reverseOrderedCopy() const;
79
- /// Returns number of elements in column part of basis
80
- virtual CoinBigIndex countBasis(
81
- const int * whichColumn,
82
- int & numberColumnBasic);
83
- /// Fills in column part of basis
84
- virtual void fillBasis(ClpSimplex * model,
85
- const int * whichColumn,
86
- int & numberColumnBasic,
87
- int * row, int * start,
88
- int * rowCount, int * columnCount,
89
- CoinFactorizationDouble * element);
90
- /** Given positive integer weights for each row fills in sum of weights
91
- for each column (and slack).
92
- Returns weights vector
93
- */
94
- virtual CoinBigIndex * dubiousWeights(const ClpSimplex * model, int * inputWeights) const;
95
- /** Returns largest and smallest elements of both signs.
96
- Largest refers to largest absolute value.
97
- */
98
- virtual void rangeOfElements(double & smallestNegative, double & largestNegative,
99
- double & smallestPositive, double & largestPositive);
100
- /** Unpacks a column into an CoinIndexedvector
101
- */
102
- virtual void unpack(const ClpSimplex * model, CoinIndexedVector * rowArray,
103
- int column) const ;
104
- /** Unpacks a column into an CoinIndexedvector
105
- ** in packed foramt
106
- Note that model is NOT const. Bounds and objective could
107
- be modified if doing column generation (just for this variable) */
108
- virtual void unpackPacked(ClpSimplex * model,
109
- CoinIndexedVector * rowArray,
110
- int column) const;
111
- /** Adds multiple of a column into an CoinIndexedvector
112
- You can use quickAdd to add to vector */
113
- virtual void add(const ClpSimplex * model, CoinIndexedVector * rowArray,
114
- int column, double multiplier) const ;
115
- /** Adds multiple of a column into an array */
116
- virtual void add(const ClpSimplex * model, double * array,
117
- int column, double multiplier) const;
118
- /// Allow any parts of a created CoinMatrix to be deleted
119
- virtual void releasePackedMatrix() const;
120
- /** Set the dimensions of the matrix. In effect, append new empty
121
- columns/rows to the matrix. A negative number for either dimension
122
- means that that dimension doesn't change. Otherwise the new dimensions
123
- MUST be at least as large as the current ones otherwise an exception
124
- is thrown. */
125
- virtual void setDimensions(int numrows, int numcols);
126
- /// Just checks matrix valid - will say if dimensions not quite right if detail
127
- void checkValid(bool detail) const;
128
- //@}
129
-
130
- /**@name Matrix times vector methods */
131
- //@{
132
- /** Return <code>y + A * scalar *x</code> in <code>y</code>.
133
- @pre <code>x</code> must be of size <code>numColumns()</code>
134
- @pre <code>y</code> must be of size <code>numRows()</code> */
135
- virtual void times(double scalar,
136
- const double * x, double * y) const;
137
- /// And for scaling
138
- virtual void times(double scalar,
139
- const double * x, double * y,
140
- const double * rowScale,
141
- const double * columnScale) const;
142
- /** Return <code>y + x * scalar * A</code> in <code>y</code>.
143
- @pre <code>x</code> must be of size <code>numRows()</code>
144
- @pre <code>y</code> must be of size <code>numColumns()</code> */
145
- virtual void transposeTimes(double scalar,
146
- const double * x, double * y) const;
147
- /// And for scaling
148
- virtual void transposeTimes(double scalar,
149
- const double * x, double * y,
150
- const double * rowScale,
151
- const double * columnScale, double * spare = NULL) const;
152
- /** Return <code>x * scalar * A + y</code> in <code>z</code>.
153
- Can use y as temporary array (will be empty at end)
154
- Note - If x packed mode - then z packed mode
155
- Squashes small elements and knows about ClpSimplex */
156
- virtual void transposeTimes(const ClpSimplex * model, double scalar,
157
- const CoinIndexedVector * x,
158
- CoinIndexedVector * y,
159
- CoinIndexedVector * z) const;
160
- /** Return <code>x * scalar * A + y</code> in <code>z</code>.
161
- Can use y as temporary array (will be empty at end)
162
- Note - If x packed mode - then z packed mode
163
- Squashes small elements and knows about ClpSimplex.
164
- This version uses row copy*/
165
- virtual void transposeTimesByRow(const ClpSimplex * model, double scalar,
166
- const CoinIndexedVector * x,
167
- CoinIndexedVector * y,
168
- CoinIndexedVector * z) const;
169
- /** Return <code>x *A</code> in <code>z</code> but
170
- just for indices in y.
171
- Note - z always packed mode */
172
- virtual void subsetTransposeTimes(const ClpSimplex * model,
173
- const CoinIndexedVector * x,
174
- const CoinIndexedVector * y,
175
- CoinIndexedVector * z) const;
176
- /** Returns true if can combine transposeTimes and subsetTransposeTimes
177
- and if it would be faster */
178
- virtual bool canCombine(const ClpSimplex * model,
179
- const CoinIndexedVector * pi) const;
180
- /// Updates two arrays for steepest
181
- virtual void transposeTimes2(const ClpSimplex * model,
182
- const CoinIndexedVector * pi1, CoinIndexedVector * dj1,
183
- const CoinIndexedVector * pi2,
184
- CoinIndexedVector * spare,
185
- double referenceIn, double devex,
186
- // Array for exact devex to say what is in reference framework
187
- unsigned int * reference,
188
- double * weights, double scaleFactor);
189
- /// Updates second array for steepest and does devex weights
190
- virtual void subsetTimes2(const ClpSimplex * model,
191
- CoinIndexedVector * dj1,
192
- const CoinIndexedVector * pi2, CoinIndexedVector * dj2,
193
- double referenceIn, double devex,
194
- // Array for exact devex to say what is in reference framework
195
- unsigned int * reference,
196
- double * weights, double scaleFactor);
197
- //@}
198
-
199
- /**@name Other */
200
- //@{
201
- /// Return starts of +1s
202
- inline CoinBigIndex * startPositive() const {
203
- return startPositive_;
204
- }
205
- /// Return starts of -1s
206
- inline CoinBigIndex * startNegative() const {
207
- return startNegative_;
208
- }
209
- //@}
210
-
211
-
212
- /**@name Constructors, destructor */
213
- //@{
214
- /** Default constructor. */
215
- ClpPlusMinusOneMatrix();
216
- /** Destructor */
217
- virtual ~ClpPlusMinusOneMatrix();
218
- //@}
219
-
220
- /**@name Copy method */
221
- //@{
222
- /** The copy constructor. */
223
- ClpPlusMinusOneMatrix(const ClpPlusMinusOneMatrix&);
224
- /** The copy constructor from an CoinPlusMinusOneMatrix.
225
- If not a valid matrix then getIndices will be NULL and
226
- startPositive[0] will have number of +1,
227
- startPositive[1] will have number of -1,
228
- startPositive[2] will have number of others,
229
- */
230
- ClpPlusMinusOneMatrix(const CoinPackedMatrix&);
231
- /// Constructor from arrays
232
- ClpPlusMinusOneMatrix(int numberRows, int numberColumns,
233
- bool columnOrdered, const int * indices,
234
- const CoinBigIndex * startPositive, const CoinBigIndex * startNegative);
235
- /** Subset constructor (without gaps). Duplicates are allowed
236
- and order is as given */
237
- ClpPlusMinusOneMatrix (const ClpPlusMinusOneMatrix & wholeModel,
238
- int numberRows, const int * whichRows,
239
- int numberColumns, const int * whichColumns);
240
-
241
- ClpPlusMinusOneMatrix& operator=(const ClpPlusMinusOneMatrix&);
242
- /// Clone
243
- virtual ClpMatrixBase * clone() const ;
244
- /** Subset clone (without gaps). Duplicates are allowed
245
- and order is as given */
246
- virtual ClpMatrixBase * subsetClone (
247
- int numberRows, const int * whichRows,
248
- int numberColumns, const int * whichColumns) const ;
249
- /// pass in copy (object takes ownership)
250
- void passInCopy(int numberRows, int numberColumns,
251
- bool columnOrdered, int * indices,
252
- CoinBigIndex * startPositive, CoinBigIndex * startNegative);
253
- /// Says whether it can do partial pricing
254
- virtual bool canDoPartialPricing() const;
255
- /// Partial pricing
256
- virtual void partialPricing(ClpSimplex * model, double start, double end,
257
- int & bestSequence, int & numberWanted);
258
- //@}
259
-
260
-
261
- protected:
262
- /**@name Data members
263
- The data members are protected to allow access for derived classes. */
264
- //@{
265
- /// For fake CoinPackedMatrix
266
- mutable CoinPackedMatrix * matrix_;
267
- mutable int * lengths_;
268
- /// Start of +1's for each
269
- CoinBigIndex * COIN_RESTRICT startPositive_;
270
- /// Start of -1's for each
271
- CoinBigIndex * COIN_RESTRICT startNegative_;
272
- /// Data -1, then +1 rows in pairs (row==-1 if one entry)
273
- int * COIN_RESTRICT indices_;
274
- /// Number of rows
275
- int numberRows_;
276
- /// Number of columns
277
- int numberColumns_;
278
- #ifdef CLP_PLUS_ONE_MATRIX
279
- /** Other flags (could have columnOrdered_?)
280
- 1 bit - says just +1
281
- */
282
- mutable int otherFlags_;
283
- #endif
284
- /// True if column ordered
285
- bool columnOrdered_;
286
-
287
- //@}
288
- };
289
-
290
- #endif