casadi 3.6.3__cp35-none-win_amd64.whl → 3.6.5__cp35-none-win_amd64.whl

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 (897) hide show
  1. casadi/_casadi.pyd +0 -0
  2. casadi/bin/libtinyxml2.dll +0 -0
  3. casadi/blasfeo.lib +0 -0
  4. casadi/casadi-cli.exe +0 -0
  5. casadi/casadi.lib +0 -0
  6. casadi/casadi.py +415 -260
  7. casadi/cbc.exe +0 -0
  8. casadi/clp.exe +0 -0
  9. casadi/cmake/alpaqa/alpaqaConfig.cmake +24 -0
  10. casadi/cmake/alpaqa/alpaqaConfigVersion.cmake +67 -0
  11. casadi/cmake/alpaqa/alpaqaTargets-release.cmake +19 -0
  12. casadi/cmake/alpaqa/alpaqaTargets.cmake +108 -0
  13. casadi/cmake/casadi-config-version.cmake +1 -1
  14. casadi/cmake/highs/highs-config.cmake +18 -4
  15. casadi/cmake/sleqp/sleqp-config-version.cmake +67 -0
  16. casadi/cmake/sleqp/sleqp-config.cmake +1 -0
  17. casadi/cmake/sleqp/sleqp-targets-release.cmake +20 -0
  18. casadi/cmake/sleqp/sleqp-targets.cmake +94 -0
  19. casadi/cmake/trlib/trlib-config-release.cmake +19 -0
  20. casadi/cmake/trlib/trlib-config-version.cmake +59 -0
  21. casadi/cmake/trlib/trlib-config.cmake +99 -0
  22. casadi/highs.exe +0 -0
  23. casadi/highs.lib +0 -0
  24. casadi/hpipm.lib +0 -0
  25. casadi/include/alpaqa/accelerators/anderson.hpp +133 -0
  26. casadi/include/alpaqa/accelerators/internal/anderson-helpers.hpp +92 -0
  27. casadi/include/alpaqa/accelerators/internal/limited-memory-qr.hpp +295 -0
  28. casadi/include/alpaqa/accelerators/lbfgs.hpp +244 -0
  29. casadi/include/alpaqa/accelerators/steihaugcg.hpp +143 -0
  30. casadi/include/alpaqa/alpaqa.hpp +3 -0
  31. casadi/include/alpaqa/casadi/CasADiControlProblem.hpp +185 -0
  32. casadi/include/alpaqa/casadi/CasADiFunctionWrapper.hpp +104 -0
  33. casadi/include/alpaqa/casadi/CasADiProblem.hpp +102 -0
  34. casadi/include/alpaqa/casadi-loader-export.hpp +15 -0
  35. casadi/include/alpaqa/casadi-ocp-loader-export.hpp +15 -0
  36. casadi/include/alpaqa/config/config.hpp +165 -0
  37. casadi/include/alpaqa/dl/dl-problem.h +476 -0
  38. casadi/include/alpaqa/dl/dl-problem.hpp +301 -0
  39. casadi/include/alpaqa/export.h +42 -0
  40. casadi/include/alpaqa/export.hpp +30 -0
  41. casadi/include/alpaqa/implementation/accelerators/lbfgs.tpp +240 -0
  42. casadi/include/alpaqa/implementation/casadi/CasADiControlProblem.tpp +594 -0
  43. casadi/include/alpaqa/implementation/casadi/CasADiLoader-util.hpp +50 -0
  44. casadi/include/alpaqa/implementation/casadi/CasADiProblem.tpp +425 -0
  45. casadi/include/alpaqa/implementation/inner/directions/panoc/structured-lbfgs.tpp +164 -0
  46. casadi/include/alpaqa/implementation/inner/panoc-helpers.tpp +389 -0
  47. casadi/include/alpaqa/implementation/inner/panoc-ocp.tpp +798 -0
  48. casadi/include/alpaqa/implementation/inner/panoc.tpp +448 -0
  49. casadi/include/alpaqa/implementation/inner/pantr.tpp +474 -0
  50. casadi/include/alpaqa/implementation/inner/zerofpr.tpp +482 -0
  51. casadi/include/alpaqa/implementation/outer/alm.tpp +228 -0
  52. casadi/include/alpaqa/implementation/outer/internal/alm-helpers.tpp +80 -0
  53. casadi/include/alpaqa/implementation/params/params.tpp +158 -0
  54. casadi/include/alpaqa/implementation/problem/ocproblem.tpp +56 -0
  55. casadi/include/alpaqa/implementation/problem/type-erased-problem.tpp +211 -0
  56. casadi/include/alpaqa/implementation/util/io/csv.tpp +120 -0
  57. casadi/include/alpaqa/implementation/util/print.tpp +151 -0
  58. casadi/include/alpaqa/inner/directions/panoc/anderson.hpp +98 -0
  59. casadi/include/alpaqa/inner/directions/panoc/lbfgs.hpp +94 -0
  60. casadi/include/alpaqa/inner/directions/panoc/structured-lbfgs.hpp +146 -0
  61. casadi/include/alpaqa/inner/directions/panoc/structured-newton.hpp +264 -0
  62. casadi/include/alpaqa/inner/directions/panoc-direction-update.hpp +96 -0
  63. casadi/include/alpaqa/inner/directions/panoc-ocp/lqr.hpp +181 -0
  64. casadi/include/alpaqa/inner/directions/panoc-ocp/ocp-vars.hpp +492 -0
  65. casadi/include/alpaqa/inner/directions/pantr/newton-tr.hpp +192 -0
  66. casadi/include/alpaqa/inner/directions/pantr/pantr-direction.hpp +99 -0
  67. casadi/include/alpaqa/inner/inner-solve-options.hpp +30 -0
  68. casadi/include/alpaqa/inner/internal/lipschitz.hpp +27 -0
  69. casadi/include/alpaqa/inner/internal/panoc-helpers.hpp +10 -0
  70. casadi/include/alpaqa/inner/internal/panoc-stop-crit.hpp +124 -0
  71. casadi/include/alpaqa/inner/internal/solverstatus.hpp +42 -0
  72. casadi/include/alpaqa/inner/panoc-ocp.hpp +302 -0
  73. casadi/include/alpaqa/inner/panoc.hpp +274 -0
  74. casadi/include/alpaqa/inner/pantr.hpp +284 -0
  75. casadi/include/alpaqa/inner/zerofpr.hpp +274 -0
  76. casadi/include/alpaqa/ipopt/ipopt-adapter.hpp +81 -0
  77. casadi/include/alpaqa/ipopt/ipopt-enums.hpp +35 -0
  78. casadi/include/alpaqa/lbfgsb/lbfgsb-adapter.hpp +111 -0
  79. casadi/include/alpaqa/newton-tr-pantr-alm.hpp +27 -0
  80. casadi/include/alpaqa/outer/alm.hpp +190 -0
  81. casadi/include/alpaqa/outer/internal/alm-helpers.hpp +10 -0
  82. casadi/include/alpaqa/panoc-alm.hpp +27 -0
  83. casadi/include/alpaqa/panoc-anderson-alm.hpp +27 -0
  84. casadi/include/alpaqa/params/params.hpp +60 -0
  85. casadi/include/alpaqa/problem/box-constr-problem.hpp +220 -0
  86. casadi/include/alpaqa/problem/box.hpp +82 -0
  87. casadi/include/alpaqa/problem/functional-problem.hpp +73 -0
  88. casadi/include/alpaqa/problem/kkt-error.hpp +43 -0
  89. casadi/include/alpaqa/problem/ocproblem-counters.hpp +116 -0
  90. casadi/include/alpaqa/problem/ocproblem.hpp +662 -0
  91. casadi/include/alpaqa/problem/problem-counters.hpp +116 -0
  92. casadi/include/alpaqa/problem/problem-with-counters.hpp +141 -0
  93. casadi/include/alpaqa/problem/type-erased-problem.hpp +874 -0
  94. casadi/include/alpaqa/problem/unconstr-problem.hpp +37 -0
  95. casadi/include/alpaqa/structured-panoc-alm.hpp +27 -0
  96. casadi/include/alpaqa/structured-zerofpr-alm.hpp +27 -0
  97. casadi/include/alpaqa/util/alloc-check.hpp +23 -0
  98. casadi/include/alpaqa/util/atomic-stop-signal.hpp +24 -0
  99. casadi/include/alpaqa/util/check-dim.hpp +64 -0
  100. casadi/include/alpaqa/util/copyable_unique_ptr.hpp +32 -0
  101. casadi/include/alpaqa/util/demangled-typename.hpp +9 -0
  102. casadi/include/alpaqa/util/enumerate.hpp +70 -0
  103. casadi/include/alpaqa/util/float.hpp +25 -0
  104. casadi/include/alpaqa/util/index-set.hpp +97 -0
  105. casadi/include/alpaqa/util/io/csv.hpp +43 -0
  106. casadi/include/alpaqa/util/iter-adapter.hpp +68 -0
  107. casadi/include/alpaqa/util/max-history.hpp +47 -0
  108. casadi/include/alpaqa/util/noop-delete.hpp +15 -0
  109. casadi/include/alpaqa/util/not-implemented.hpp +12 -0
  110. casadi/include/alpaqa/util/print.hpp +78 -0
  111. casadi/include/alpaqa/util/quadmath/quadmath-print.hpp +20 -0
  112. casadi/include/alpaqa/util/quadmath/quadmath.hpp +137 -0
  113. casadi/include/alpaqa/util/required-method.hpp +29 -0
  114. casadi/include/alpaqa/util/ringbuffer.hpp +212 -0
  115. casadi/include/alpaqa/util/set-intersection.hpp +129 -0
  116. casadi/include/alpaqa/util/sparse-ops.hpp +164 -0
  117. casadi/include/alpaqa/util/timed.hpp +22 -0
  118. casadi/include/alpaqa/util/type-erasure.hpp +568 -0
  119. casadi/include/alpaqa/util/type-traits.hpp +58 -0
  120. casadi/include/alpaqa/zerofpr-alm.hpp +27 -0
  121. casadi/include/alpaqa/zerofpr-anderson-alm.hpp +27 -0
  122. casadi/include/alpaqa-version.h +8 -0
  123. casadi/include/casadi/casadi.i +43 -18
  124. casadi/include/casadi/config.h +8 -8
  125. casadi/include/casadi/core/calculus.hpp +1 -1
  126. casadi/include/casadi/core/code_generator.hpp +29 -1
  127. casadi/include/casadi/core/core.hpp +1 -0
  128. casadi/include/casadi/core/fmu.hpp +29 -1
  129. casadi/include/casadi/core/generic_expression.hpp +1 -1
  130. casadi/include/casadi/core/generic_type.hpp +25 -1
  131. casadi/include/casadi/core/matrix_decl.hpp +15 -0
  132. casadi/include/casadi/core/nlpsol.hpp +0 -2
  133. casadi/include/casadi/core/runtime/casadi_nlp.hpp +131 -6
  134. casadi/include/casadi/core/runtime/casadi_sqpmethod.hpp +11 -1
  135. casadi/include/casadi/core/serializing_stream.hpp +12 -0
  136. casadi/include/casadi/core/sparsity.hpp +5 -3
  137. casadi/include/casadi/core/tools.hpp +67 -0
  138. casadi/include/casadi/doc.i +1457 -825
  139. casadi/include/casadi/doc_merged.i +1089 -570
  140. casadi/include/coin/BonArraysHelpers.hpp +52 -0
  141. casadi/include/coin/BonAuxInfos.hpp +110 -0
  142. casadi/include/coin/BonBabInfos.hpp +57 -0
  143. casadi/include/coin/BonBabSetupBase.hpp +386 -0
  144. casadi/include/coin/BonBonminSetup.hpp +95 -0
  145. casadi/include/coin/BonBranchingTQP.hpp +197 -0
  146. casadi/include/coin/BonCbc.hpp +127 -0
  147. casadi/include/coin/BonCbcLpStrategy.hpp +45 -0
  148. casadi/include/coin/BonCbcNlpStrategy.hpp +98 -0
  149. casadi/include/coin/BonCbcNode.hpp +133 -0
  150. casadi/include/coin/BonChooseVariable.hpp +345 -0
  151. casadi/include/coin/BonCurvBranchingSolver.hpp +77 -0
  152. casadi/include/coin/BonCutStrengthener.hpp +244 -0
  153. casadi/include/coin/BonDiver.hpp +424 -0
  154. casadi/include/coin/BonDummyHeuristic.hpp +53 -0
  155. casadi/include/coin/BonDummyPump.hpp +43 -0
  156. casadi/include/coin/BonEcpCuts.hpp +97 -0
  157. casadi/include/coin/BonExitCodes.hpp +12 -0
  158. casadi/include/coin/BonFixAndSolveHeuristic.hpp +43 -0
  159. casadi/include/coin/BonGuessHeuristic.hpp +46 -0
  160. casadi/include/coin/BonHeuristicDive.hpp +88 -0
  161. casadi/include/coin/BonHeuristicDiveFractional.hpp +67 -0
  162. casadi/include/coin/BonHeuristicDiveMIP.hpp +83 -0
  163. casadi/include/coin/BonHeuristicDiveMIPFractional.hpp +67 -0
  164. casadi/include/coin/BonHeuristicDiveMIPVectorLength.hpp +74 -0
  165. casadi/include/coin/BonHeuristicDiveVectorLength.hpp +74 -0
  166. casadi/include/coin/BonHeuristicFPump.hpp +111 -0
  167. casadi/include/coin/BonHeuristicLocalBranching.hpp +59 -0
  168. casadi/include/coin/BonHeuristicRINS.hpp +55 -0
  169. casadi/include/coin/BonIpoptInteriorWarmStarter.hpp +103 -0
  170. casadi/include/coin/BonIpoptSolver.hpp +188 -0
  171. casadi/include/coin/BonIpoptWarmStart.hpp +148 -0
  172. casadi/include/coin/BonLinearCutsGenerator.hpp +75 -0
  173. casadi/include/coin/BonLocalSolverBasedHeuristic.hpp +102 -0
  174. casadi/include/coin/BonLpBranchingSolver.hpp +80 -0
  175. casadi/include/coin/BonMilpRounding.hpp +74 -0
  176. casadi/include/coin/BonOACutGenerator2.hpp +56 -0
  177. casadi/include/coin/BonOAMessages.hpp +44 -0
  178. casadi/include/coin/BonOaDecBase.hpp +297 -0
  179. casadi/include/coin/BonOaFeasChecker.hpp +73 -0
  180. casadi/include/coin/BonOaNlpOptim.hpp +116 -0
  181. casadi/include/coin/BonOsiTMINLPInterface.hpp +1342 -0
  182. casadi/include/coin/BonOuterApprox.hpp +123 -0
  183. casadi/include/coin/BonPseudoCosts.hpp +91 -0
  184. casadi/include/coin/BonPumpForMinlp.hpp +45 -0
  185. casadi/include/coin/BonQuadCut.hpp +217 -0
  186. casadi/include/coin/BonQuadRow.hpp +122 -0
  187. casadi/include/coin/BonRegisteredOptions.hpp +225 -0
  188. casadi/include/coin/BonStrongBranchingSolver.hpp +69 -0
  189. casadi/include/coin/BonSubMipSolver.hpp +143 -0
  190. casadi/include/coin/BonTMINLP.hpp +420 -0
  191. casadi/include/coin/BonTMINLP2OsiLP.hpp +164 -0
  192. casadi/include/coin/BonTMINLP2Quad.hpp +191 -0
  193. casadi/include/coin/BonTMINLP2TNLP.hpp +509 -0
  194. casadi/include/coin/BonTMINLPLinObj.hpp +216 -0
  195. casadi/include/coin/BonTMatrix.hpp +167 -0
  196. casadi/include/coin/BonTNLP2FPNLP.hpp +264 -0
  197. casadi/include/coin/BonTNLPSolver.hpp +241 -0
  198. casadi/include/coin/BonTypes.hpp +95 -0
  199. casadi/include/coin/BonminConfig.h +19 -0
  200. casadi/include/coin/CbcBranchActual.hpp +26 -0
  201. casadi/include/coin/CbcBranchAllDifferent.hpp +61 -0
  202. casadi/include/coin/CbcBranchBase.hpp +79 -0
  203. casadi/include/coin/CbcBranchCut.hpp +182 -0
  204. casadi/include/coin/CbcBranchDecision.hpp +135 -0
  205. casadi/include/coin/CbcBranchDefaultDecision.hpp +101 -0
  206. casadi/include/coin/CbcBranchDynamic.hpp +210 -0
  207. casadi/include/coin/CbcBranchLotsize.hpp +249 -0
  208. casadi/include/coin/CbcBranchToFixLots.hpp +94 -0
  209. casadi/include/coin/CbcBranchingObject.hpp +245 -0
  210. casadi/include/coin/CbcClique.hpp +309 -0
  211. casadi/include/coin/CbcCompare.hpp +46 -0
  212. casadi/include/coin/CbcCompareActual.hpp +16 -0
  213. casadi/include/coin/CbcCompareBase.hpp +155 -0
  214. casadi/include/coin/CbcCompareDefault.hpp +129 -0
  215. casadi/include/coin/CbcCompareDepth.hpp +48 -0
  216. casadi/include/coin/CbcCompareEstimate.hpp +48 -0
  217. casadi/include/coin/CbcCompareObjective.hpp +50 -0
  218. casadi/include/coin/CbcConfig.h +18 -0
  219. casadi/include/coin/CbcConsequence.hpp +50 -0
  220. casadi/include/coin/CbcCountRowCut.hpp +176 -0
  221. casadi/include/coin/CbcCutGenerator.hpp +550 -0
  222. casadi/include/coin/CbcCutModifier.hpp +59 -0
  223. casadi/include/coin/CbcCutSubsetModifier.hpp +69 -0
  224. casadi/include/coin/CbcDummyBranchingObject.hpp +83 -0
  225. casadi/include/coin/CbcEventHandler.hpp +250 -0
  226. casadi/include/coin/CbcFathom.hpp +136 -0
  227. casadi/include/coin/CbcFathomDynamicProgramming.hpp +177 -0
  228. casadi/include/coin/CbcFeasibilityBase.hpp +60 -0
  229. casadi/include/coin/CbcFixVariable.hpp +68 -0
  230. casadi/include/coin/CbcFollowOn.hpp +207 -0
  231. casadi/include/coin/CbcFullNodeInfo.hpp +171 -0
  232. casadi/include/coin/CbcGeneral.hpp +60 -0
  233. casadi/include/coin/CbcGeneralDepth.hpp +289 -0
  234. casadi/include/coin/CbcHeuristic.hpp +735 -0
  235. casadi/include/coin/CbcHeuristicDINS.hpp +98 -0
  236. casadi/include/coin/CbcHeuristicDW.hpp +374 -0
  237. casadi/include/coin/CbcHeuristicDive.hpp +198 -0
  238. casadi/include/coin/CbcHeuristicDiveCoefficient.hpp +52 -0
  239. casadi/include/coin/CbcHeuristicDiveFractional.hpp +52 -0
  240. casadi/include/coin/CbcHeuristicDiveGuided.hpp +55 -0
  241. casadi/include/coin/CbcHeuristicDiveLineSearch.hpp +52 -0
  242. casadi/include/coin/CbcHeuristicDivePseudoCost.hpp +60 -0
  243. casadi/include/coin/CbcHeuristicDiveVectorLength.hpp +52 -0
  244. casadi/include/coin/CbcHeuristicFPump.hpp +375 -0
  245. casadi/include/coin/CbcHeuristicGreedy.hpp +289 -0
  246. casadi/include/coin/CbcHeuristicLocal.hpp +276 -0
  247. casadi/include/coin/CbcHeuristicPivotAndFix.hpp +58 -0
  248. casadi/include/coin/CbcHeuristicRENS.hpp +79 -0
  249. casadi/include/coin/CbcHeuristicRINS.hpp +106 -0
  250. casadi/include/coin/CbcHeuristicRandRound.hpp +58 -0
  251. casadi/include/coin/CbcHeuristicVND.hpp +95 -0
  252. casadi/include/coin/CbcLinked.hpp +1443 -0
  253. casadi/include/coin/CbcMessage.hpp +94 -0
  254. casadi/include/coin/CbcMipStartIO.hpp +29 -0
  255. casadi/include/coin/CbcModel.hpp +3296 -0
  256. casadi/include/coin/CbcNWay.hpp +171 -0
  257. casadi/include/coin/CbcNode.hpp +380 -0
  258. casadi/include/coin/CbcNodeInfo.hpp +377 -0
  259. casadi/include/coin/CbcObject.hpp +288 -0
  260. casadi/include/coin/CbcObjectUpdateData.hpp +63 -0
  261. casadi/include/coin/CbcOrClpParam.cpp +4321 -0
  262. casadi/include/coin/CbcOrClpParam.hpp +585 -0
  263. casadi/include/coin/CbcParam.hpp +338 -0
  264. casadi/include/coin/CbcPartialNodeInfo.hpp +116 -0
  265. casadi/include/coin/CbcSOS.hpp +290 -0
  266. casadi/include/coin/CbcSimpleInteger.hpp +299 -0
  267. casadi/include/coin/CbcSimpleIntegerDynamicPseudoCost.hpp +619 -0
  268. casadi/include/coin/CbcSimpleIntegerPseudoCost.hpp +122 -0
  269. casadi/include/coin/CbcSolver.hpp +460 -0
  270. casadi/include/coin/CbcStrategy.hpp +269 -0
  271. casadi/include/coin/CbcSubProblem.hpp +84 -0
  272. casadi/include/coin/CbcTree.hpp +493 -0
  273. casadi/include/coin/CbcTreeLocal.hpp +393 -0
  274. casadi/include/coin/Cbc_C_Interface.h +904 -0
  275. casadi/include/coin/Cgl012cut.hpp +464 -0
  276. casadi/include/coin/CglAllDifferent.hpp +115 -0
  277. casadi/include/coin/CglClique.hpp +312 -0
  278. casadi/include/coin/CglConfig.h +19 -0
  279. casadi/include/coin/CglCutGenerator.hpp +133 -0
  280. casadi/include/coin/CglDuplicateRow.hpp +189 -0
  281. casadi/include/coin/CglFlowCover.hpp +371 -0
  282. casadi/include/coin/CglGMI.hpp +364 -0
  283. casadi/include/coin/CglGMIParam.hpp +313 -0
  284. casadi/include/coin/CglGomory.hpp +204 -0
  285. casadi/include/coin/CglKnapsackCover.hpp +310 -0
  286. casadi/include/coin/CglLandP.hpp +306 -0
  287. casadi/include/coin/CglLandPValidator.hpp +130 -0
  288. casadi/include/coin/CglLiftAndProject.hpp +104 -0
  289. casadi/include/coin/CglMessage.hpp +49 -0
  290. casadi/include/coin/CglMixedIntegerRounding.hpp +429 -0
  291. casadi/include/coin/CglMixedIntegerRounding2.hpp +427 -0
  292. casadi/include/coin/CglOddHole.hpp +160 -0
  293. casadi/include/coin/CglParam.hpp +93 -0
  294. casadi/include/coin/CglPreProcess.hpp +600 -0
  295. casadi/include/coin/CglProbing.hpp +543 -0
  296. casadi/include/coin/CglRedSplit.hpp +448 -0
  297. casadi/include/coin/CglRedSplit2.hpp +494 -0
  298. casadi/include/coin/CglRedSplit2Param.hpp +495 -0
  299. casadi/include/coin/CglRedSplitParam.hpp +272 -0
  300. casadi/include/coin/CglResidualCapacity.hpp +240 -0
  301. casadi/include/coin/CglSimpleRounding.hpp +174 -0
  302. casadi/include/coin/CglStored.hpp +140 -0
  303. casadi/include/coin/CglTreeInfo.hpp +216 -0
  304. casadi/include/coin/CglTwomir.hpp +562 -0
  305. casadi/include/coin/CglZeroHalf.hpp +133 -0
  306. casadi/include/coin/ClpAmplObjective.hpp +113 -0
  307. casadi/include/coin/ClpCholeskyBase.hpp +321 -0
  308. casadi/include/coin/ClpCholeskyDense.hpp +157 -0
  309. casadi/include/coin/ClpCholeskyMumps.hpp +65 -0
  310. casadi/include/coin/ClpCholeskyPardiso.hpp +67 -0
  311. casadi/include/coin/ClpConfig.h +17 -0
  312. casadi/include/coin/ClpConstraint.hpp +129 -0
  313. casadi/include/coin/ClpConstraintAmpl.hpp +109 -0
  314. casadi/include/coin/ClpConstraintLinear.hpp +113 -0
  315. casadi/include/coin/ClpConstraintQuadratic.hpp +123 -0
  316. casadi/include/coin/ClpDualRowDantzig.hpp +72 -0
  317. casadi/include/coin/ClpDualRowPivot.hpp +136 -0
  318. casadi/include/coin/ClpDualRowSteepest.hpp +160 -0
  319. casadi/include/coin/ClpDummyMatrix.hpp +186 -0
  320. casadi/include/coin/ClpDynamicExampleMatrix.hpp +199 -0
  321. casadi/include/coin/ClpDynamicMatrix.hpp +420 -0
  322. casadi/include/coin/ClpEventHandler.hpp +193 -0
  323. casadi/include/coin/ClpFactorization.hpp +556 -0
  324. casadi/include/coin/ClpGubDynamicMatrix.hpp +270 -0
  325. casadi/include/coin/ClpGubMatrix.hpp +373 -0
  326. casadi/include/coin/ClpInterior.hpp +622 -0
  327. casadi/include/coin/ClpLinearObjective.hpp +104 -0
  328. casadi/include/coin/ClpMatrixBase.hpp +561 -0
  329. casadi/include/coin/ClpMessage.hpp +131 -0
  330. casadi/include/coin/ClpModel.hpp +1442 -0
  331. casadi/include/coin/ClpNetworkMatrix.hpp +235 -0
  332. casadi/include/coin/ClpNode.hpp +364 -0
  333. casadi/include/coin/ClpNonLinearCost.hpp +432 -0
  334. casadi/include/coin/ClpObjective.hpp +142 -0
  335. casadi/include/coin/ClpPEDualRowDantzig.hpp +84 -0
  336. casadi/include/coin/ClpPEDualRowSteepest.hpp +100 -0
  337. casadi/include/coin/ClpPEPrimalColumnDantzig.hpp +71 -0
  338. casadi/include/coin/ClpPEPrimalColumnSteepest.hpp +107 -0
  339. casadi/include/coin/ClpPESimplex.hpp +231 -0
  340. casadi/include/coin/ClpPackedMatrix.hpp +778 -0
  341. casadi/include/coin/ClpParameters.hpp +132 -0
  342. casadi/include/coin/ClpPdcoBase.hpp +110 -0
  343. casadi/include/coin/ClpPlusMinusOneMatrix.hpp +565 -0
  344. casadi/include/coin/ClpPresolve.hpp +379 -0
  345. casadi/include/coin/ClpPrimalColumnDantzig.hpp +74 -0
  346. casadi/include/coin/ClpPrimalColumnPivot.hpp +163 -0
  347. casadi/include/coin/ClpPrimalColumnSteepest.hpp +281 -0
  348. casadi/include/coin/ClpQuadraticObjective.hpp +161 -0
  349. casadi/include/coin/ClpSimplex.hpp +2137 -0
  350. casadi/include/coin/ClpSimplexDual.hpp +304 -0
  351. casadi/include/coin/ClpSimplexNonlinear.hpp +117 -0
  352. casadi/include/coin/ClpSimplexOther.hpp +282 -0
  353. casadi/include/coin/ClpSimplexPrimal.hpp +244 -0
  354. casadi/include/coin/ClpSolve.hpp +505 -0
  355. casadi/include/coin/Clp_C_Interface.h +554 -0
  356. casadi/include/coin/CoinAlloc.hpp +179 -0
  357. casadi/include/coin/CoinBuild.hpp +159 -0
  358. casadi/include/coin/CoinDenseFactorization.hpp +452 -0
  359. casadi/include/coin/CoinDenseVector.hpp +401 -0
  360. casadi/include/coin/CoinDistance.hpp +51 -0
  361. casadi/include/coin/CoinError.hpp +274 -0
  362. casadi/include/coin/CoinFactorization.hpp +2178 -0
  363. casadi/include/coin/CoinFileIO.hpp +185 -0
  364. casadi/include/coin/CoinFinite.hpp +37 -0
  365. casadi/include/coin/CoinFloatEqual.hpp +204 -0
  366. casadi/include/coin/CoinHelperFunctions.hpp +1270 -0
  367. casadi/include/coin/CoinIndexedVector.hpp +1437 -0
  368. casadi/include/coin/CoinLpIO.hpp +836 -0
  369. casadi/include/coin/CoinMessage.hpp +95 -0
  370. casadi/include/coin/CoinMessageHandler.hpp +717 -0
  371. casadi/include/coin/CoinModel.hpp +1214 -0
  372. casadi/include/coin/CoinModelUseful.hpp +518 -0
  373. casadi/include/coin/CoinMpsIO.hpp +1142 -0
  374. casadi/include/coin/CoinOslFactorization.hpp +287 -0
  375. casadi/include/coin/CoinPackedMatrix.hpp +956 -0
  376. casadi/include/coin/CoinPackedVector.hpp +670 -0
  377. casadi/include/coin/CoinPackedVectorBase.hpp +274 -0
  378. casadi/include/coin/CoinParam.hpp +644 -0
  379. casadi/include/coin/CoinPragma.hpp +29 -0
  380. casadi/include/coin/CoinPresolveDoubleton.hpp +76 -0
  381. casadi/include/coin/CoinPresolveDual.hpp +84 -0
  382. casadi/include/coin/CoinPresolveDupcol.hpp +259 -0
  383. casadi/include/coin/CoinPresolveEmpty.hpp +120 -0
  384. casadi/include/coin/CoinPresolveFixed.hpp +185 -0
  385. casadi/include/coin/CoinPresolveForcing.hpp +69 -0
  386. casadi/include/coin/CoinPresolveImpliedFree.hpp +66 -0
  387. casadi/include/coin/CoinPresolveIsolated.hpp +59 -0
  388. casadi/include/coin/CoinPresolveMatrix.hpp +1996 -0
  389. casadi/include/coin/CoinPresolveMonitor.hpp +105 -0
  390. casadi/include/coin/CoinPresolvePsdebug.hpp +169 -0
  391. casadi/include/coin/CoinPresolveSingleton.hpp +115 -0
  392. casadi/include/coin/CoinPresolveSubst.hpp +103 -0
  393. casadi/include/coin/CoinPresolveTighten.hpp +58 -0
  394. casadi/include/coin/CoinPresolveTripleton.hpp +69 -0
  395. casadi/include/coin/CoinPresolveUseless.hpp +63 -0
  396. casadi/include/coin/CoinPresolveZeros.hpp +65 -0
  397. casadi/include/coin/CoinRational.hpp +43 -0
  398. casadi/include/coin/CoinSearchTree.hpp +523 -0
  399. casadi/include/coin/CoinShallowPackedVector.hpp +149 -0
  400. casadi/include/coin/CoinSignal.hpp +127 -0
  401. casadi/include/coin/CoinSimpFactorization.hpp +432 -0
  402. casadi/include/coin/CoinSmartPtr.hpp +548 -0
  403. casadi/include/coin/CoinSnapshot.hpp +572 -0
  404. casadi/include/coin/CoinSort.hpp +753 -0
  405. casadi/include/coin/CoinStructuredModel.hpp +270 -0
  406. casadi/include/coin/CoinTime.hpp +350 -0
  407. casadi/include/coin/CoinTypes.hpp +67 -0
  408. casadi/include/coin/CoinUtility.hpp +26 -0
  409. casadi/include/coin/CoinUtilsConfig.h +34 -0
  410. casadi/include/coin/CoinWarmStart.hpp +56 -0
  411. casadi/include/coin/CoinWarmStartBasis.hpp +468 -0
  412. casadi/include/coin/CoinWarmStartDual.hpp +180 -0
  413. casadi/include/coin/CoinWarmStartPrimalDual.hpp +233 -0
  414. casadi/include/coin/CoinWarmStartVector.hpp +523 -0
  415. casadi/include/coin/Coin_C_defines.h +149 -0
  416. casadi/include/coin/Idiot.hpp +327 -0
  417. casadi/include/coin/OsiAuxInfo.hpp +261 -0
  418. casadi/include/coin/OsiBranchingObject.hpp +1097 -0
  419. casadi/include/coin/OsiCbcSolverInterface.hpp +791 -0
  420. casadi/include/coin/OsiChooseVariable.hpp +645 -0
  421. casadi/include/coin/OsiClpSolverInterface.hpp +1604 -0
  422. casadi/include/coin/OsiColCut.hpp +322 -0
  423. casadi/include/coin/OsiCollections.hpp +34 -0
  424. casadi/include/coin/OsiConfig.h +19 -0
  425. casadi/include/coin/OsiCut.hpp +251 -0
  426. casadi/include/coin/OsiCuts.hpp +505 -0
  427. casadi/include/coin/OsiPresolve.hpp +272 -0
  428. casadi/include/coin/OsiRowCut.hpp +345 -0
  429. casadi/include/coin/OsiRowCutDebugger.hpp +190 -0
  430. casadi/include/coin/OsiSolverBranch.hpp +169 -0
  431. casadi/include/coin/OsiSolverInterface.hpp +2221 -0
  432. casadi/include/coin/OsiSolverParameters.hpp +144 -0
  433. casadi/include/coin/OsiUnitTests.hpp +390 -0
  434. casadi/include/coin-or/IpAlgBuilder.hpp +417 -0
  435. casadi/include/coin-or/IpAlgStrategy.hpp +201 -0
  436. casadi/include/coin-or/IpAlgTypes.hpp +64 -0
  437. casadi/include/coin-or/IpAugSystemSolver.hpp +212 -0
  438. casadi/include/coin-or/IpBlas.hpp +426 -0
  439. casadi/include/coin-or/IpCachedResults.hpp +897 -0
  440. casadi/include/coin-or/IpCompoundMatrix.hpp +423 -0
  441. casadi/include/coin-or/IpCompoundSymMatrix.hpp +348 -0
  442. casadi/include/coin-or/IpCompoundVector.hpp +395 -0
  443. casadi/include/coin-or/IpConvCheck.hpp +97 -0
  444. casadi/include/coin-or/IpDebug.hpp +167 -0
  445. casadi/include/coin-or/IpDenseVector.hpp +626 -0
  446. casadi/include/coin-or/IpDiagMatrix.hpp +158 -0
  447. casadi/include/coin-or/IpEqMultCalculator.hpp +76 -0
  448. casadi/include/coin-or/IpException.hpp +156 -0
  449. casadi/include/coin-or/IpExpansionMatrix.hpp +245 -0
  450. casadi/include/coin-or/IpGenTMatrix.hpp +290 -0
  451. casadi/include/coin-or/IpHessianUpdater.hpp +73 -0
  452. casadi/include/coin-or/IpIdentityMatrix.hpp +167 -0
  453. casadi/include/coin-or/IpIpoptAlg.hpp +257 -0
  454. casadi/include/coin-or/IpIpoptApplication.hpp +367 -0
  455. casadi/include/coin-or/IpIpoptCalculatedQuantities.hpp +1009 -0
  456. casadi/include/coin-or/IpIpoptData.hpp +966 -0
  457. casadi/include/coin-or/IpIpoptNLP.hpp +328 -0
  458. casadi/include/coin-or/IpIterateInitializer.hpp +68 -0
  459. casadi/include/coin-or/IpIteratesVector.hpp +840 -0
  460. casadi/include/coin-or/IpIterationOutput.hpp +78 -0
  461. casadi/include/coin-or/IpJournalist.hpp +573 -0
  462. casadi/include/coin-or/IpLapack.hpp +227 -0
  463. casadi/include/coin-or/IpLibraryLoader.hpp +76 -0
  464. casadi/include/coin-or/IpLineSearch.hpp +106 -0
  465. casadi/include/coin-or/IpLinearSolvers.h +46 -0
  466. casadi/include/coin-or/IpMatrix.hpp +434 -0
  467. casadi/include/coin-or/IpMuUpdate.hpp +77 -0
  468. casadi/include/coin-or/IpNLP.hpp +306 -0
  469. casadi/include/coin-or/IpNLPScaling.hpp +582 -0
  470. casadi/include/coin-or/IpObserver.hpp +422 -0
  471. casadi/include/coin-or/IpOptionsList.hpp +412 -0
  472. casadi/include/coin-or/IpOrigIpoptNLP.hpp +603 -0
  473. casadi/include/coin-or/IpPDSystemSolver.hpp +137 -0
  474. casadi/include/coin-or/IpReferenced.hpp +262 -0
  475. casadi/include/coin-or/IpRegOptions.hpp +1152 -0
  476. casadi/include/coin-or/IpReturnCodes.h +23 -0
  477. casadi/include/coin-or/IpReturnCodes.hpp +18 -0
  478. casadi/include/coin-or/IpReturnCodes.inc +71 -0
  479. casadi/include/coin-or/IpReturnCodes_inc.h +45 -0
  480. casadi/include/coin-or/IpScaledMatrix.hpp +291 -0
  481. casadi/include/coin-or/IpSearchDirCalculator.hpp +72 -0
  482. casadi/include/coin-or/IpSmartPtr.hpp +865 -0
  483. casadi/include/coin-or/IpSolveStatistics.hpp +210 -0
  484. casadi/include/coin-or/IpSparseSymLinearSolverInterface.hpp +260 -0
  485. casadi/include/coin-or/IpStdAugSystemSolver.cpp +555 -0
  486. casadi/include/coin-or/IpStdCInterface.h +428 -0
  487. casadi/include/coin-or/IpSumSymMatrix.hpp +186 -0
  488. casadi/include/coin-or/IpSymLinearSolver.hpp +141 -0
  489. casadi/include/coin-or/IpSymMatrix.hpp +167 -0
  490. casadi/include/coin-or/IpSymScaledMatrix.hpp +255 -0
  491. casadi/include/coin-or/IpSymTMatrix.hpp +275 -0
  492. casadi/include/coin-or/IpTNLP.hpp +820 -0
  493. casadi/include/coin-or/IpTNLPAdapter.hpp +648 -0
  494. casadi/include/coin-or/IpTNLPReducer.hpp +274 -0
  495. casadi/include/coin-or/IpTaggedObject.hpp +128 -0
  496. casadi/include/coin-or/IpTimedTask.hpp +218 -0
  497. casadi/include/coin-or/IpTimingStatistics.hpp +323 -0
  498. casadi/include/coin-or/IpTripletHelper.hpp +308 -0
  499. casadi/include/coin-or/IpTypes.h +81 -0
  500. casadi/include/coin-or/IpTypes.hpp +30 -0
  501. casadi/include/coin-or/IpUtils.hpp +166 -0
  502. casadi/include/coin-or/IpVector.hpp +892 -0
  503. casadi/include/coin-or/IpZeroSymMatrix.hpp +155 -0
  504. casadi/include/coin-or/IpoptConfig.h +45 -0
  505. casadi/include/coin-or/SensAlgorithm.hpp +114 -0
  506. casadi/include/coin-or/SensApplication.hpp +188 -0
  507. casadi/include/coin-or/SensBacksolver.hpp +36 -0
  508. casadi/include/coin-or/SensMeasurement.hpp +56 -0
  509. casadi/include/coin-or/SensPCalculator.hpp +137 -0
  510. casadi/include/coin-or/SensRegOp.hpp +21 -0
  511. casadi/include/coin-or/SensSchurData.hpp +182 -0
  512. casadi/include/coin-or/SensSchurDriver.hpp +118 -0
  513. casadi/include/coin-or/SensSimpleBacksolver.hpp +49 -0
  514. casadi/include/coin-or/SensStepCalc.hpp +85 -0
  515. casadi/include/coin-or/SensUtils.hpp +63 -0
  516. casadi/include/coin-or/metis/defs.h +161 -0
  517. casadi/include/coin-or/metis/macros.h +143 -0
  518. casadi/include/coin-or/metis/metis.h +37 -0
  519. casadi/include/coin-or/metis/proto.h +505 -0
  520. casadi/include/coin-or/metis/rename.h +418 -0
  521. casadi/include/coin-or/metis/struct.h +251 -0
  522. casadi/include/coin-or/mumps/dmumps_c.h +142 -0
  523. casadi/include/coin-or/mumps/mumps_c_types.h +72 -0
  524. casadi/include/coin-or/mumps/mumps_compat.h +27 -0
  525. casadi/include/coin-or/mumps/mumps_int_def.h +11 -0
  526. casadi/include/coin-or/mumps/mumps_mpi.h +67 -0
  527. casadi/include/d_blas.h +78 -0
  528. casadi/include/d_blas_64.h +73 -0
  529. casadi/include/highs/HConfig.h +4 -7
  530. casadi/include/highs/Highs.h +240 -51
  531. casadi/include/highs/filereaderlp/builder.hpp +12 -13
  532. casadi/include/highs/filereaderlp/model.hpp +32 -35
  533. casadi/include/highs/fortran/highs_fortran_api.mod +0 -0
  534. casadi/include/highs/interfaces/highs_c_api.h +964 -577
  535. casadi/include/highs/io/Filereader.h +2 -4
  536. casadi/include/highs/io/FilereaderEms.h +2 -4
  537. casadi/include/highs/io/FilereaderLp.h +2 -4
  538. casadi/include/highs/io/FilereaderMps.h +2 -4
  539. casadi/include/highs/io/HMPSIO.h +2 -4
  540. casadi/include/highs/io/HMpsFF.h +2 -4
  541. casadi/include/highs/io/HighsIO.h +19 -13
  542. casadi/include/highs/io/LoadOptions.h +7 -6
  543. casadi/include/highs/ipm/IpxWrapper.h +4 -5
  544. casadi/include/highs/lp_data/HConst.h +60 -15
  545. casadi/include/highs/lp_data/HStruct.h +32 -8
  546. casadi/include/highs/lp_data/HighsAnalysis.h +2 -4
  547. casadi/include/highs/lp_data/HighsCallback.h +33 -0
  548. casadi/include/highs/lp_data/HighsCallbackStruct.h +36 -0
  549. casadi/include/highs/lp_data/HighsDebug.h +2 -4
  550. casadi/include/highs/lp_data/HighsInfo.h +22 -23
  551. casadi/include/highs/lp_data/HighsInfoDebug.h +2 -4
  552. casadi/include/highs/lp_data/HighsLp.h +14 -6
  553. casadi/include/highs/lp_data/HighsLpSolverObject.h +6 -5
  554. casadi/include/highs/lp_data/HighsLpUtils.h +23 -12
  555. casadi/include/highs/lp_data/HighsModelUtils.h +22 -8
  556. casadi/include/highs/lp_data/HighsOptions.h +175 -106
  557. casadi/include/highs/lp_data/HighsRanging.h +2 -4
  558. casadi/include/highs/lp_data/HighsRuntimeOptions.h +21 -6
  559. casadi/include/highs/lp_data/HighsSolution.h +4 -4
  560. casadi/include/highs/lp_data/HighsSolutionDebug.h +2 -4
  561. casadi/include/highs/lp_data/HighsSolve.h +2 -4
  562. casadi/include/highs/lp_data/HighsStatus.h +2 -4
  563. casadi/include/highs/mip/HighsCliqueTable.h +18 -20
  564. casadi/include/highs/mip/HighsConflictPool.h +2 -4
  565. casadi/include/highs/mip/HighsCutGeneration.h +2 -4
  566. casadi/include/highs/mip/HighsCutPool.h +2 -4
  567. casadi/include/highs/mip/HighsDebugSol.h +2 -4
  568. casadi/include/highs/mip/HighsDomain.h +5 -5
  569. casadi/include/highs/mip/HighsDomainChange.h +2 -4
  570. casadi/include/highs/mip/HighsDynamicRowMatrix.h +2 -4
  571. casadi/include/highs/mip/HighsGFkSolve.h +2 -4
  572. casadi/include/highs/mip/HighsImplications.h +2 -4
  573. casadi/include/highs/mip/HighsLpAggregator.h +2 -4
  574. casadi/include/highs/mip/HighsLpRelaxation.h +2 -4
  575. casadi/include/highs/mip/HighsMipSolver.h +18 -6
  576. casadi/include/highs/mip/HighsMipSolverData.h +8 -4
  577. casadi/include/highs/mip/HighsModkSeparator.h +2 -4
  578. casadi/include/highs/mip/HighsNodeQueue.h +3 -9
  579. casadi/include/highs/mip/HighsObjectiveFunction.h +2 -4
  580. casadi/include/highs/mip/HighsPathSeparator.h +2 -4
  581. casadi/include/highs/mip/HighsPrimalHeuristics.h +2 -4
  582. casadi/include/highs/mip/HighsPseudocost.h +2 -4
  583. casadi/include/highs/mip/HighsRedcostFixing.h +2 -4
  584. casadi/include/highs/mip/HighsSearch.h +2 -4
  585. casadi/include/highs/mip/HighsSeparation.h +2 -4
  586. casadi/include/highs/mip/HighsSeparator.h +2 -4
  587. casadi/include/highs/mip/HighsTableauSeparator.h +2 -4
  588. casadi/include/highs/mip/HighsTransformedLp.h +2 -4
  589. casadi/include/highs/model/HighsHessian.h +3 -1
  590. casadi/include/highs/model/HighsModel.h +2 -0
  591. casadi/include/highs/parallel/HighsSpinMutex.h +2 -1
  592. casadi/include/highs/parallel/HighsSplitDeque.h +1 -1
  593. casadi/include/highs/parallel/HighsTaskExecutor.h +10 -2
  594. casadi/include/highs/presolve/HPresolve.h +9 -6
  595. casadi/include/highs/presolve/HPresolveAnalysis.h +5 -4
  596. casadi/include/highs/presolve/HighsPostsolveStack.h +50 -13
  597. casadi/include/highs/presolve/HighsSymmetry.h +2 -4
  598. casadi/include/highs/presolve/ICrash.h +4 -3
  599. casadi/include/highs/presolve/ICrashUtil.h +2 -2
  600. casadi/include/highs/presolve/ICrashX.h +4 -6
  601. casadi/include/highs/presolve/PresolveComponent.h +4 -42
  602. casadi/include/highs/qpsolver/a_asm.hpp +56 -0
  603. casadi/include/highs/qpsolver/a_quass.hpp +12 -0
  604. casadi/include/highs/qpsolver/quass.hpp +1 -4
  605. casadi/include/highs/simplex/HApp.h +14 -16
  606. casadi/include/highs/simplex/HEkk.h +12 -11
  607. casadi/include/highs/simplex/HEkkDual.h +2 -4
  608. casadi/include/highs/simplex/HEkkDualRHS.h +5 -6
  609. casadi/include/highs/simplex/HEkkDualRow.h +2 -4
  610. casadi/include/highs/simplex/HEkkPrimal.h +2 -4
  611. casadi/include/highs/simplex/HSimplex.h +2 -4
  612. casadi/include/highs/simplex/HSimplexDebug.h +2 -4
  613. casadi/include/highs/simplex/HSimplexNla.h +2 -4
  614. casadi/include/highs/simplex/HSimplexReport.h +3 -5
  615. casadi/include/highs/simplex/HighsSimplexAnalysis.h +2 -4
  616. casadi/include/highs/simplex/SimplexConst.h +7 -5
  617. casadi/include/highs/simplex/SimplexStruct.h +11 -5
  618. casadi/include/highs/simplex/SimplexTimer.h +2 -4
  619. casadi/include/highs/test/DevKkt.h +2 -4
  620. casadi/include/highs/test/KktCh2.h +2 -4
  621. casadi/include/highs/util/FactorTimer.h +2 -4
  622. casadi/include/highs/util/HFactor.h +2 -4
  623. casadi/include/highs/util/HFactorConst.h +2 -4
  624. casadi/include/highs/util/HFactorDebug.h +2 -4
  625. casadi/include/highs/util/HSet.h +3 -5
  626. casadi/include/highs/util/HVector.h +2 -4
  627. casadi/include/highs/util/HVectorBase.h +2 -4
  628. casadi/include/highs/util/HighsCDouble.h +2 -4
  629. casadi/include/highs/util/HighsComponent.h +2 -4
  630. casadi/include/highs/util/HighsDataStack.h +3 -5
  631. casadi/include/highs/util/HighsDisjointSets.h +8 -10
  632. casadi/include/highs/util/HighsHash.h +22 -7
  633. casadi/include/highs/util/HighsHashTree.h +25 -7
  634. casadi/include/highs/util/HighsInt.h +2 -4
  635. casadi/include/highs/util/HighsIntegers.h +2 -4
  636. casadi/include/highs/util/HighsLinearSumBounds.h +2 -4
  637. casadi/include/highs/util/HighsMatrixPic.h +2 -4
  638. casadi/include/highs/util/HighsMatrixSlice.h +2 -4
  639. casadi/include/highs/util/HighsMatrixUtils.h +2 -4
  640. casadi/include/highs/util/HighsRandom.h +2 -4
  641. casadi/include/highs/util/HighsRbTree.h +2 -4
  642. casadi/include/highs/util/HighsSort.h +2 -4
  643. casadi/include/highs/util/HighsSparseMatrix.h +11 -7
  644. casadi/include/highs/util/HighsSparseVectorSum.h +2 -4
  645. casadi/include/highs/util/HighsSplay.h +2 -4
  646. casadi/include/highs/util/HighsTimer.h +3 -4
  647. casadi/include/highs/util/HighsUtils.h +14 -4
  648. casadi/include/highs/util/stringutil.h +2 -4
  649. casadi/include/licenses/alpaqa-external/LICENSE +165 -0
  650. casadi/include/licenses/highs-external/LICENSE +1 -1
  651. casadi/include/licenses/sleqp-external/LICENSE +165 -0
  652. casadi/include/licenses/trlib-external/LICENSE +21 -0
  653. casadi/include/openblas/cblas.h +411 -0
  654. casadi/include/openblas/f77blas.h +796 -0
  655. casadi/include/openblas/lapack.h +22997 -0
  656. casadi/include/openblas/lapacke.h +12665 -0
  657. casadi/include/openblas/lapacke_config.h +119 -0
  658. casadi/include/openblas/lapacke_example_aux.h +9 -0
  659. casadi/include/openblas/lapacke_mangling.h +17 -0
  660. casadi/include/openblas/lapacke_utils.h +582 -0
  661. casadi/include/openblas/openblas/lapacke_mangling.h +17 -0
  662. casadi/include/openblas/openblas_config.h +140 -0
  663. casadi/include/qdldl/qdldl.h +169 -0
  664. casadi/include/qdldl/qdldl_types.h +23 -0
  665. casadi/include/s_blas.h +78 -0
  666. casadi/include/s_blas_64.h +73 -0
  667. casadi/include/sleqp/defs.h +58 -0
  668. casadi/include/sleqp/export.h +42 -0
  669. casadi/include/sleqp/pub_cmp.h +18 -0
  670. casadi/include/sleqp/pub_dyn.h +140 -0
  671. casadi/include/sleqp/pub_error.h +50 -0
  672. casadi/include/sleqp/pub_func.h +257 -0
  673. casadi/include/sleqp/pub_hess_struct.h +105 -0
  674. casadi/include/sleqp/pub_iterate.h +88 -0
  675. casadi/include/sleqp/pub_log.h +88 -0
  676. casadi/include/sleqp/pub_lsq.h +158 -0
  677. casadi/include/sleqp/pub_mem.h +52 -0
  678. casadi/include/sleqp/pub_problem.h +213 -0
  679. casadi/include/sleqp/pub_scale.h +150 -0
  680. casadi/include/sleqp/pub_settings.h +162 -0
  681. casadi/include/sleqp/pub_solver.h +155 -0
  682. casadi/include/sleqp/pub_types.h +230 -0
  683. casadi/include/sleqp/pub_working_set.h +135 -0
  684. casadi/include/sleqp/sparse/pub_mat.h +153 -0
  685. casadi/include/sleqp/sparse/pub_vec.h +336 -0
  686. casadi/include/sleqp.h +38 -0
  687. casadi/include/spral.h +13 -0
  688. casadi/include/spral_lsmr.h +57 -0
  689. casadi/include/spral_matrix_util.h +40 -0
  690. casadi/include/spral_random.h +26 -0
  691. casadi/include/spral_random_matrix.h +27 -0
  692. casadi/include/spral_rutherford_boeing.h +51 -0
  693. casadi/include/spral_scaling.h +139 -0
  694. casadi/include/spral_ssids.h +121 -0
  695. casadi/include/spral_ssmfe.h +268 -0
  696. casadi/include/trlib/trlib_eigen_inverse.h +118 -0
  697. casadi/include/trlib/trlib_krylov.h +493 -0
  698. casadi/include/trlib/trlib_leftmost.h +181 -0
  699. casadi/include/trlib/trlib_private.h +109 -0
  700. casadi/include/trlib/trlib_quadratic_zero.h +57 -0
  701. casadi/include/trlib/trlib_tri_factor.h +409 -0
  702. casadi/include/trlib/trlib_types.h +36 -0
  703. casadi/include/trlib.h +44 -0
  704. casadi/ipopt.lib +0 -0
  705. casadi/lapack.lib +0 -0
  706. casadi/lib/libtinyxml2.dll.a +0 -0
  707. casadi/libCbc-3.dll +0 -0
  708. casadi/libCbc.dll.a +0 -0
  709. casadi/libCbc.la +1 -1
  710. casadi/libCbcSolver-3.dll +0 -0
  711. casadi/libCbcSolver.dll.a +0 -0
  712. casadi/libCbcSolver.la +1 -1
  713. casadi/libCgl-1.dll +0 -0
  714. casadi/libCgl.dll.a +0 -0
  715. casadi/libCgl.la +1 -1
  716. casadi/libClp-1.dll +0 -0
  717. casadi/libClp.dll.a +0 -0
  718. casadi/libClp.la +1 -1
  719. casadi/libClpSolver-1.dll +0 -0
  720. casadi/libClpSolver.dll.a +0 -0
  721. casadi/libClpSolver.la +1 -1
  722. casadi/libCoinUtils-3.dll +0 -0
  723. casadi/libCoinUtils.dll.a +0 -0
  724. casadi/libCoinUtils.la +1 -1
  725. casadi/libFortranHighs.dll +0 -0
  726. casadi/libFortranHighs.dll.a +0 -0
  727. casadi/libOsi-1.dll +0 -0
  728. casadi/libOsi.dll.a +0 -0
  729. casadi/libOsi.la +1 -1
  730. casadi/libOsiCbc-3.dll +0 -0
  731. casadi/libOsiCbc.dll.a +0 -0
  732. casadi/libOsiCbc.la +1 -1
  733. casadi/libOsiClp-1.dll +0 -0
  734. casadi/libOsiClp.dll.a +0 -0
  735. casadi/libOsiClp.la +1 -1
  736. casadi/libOsiCommonTests-1.dll +0 -0
  737. casadi/libOsiCommonTests.dll.a +0 -0
  738. casadi/libOsiCommonTests.la +1 -1
  739. casadi/libalpaqa.dll +0 -0
  740. casadi/libalpaqa.dll.a +0 -0
  741. casadi/libblasfeo.dll +0 -0
  742. casadi/libblasfeo.dll.a +0 -0
  743. casadi/libbonmin-4.dll +0 -0
  744. casadi/libbonmin.dll.a +0 -0
  745. casadi/libbonmin.la +1 -1
  746. casadi/libcasadi-tp-openblas.dll +0 -0
  747. casadi/libcasadi-tp-openblas.dll.a +0 -0
  748. casadi/libcasadi.dll +0 -0
  749. casadi/libcasadi.dll.a +0 -0
  750. casadi/libcasadi_conic_cbc.dll +0 -0
  751. casadi/libcasadi_conic_cbc.dll.a +0 -0
  752. casadi/libcasadi_conic_clp.dll +0 -0
  753. casadi/libcasadi_conic_clp.dll.a +0 -0
  754. casadi/libcasadi_conic_cplex.dll +0 -0
  755. casadi/libcasadi_conic_cplex.dll.a +0 -0
  756. casadi/libcasadi_conic_gurobi.dll +0 -0
  757. casadi/libcasadi_conic_gurobi.dll.a +0 -0
  758. casadi/libcasadi_conic_highs.dll +0 -0
  759. casadi/libcasadi_conic_highs.dll.a +0 -0
  760. casadi/libcasadi_conic_hpipm.dll +0 -0
  761. casadi/libcasadi_conic_hpipm.dll.a +0 -0
  762. casadi/libcasadi_conic_ipqp.dll +0 -0
  763. casadi/libcasadi_conic_ipqp.dll.a +0 -0
  764. casadi/libcasadi_conic_nlpsol.dll +0 -0
  765. casadi/libcasadi_conic_nlpsol.dll.a +0 -0
  766. casadi/libcasadi_conic_osqp.dll +0 -0
  767. casadi/libcasadi_conic_osqp.dll.a +0 -0
  768. casadi/libcasadi_conic_proxqp.dll +0 -0
  769. casadi/libcasadi_conic_proxqp.dll.a +0 -0
  770. casadi/libcasadi_conic_qpoases.dll +0 -0
  771. casadi/libcasadi_conic_qpoases.dll.a +0 -0
  772. casadi/libcasadi_conic_qrqp.dll +0 -0
  773. casadi/libcasadi_conic_qrqp.dll.a +0 -0
  774. casadi/libcasadi_conic_superscs.dll +0 -0
  775. casadi/libcasadi_conic_superscs.dll.a +0 -0
  776. casadi/libcasadi_importer_shell.dll +0 -0
  777. casadi/libcasadi_importer_shell.dll.a +0 -0
  778. casadi/libcasadi_integrator_collocation.dll +0 -0
  779. casadi/libcasadi_integrator_collocation.dll.a +0 -0
  780. casadi/libcasadi_integrator_cvodes.dll +0 -0
  781. casadi/libcasadi_integrator_cvodes.dll.a +0 -0
  782. casadi/libcasadi_integrator_idas.dll +0 -0
  783. casadi/libcasadi_integrator_idas.dll.a +0 -0
  784. casadi/libcasadi_integrator_rk.dll +0 -0
  785. casadi/libcasadi_integrator_rk.dll.a +0 -0
  786. casadi/libcasadi_interpolant_bspline.dll +0 -0
  787. casadi/libcasadi_interpolant_bspline.dll.a +0 -0
  788. casadi/libcasadi_interpolant_linear.dll +0 -0
  789. casadi/libcasadi_interpolant_linear.dll.a +0 -0
  790. casadi/libcasadi_linsol_csparse.dll +0 -0
  791. casadi/libcasadi_linsol_csparse.dll.a +0 -0
  792. casadi/libcasadi_linsol_csparsecholesky.dll +0 -0
  793. casadi/libcasadi_linsol_csparsecholesky.dll.a +0 -0
  794. casadi/libcasadi_linsol_lapacklu.dll +0 -0
  795. casadi/libcasadi_linsol_lapacklu.dll.a +0 -0
  796. casadi/libcasadi_linsol_lapackqr.dll +0 -0
  797. casadi/libcasadi_linsol_lapackqr.dll.a +0 -0
  798. casadi/libcasadi_linsol_ldl.dll +0 -0
  799. casadi/libcasadi_linsol_ldl.dll.a +0 -0
  800. casadi/libcasadi_linsol_lsqr.dll +0 -0
  801. casadi/libcasadi_linsol_lsqr.dll.a +0 -0
  802. casadi/libcasadi_linsol_ma27.dll +0 -0
  803. casadi/libcasadi_linsol_ma27.dll.a +0 -0
  804. casadi/libcasadi_linsol_mumps.dll +0 -0
  805. casadi/libcasadi_linsol_mumps.dll.a +0 -0
  806. casadi/libcasadi_linsol_qr.dll +0 -0
  807. casadi/libcasadi_linsol_qr.dll.a +0 -0
  808. casadi/libcasadi_linsol_symbolicqr.dll +0 -0
  809. casadi/libcasadi_linsol_symbolicqr.dll.a +0 -0
  810. casadi/libcasadi_linsol_tridiag.dll +0 -0
  811. casadi/libcasadi_linsol_tridiag.dll.a +0 -0
  812. casadi/libcasadi_nlpsol_alpaqa.dll +0 -0
  813. casadi/libcasadi_nlpsol_alpaqa.dll.a +0 -0
  814. casadi/libcasadi_nlpsol_ampl.dll +0 -0
  815. casadi/libcasadi_nlpsol_ampl.dll.a +0 -0
  816. casadi/libcasadi_nlpsol_blocksqp.dll +0 -0
  817. casadi/libcasadi_nlpsol_blocksqp.dll.a +0 -0
  818. casadi/libcasadi_nlpsol_bonmin.dll +0 -0
  819. casadi/libcasadi_nlpsol_bonmin.dll.a +0 -0
  820. casadi/libcasadi_nlpsol_feasiblesqpmethod.dll +0 -0
  821. casadi/libcasadi_nlpsol_feasiblesqpmethod.dll.a +0 -0
  822. casadi/libcasadi_nlpsol_ipopt.dll +0 -0
  823. casadi/libcasadi_nlpsol_ipopt.dll.a +0 -0
  824. casadi/libcasadi_nlpsol_knitro.dll +0 -0
  825. casadi/libcasadi_nlpsol_knitro.dll.a +0 -0
  826. casadi/libcasadi_nlpsol_qrsqp.dll +0 -0
  827. casadi/libcasadi_nlpsol_qrsqp.dll.a +0 -0
  828. casadi/libcasadi_nlpsol_scpgen.dll +0 -0
  829. casadi/libcasadi_nlpsol_scpgen.dll.a +0 -0
  830. casadi/libcasadi_nlpsol_sleqp.dll +0 -0
  831. casadi/libcasadi_nlpsol_sleqp.dll.a +0 -0
  832. casadi/libcasadi_nlpsol_snopt.dll +0 -0
  833. casadi/libcasadi_nlpsol_snopt.dll.a +0 -0
  834. casadi/libcasadi_nlpsol_sqpmethod.dll +0 -0
  835. casadi/libcasadi_nlpsol_sqpmethod.dll.a +0 -0
  836. casadi/libcasadi_nlpsol_worhp.dll +0 -0
  837. casadi/libcasadi_nlpsol_worhp.dll.a +0 -0
  838. casadi/libcasadi_rootfinder_fast_newton.dll +0 -0
  839. casadi/libcasadi_rootfinder_fast_newton.dll.a +0 -0
  840. casadi/libcasadi_rootfinder_kinsol.dll +0 -0
  841. casadi/libcasadi_rootfinder_kinsol.dll.a +0 -0
  842. casadi/libcasadi_rootfinder_newton.dll +0 -0
  843. casadi/libcasadi_rootfinder_newton.dll.a +0 -0
  844. casadi/libcasadi_rootfinder_nlpsol.dll +0 -0
  845. casadi/libcasadi_rootfinder_nlpsol.dll.a +0 -0
  846. casadi/libcasadi_sundials_common.dll +0 -0
  847. casadi/libcasadi_sundials_common.dll.a +0 -0
  848. casadi/libcasadi_xmlfile_tinyxml.dll +0 -0
  849. casadi/libcasadi_xmlfile_tinyxml.dll.a +0 -0
  850. casadi/libcoinmetis-2.dll +0 -0
  851. casadi/libcoinmetis.dll.a +0 -0
  852. casadi/libcoinmumps-3.dll +0 -0
  853. casadi/libcoinmumps.dll.a +0 -0
  854. casadi/libcplex_adaptor.dll +0 -0
  855. casadi/libgurobi_adaptor.dll +0 -0
  856. casadi/libhighs.dll +0 -0
  857. casadi/libhighs.dll.a +0 -0
  858. casadi/libhpipm.dll +0 -0
  859. casadi/libhpipm.dll.a +0 -0
  860. casadi/libipopt-3.dll +0 -0
  861. casadi/libipopt.dll.a +0 -0
  862. casadi/libosqp.dll +0 -0
  863. casadi/libosqp.dll.a +0 -0
  864. casadi/libqdldl.dll +0 -0
  865. casadi/libqdldl.dll.a +0 -0
  866. casadi/libsipopt-3.dll +0 -0
  867. casadi/libsipopt.dll.a +0 -0
  868. casadi/libsleqp.dll +0 -0
  869. casadi/libsleqp.dll.a +0 -0
  870. casadi/libtinyxml2.dll +0 -0
  871. casadi/libtrlib.dll +0 -0
  872. casadi/libtrlib.dll.a +0 -0
  873. casadi/osqp.lib +0 -0
  874. casadi/pkgconfig/blas.pc +11 -0
  875. casadi/pkgconfig/bonmin.pc +1 -1
  876. casadi/pkgconfig/casadi.pc +1 -1
  877. casadi/pkgconfig/cbc.pc +2 -2
  878. casadi/pkgconfig/cgl.pc +2 -2
  879. casadi/pkgconfig/clp.pc +1 -1
  880. casadi/pkgconfig/coinutils.pc +1 -1
  881. casadi/pkgconfig/highs.pc +3 -3
  882. casadi/pkgconfig/lapack.pc +11 -0
  883. casadi/pkgconfig/openblas.pc +1 -1
  884. casadi/pkgconfig/osi-cbc.pc +1 -1
  885. casadi/pkgconfig/osi-clp.pc +1 -1
  886. casadi/pkgconfig/osi-unittests.pc +1 -1
  887. casadi/pkgconfig/osi.pc +1 -1
  888. casadi/pkgconfig/sleqp.pc +10 -0
  889. casadi/sleqp.lib +0 -0
  890. casadi/spral_ssids.exe +0 -0
  891. {casadi-3.6.3.dist-info → casadi-3.6.5.dist-info}/METADATA +11 -3
  892. {casadi-3.6.3.dist-info → casadi-3.6.5.dist-info}/RECORD +893 -325
  893. casadi/include/highs/interfaces/OsiHiGHSSolverInterface.hpp +0 -415
  894. casadi/libOsiHighs.dll +0 -0
  895. casadi/libOsiHighs.dll.a +0 -0
  896. casadi/pkgconfig/osi-highs.pc +0 -11
  897. {casadi-3.6.3.dist-info → casadi-3.6.5.dist-info}/WHEEL +0 -0
@@ -0,0 +1,185 @@
1
+ /* $Id$ */
2
+ // Copyright (C) 2005, COIN-OR. All Rights Reserved.
3
+ // This code is licensed under the terms of the Eclipse Public License (EPL).
4
+
5
+ #ifndef CoinFileIO_H
6
+ #define CoinFileIO_H
7
+
8
+ #include <string>
9
+
10
+ /// Base class for FileIO classes.
11
+ class CoinFileIOBase {
12
+ public:
13
+ /// Constructor.
14
+ /// @param fileName The name of the file used by this object.
15
+ CoinFileIOBase(const std::string &fileName);
16
+
17
+ /// Destructor.
18
+ ~CoinFileIOBase();
19
+
20
+ /// Return the name of the file used by this object.
21
+ const char *getFileName() const;
22
+
23
+ /// Return the method of reading being used
24
+ inline std::string getReadType() const
25
+ {
26
+ return readType_.c_str();
27
+ }
28
+
29
+ protected:
30
+ std::string readType_;
31
+
32
+ private:
33
+ CoinFileIOBase();
34
+ CoinFileIOBase(const CoinFileIOBase &);
35
+
36
+ std::string fileName_;
37
+ };
38
+
39
+ /// Abstract base class for file input classes.
40
+ class CoinFileInput : public CoinFileIOBase {
41
+ public:
42
+ /// indicates whether CoinFileInput supports gzip'ed files
43
+ static bool haveGzipSupport();
44
+ /// indicates whether CoinFileInput supports bzip2'ed files
45
+ static bool haveBzip2Support();
46
+
47
+ /// Factory method, that creates a CoinFileInput (more precisely
48
+ /// a subclass of it) for the file specified. This method reads the
49
+ /// first few bytes of the file and determines if this is a compressed
50
+ /// or a plain file and returns the correct subclass to handle it.
51
+ /// If the file does not exist or uses a compression not compiled in
52
+ /// an exception is thrown.
53
+ /// @param fileName The file that should be read.
54
+ static CoinFileInput *create(const std::string &fileName);
55
+
56
+ /// Constructor (don't use this, use the create method instead).
57
+ /// @param fileName The name of the file used by this object.
58
+ CoinFileInput(const std::string &fileName);
59
+
60
+ /// Destructor.
61
+ virtual ~CoinFileInput();
62
+
63
+ /// Read a block of data from the file, similar to fread.
64
+ /// @param buffer Address of a buffer to store the data into.
65
+ /// @param size Number of bytes to read (buffer should be large enough).
66
+ /// @return Number of bytes read.
67
+ virtual int read(void *buffer, int size) = 0;
68
+
69
+ /// Reads up to (size-1) characters an stores them into the buffer,
70
+ /// similar to fgets.
71
+ /// Reading ends, when EOF or a newline occurs or (size-1) characters have
72
+ /// been read. The resulting string is terminated with '\0'. If reading
73
+ /// ends due to an encoutered newline, the '\n' is put into the buffer,
74
+ /// before the '\0' is appended.
75
+ /// @param buffer The buffer to put the string into.
76
+ /// @param size The size of the buffer in characters.
77
+ /// @return buffer on success, or 0 if no characters have been read.
78
+ virtual char *gets(char *buffer, int size) = 0;
79
+ };
80
+
81
+ /// This reads plain text files
82
+ class CoinPlainFileInput : public CoinFileInput {
83
+ public:
84
+ CoinPlainFileInput(const std::string &fileName);
85
+ /// When already opened
86
+ CoinPlainFileInput(FILE *fp);
87
+ virtual ~CoinPlainFileInput();
88
+
89
+ virtual int read(void *buffer, int size);
90
+
91
+ virtual char *gets(char *buffer, int size);
92
+
93
+ private:
94
+ FILE *f_;
95
+ };
96
+
97
+ /// Abstract base class for file output classes.
98
+ class CoinFileOutput : public CoinFileIOBase {
99
+ public:
100
+ /// The compression method.
101
+ enum Compression {
102
+ COMPRESS_NONE = 0, ///< No compression.
103
+ COMPRESS_GZIP = 1, ///< gzip compression.
104
+ COMPRESS_BZIP2 = 2 ///< bzip2 compression.
105
+ };
106
+
107
+ /// Returns whether the specified compression method is supported
108
+ /// (i.e. was compiled into COIN).
109
+ static bool compressionSupported(Compression compression);
110
+
111
+ /// Factory method, that creates a CoinFileOutput (more precisely
112
+ /// a subclass of it) for the file specified. If the compression method
113
+ /// is not supported an exception is thrown (so use compressionSupported
114
+ /// first, if this is a problem). The reason for not providing direct
115
+ /// access to the subclasses (and using such a method instead) is that
116
+ /// depending on the build configuration some of the classes are not
117
+ /// available (or functional). This way we can handle all required ifdefs
118
+ /// here instead of polluting other files.
119
+ /// @param fileName The file that should be read.
120
+ /// @param compression Compression method used.
121
+ static CoinFileOutput *create(const std::string &fileName,
122
+ Compression compression);
123
+
124
+ /// Constructor (don't use this, use the create method instead).
125
+ /// @param fileName The name of the file used by this object.
126
+ CoinFileOutput(const std::string &fileName);
127
+
128
+ /// Destructor.
129
+ virtual ~CoinFileOutput();
130
+
131
+ /// Write a block of data to the file, similar to fwrite.
132
+ /// @param buffer Address of a buffer containing the data to be written.
133
+ /// @param size Number of bytes to write.
134
+ /// @return Number of bytes written.
135
+ virtual int write(const void *buffer, int size) = 0;
136
+
137
+ /// Write a string to the file (like fputs).
138
+ /// Just as with fputs no trailing newline is inserted!
139
+ /// The terminating '\0' is not written to the file.
140
+ /// The default implementation determines the length of the string
141
+ /// and calls write on it.
142
+ /// @param s The zero terminated string to be written.
143
+ /// @return true on success, false on error.
144
+ virtual bool puts(const char *s);
145
+
146
+ /// Convenience method: just a 'puts(s.c_str())'.
147
+ inline bool puts(const std::string &s)
148
+ {
149
+ return puts(s.c_str());
150
+ }
151
+ };
152
+
153
+ /*! \relates CoinFileInput
154
+ \brief Test if the given string looks like an absolute file path
155
+
156
+ The criteria are:
157
+ - unix: string begins with `/'
158
+ - windows: string begins with `\' or with `drv:' (drive specifier)
159
+ */
160
+ bool fileAbsPath(const std::string &path);
161
+
162
+ /*! \relates CoinFileInput
163
+ \brief Test if the file is readable, using likely versions of the file
164
+ name, and return the name that worked.
165
+
166
+ The file name is constructed from \p name using the following rules:
167
+ <ul>
168
+ <li> An absolute path is not modified.
169
+ <li> If the name begins with `~', an attempt is made to replace `~'
170
+ with the value of the environment variable HOME.
171
+ <li> If a default prefix (\p dfltPrefix) is provided, it is
172
+ prepended to the name.
173
+ </ul>
174
+ If the constructed file name cannot be opened, and CoinUtils was built
175
+ with support for compressed files, fileCoinReadable will try any
176
+ standard extensions for supported compressed files.
177
+
178
+ The value returned in \p name is the file name that actually worked.
179
+ */
180
+ bool fileCoinReadable(std::string &name,
181
+ const std::string &dfltPrefix = std::string(""));
182
+ #endif
183
+
184
+ /* vi: softtabstop=2 shiftwidth=2 expandtab tabstop=2
185
+ */
@@ -0,0 +1,37 @@
1
+ /* $Id$ */
2
+ // Copyright (C) 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
+ /* Defines COIN_DBL_MAX and relatives and provides CoinFinite and CoinIsnan. */
7
+
8
+ #ifndef CoinFinite_H
9
+ #define CoinFinite_H
10
+
11
+ #include <limits>
12
+
13
+ //=============================================================================
14
+ // Smallest positive double value and Plus infinity (double and int)
15
+
16
+ #if 1
17
+ const double COIN_DBL_MIN = (std::numeric_limits< double >::min)();
18
+ const double COIN_DBL_MAX = (std::numeric_limits< double >::max)();
19
+ const int COIN_INT_MAX = (std::numeric_limits< int >::max)();
20
+ const double COIN_INT_MAX_AS_DOUBLE = (std::numeric_limits< int >::max)();
21
+ #else
22
+ #define COIN_DBL_MIN (std::numeric_limits< double >::min())
23
+ #define COIN_DBL_MAX (std::numeric_limits< double >::max())
24
+ #define COIN_INT_MAX (std::numeric_limits< int >::max())
25
+ #define COIN_INT_MAX_AS_DOUBLE (std::numeric_limits< int >::max())
26
+ #endif
27
+
28
+ /** checks if a double value is finite (not infinity and not NaN) */
29
+ extern bool CoinFinite(double val);
30
+
31
+ /** checks if a double value is not a number */
32
+ extern bool CoinIsnan(double val);
33
+
34
+ #endif
35
+
36
+ /* vi: softtabstop=2 shiftwidth=2 expandtab tabstop=2
37
+ */
@@ -0,0 +1,204 @@
1
+ /* $Id$ */
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 CoinFloatEqual_H
7
+ #define CoinFloatEqual_H
8
+
9
+ #include <algorithm>
10
+ #include <cmath>
11
+
12
+ #include "CoinFinite.hpp"
13
+
14
+ /*! \file CoinFloatEqual.hpp
15
+ \brief Function objects for testing equality of real numbers.
16
+
17
+ Two objects are provided; one tests for equality to an absolute tolerance,
18
+ one to a scaled tolerance. The tests will handle IEEE floating point, but
19
+ note that infinity == infinity. Mathematicians are rolling in their graves,
20
+ but this matches the behaviour for the common practice of using
21
+ <code>DBL_MAX</code> (<code>numeric_limits<double>::max()</code>, or similar
22
+ large finite number) as infinity.
23
+
24
+ <p>
25
+ Example usage:
26
+ @verbatim
27
+ double d1 = 3.14159 ;
28
+ double d2 = d1 ;
29
+ double d3 = d1+.0001 ;
30
+
31
+ CoinAbsFltEq eq1 ;
32
+ CoinAbsFltEq eq2(.001) ;
33
+
34
+ assert( eq1(d1,d2) ) ;
35
+ assert( !eq1(d1,d3) ) ;
36
+ assert( eq2(d1,d3) ) ;
37
+ @endverbatim
38
+ CoinRelFltEq follows the same pattern. */
39
+
40
+ /*! \brief Equality to an absolute tolerance
41
+
42
+ Operands are considered equal if their difference is within an epsilon ;
43
+ the test does not consider the relative magnitude of the operands.
44
+ */
45
+
46
+ class CoinAbsFltEq {
47
+ public:
48
+ //! Compare function
49
+
50
+ inline bool operator()(const double f1, const double f2) const
51
+
52
+ {
53
+ if (CoinIsnan(f1) || CoinIsnan(f2))
54
+ return false;
55
+ if (f1 == f2)
56
+ return true;
57
+ return (fabs(f1 - f2) < epsilon_);
58
+ }
59
+
60
+ /*! \name Constructors and destructors */
61
+ //@{
62
+
63
+ /*! \brief Default constructor
64
+
65
+ Default tolerance is 1.0e-10.
66
+ */
67
+
68
+ CoinAbsFltEq()
69
+ : epsilon_(1.e-10)
70
+ {
71
+ }
72
+
73
+ //! Alternate constructor with epsilon as a parameter
74
+
75
+ CoinAbsFltEq(const double epsilon)
76
+ : epsilon_(epsilon)
77
+ {
78
+ }
79
+
80
+ //! Destructor
81
+
82
+ virtual ~CoinAbsFltEq() {}
83
+
84
+ //! Copy constructor
85
+
86
+ CoinAbsFltEq(const CoinAbsFltEq &src)
87
+ : epsilon_(src.epsilon_)
88
+ {
89
+ }
90
+
91
+ //! Assignment
92
+
93
+ CoinAbsFltEq &operator=(const CoinAbsFltEq &rhs)
94
+
95
+ {
96
+ if (this != &rhs)
97
+ epsilon_ = rhs.epsilon_;
98
+ return (*this);
99
+ }
100
+
101
+ //@}
102
+
103
+ private:
104
+ /*! \name Private member data */
105
+ //@{
106
+
107
+ //! Equality tolerance.
108
+
109
+ double epsilon_;
110
+
111
+ //@}
112
+ };
113
+
114
+ /*! \brief Equality to a scaled tolerance
115
+
116
+ Operands are considered equal if their difference is within a scaled
117
+ epsilon calculated as epsilon_*(1+CoinMax(|f1|,|f2|)).
118
+ */
119
+
120
+ class CoinRelFltEq {
121
+ public:
122
+ //! Compare function
123
+
124
+ inline bool operator()(const double f1, const double f2) const
125
+
126
+ {
127
+ if (CoinIsnan(f1) || CoinIsnan(f2))
128
+ return false;
129
+ if (f1 == f2)
130
+ return true;
131
+ if (!CoinFinite(f1) || !CoinFinite(f2))
132
+ return false;
133
+
134
+ double tol = (fabs(f1) > fabs(f2)) ? fabs(f1) : fabs(f2);
135
+
136
+ return (fabs(f1 - f2) <= epsilon_ * (1 + tol));
137
+ }
138
+
139
+ /*! \name Constructors and destructors */
140
+ //@{
141
+
142
+ #ifndef COIN_FLOAT
143
+ /*! Default constructor
144
+
145
+ Default tolerance is 1.0e-10.
146
+ */
147
+ CoinRelFltEq()
148
+ : epsilon_(1.e-10)
149
+ {
150
+ }
151
+ #else
152
+ /*! Default constructor
153
+
154
+ Default tolerance is 1.0e-6.
155
+ */
156
+ CoinRelFltEq()
157
+ : epsilon_(1.e-6) {}; // as float
158
+ #endif
159
+
160
+ //! Alternate constructor with epsilon as a parameter
161
+
162
+ CoinRelFltEq(const double epsilon)
163
+ : epsilon_(epsilon)
164
+ {
165
+ }
166
+
167
+ //! Destructor
168
+
169
+ virtual ~CoinRelFltEq() {}
170
+
171
+ //! Copy constructor
172
+
173
+ CoinRelFltEq(const CoinRelFltEq &src)
174
+ : epsilon_(src.epsilon_)
175
+ {
176
+ }
177
+
178
+ //! Assignment
179
+
180
+ CoinRelFltEq &operator=(const CoinRelFltEq &rhs)
181
+
182
+ {
183
+ if (this != &rhs)
184
+ epsilon_ = rhs.epsilon_;
185
+ return (*this);
186
+ }
187
+
188
+ //@}
189
+
190
+ private:
191
+ /*! \name Private member data */
192
+ //@{
193
+
194
+ //! Base equality tolerance
195
+
196
+ double epsilon_;
197
+
198
+ //@}
199
+ };
200
+
201
+ #endif
202
+
203
+ /* vi: softtabstop=2 shiftwidth=2 expandtab tabstop=2
204
+ */