casadi 3.6.7__cp313-none-macosx_10_13_x86_64.macosx_10_13_intel.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 (1312) hide show
  1. casadi/__init__.py +92 -0
  2. casadi/_casadi.so +0 -0
  3. casadi/casadi-cli +0 -0
  4. casadi/casadi.py +50976 -0
  5. casadi/cbc +0 -0
  6. casadi/clp +0 -0
  7. casadi/cmake/casadi-config-version.cmake +11 -0
  8. casadi/cmake/casadi-config.cmake +8 -0
  9. casadi/cmake/casadi-targets-release.cmake +19 -0
  10. casadi/cmake/casadi-targets.cmake +106 -0
  11. casadi/cmake/highs/highs-config.cmake +17 -0
  12. casadi/cmake/highs/highs-targets-release.cmake +28 -0
  13. casadi/cmake/highs/highs-targets.cmake +117 -0
  14. casadi/cmake/osqp/osqp-config.cmake +1 -0
  15. casadi/cmake/osqp/osqp-targets-noconfig.cmake +29 -0
  16. casadi/cmake/osqp/osqp-targets.cmake +113 -0
  17. casadi/cmake/qdldl/qdldl-config.cmake +1 -0
  18. casadi/cmake/qdldl/qdldl-targets-noconfig.cmake +29 -0
  19. casadi/cmake/qdldl/qdldl-targets.cmake +113 -0
  20. casadi/cmake/sleqp/sleqp-config-version.cmake +65 -0
  21. casadi/cmake/sleqp/sleqp-config.cmake +1 -0
  22. casadi/cmake/sleqp/sleqp-targets-release.cmake +20 -0
  23. casadi/cmake/sleqp/sleqp-targets.cmake +106 -0
  24. casadi/cmake/trlib/trlib-config-release.cmake +19 -0
  25. casadi/cmake/trlib/trlib-config-version.cmake +83 -0
  26. casadi/cmake/trlib/trlib-config.cmake +107 -0
  27. casadi/highs +0 -0
  28. casadi/include/blasfeo.h +52 -0
  29. casadi/include/blasfeo_block_size.h +447 -0
  30. casadi/include/blasfeo_common.h +274 -0
  31. casadi/include/blasfeo_d_aux.h +255 -0
  32. casadi/include/blasfeo_d_aux_ext_dep.h +145 -0
  33. casadi/include/blasfeo_d_aux_ext_dep_ref.h +84 -0
  34. casadi/include/blasfeo_d_aux_old.h +75 -0
  35. casadi/include/blasfeo_d_aux_ref.h +208 -0
  36. casadi/include/blasfeo_d_aux_test.h +226 -0
  37. casadi/include/blasfeo_d_blas.h +46 -0
  38. casadi/include/blasfeo_d_blas_api.h +281 -0
  39. casadi/include/blasfeo_d_blasfeo_api.h +364 -0
  40. casadi/include/blasfeo_d_blasfeo_api_ref.h +147 -0
  41. casadi/include/blasfeo_d_blasfeo_hp_api.h +84 -0
  42. casadi/include/blasfeo_d_blasfeo_ref_api.h +283 -0
  43. casadi/include/blasfeo_d_kernel.h +1321 -0
  44. casadi/include/blasfeo_i_aux_ext_dep.h +69 -0
  45. casadi/include/blasfeo_m_aux.h +57 -0
  46. casadi/include/blasfeo_memory.h +62 -0
  47. casadi/include/blasfeo_naming.h +77 -0
  48. casadi/include/blasfeo_processor_features.h +88 -0
  49. casadi/include/blasfeo_s_aux.h +168 -0
  50. casadi/include/blasfeo_s_aux_ext_dep.h +141 -0
  51. casadi/include/blasfeo_s_aux_ext_dep_ref.h +82 -0
  52. casadi/include/blasfeo_s_aux_old.h +64 -0
  53. casadi/include/blasfeo_s_aux_ref.h +147 -0
  54. casadi/include/blasfeo_s_aux_test.h +177 -0
  55. casadi/include/blasfeo_s_blas.h +46 -0
  56. casadi/include/blasfeo_s_blas_api.h +182 -0
  57. casadi/include/blasfeo_s_blasfeo_api.h +284 -0
  58. casadi/include/blasfeo_s_blasfeo_api_ref.h +135 -0
  59. casadi/include/blasfeo_s_blasfeo_ref_api.h +252 -0
  60. casadi/include/blasfeo_s_kernel.h +692 -0
  61. casadi/include/blasfeo_stdlib.h +62 -0
  62. casadi/include/blasfeo_target.h +73 -0
  63. casadi/include/blasfeo_timing.h +114 -0
  64. casadi/include/blasfeo_v_aux_ext_dep.h +83 -0
  65. casadi/include/casadi/casadi.hpp +31 -0
  66. casadi/include/casadi/casadi.i +4691 -0
  67. casadi/include/casadi/casadi_c.h +138 -0
  68. casadi/include/casadi/casadi_numpy.hpp +97 -0
  69. casadi/include/casadi/config.h +46 -0
  70. casadi/include/casadi/core/calculus.hpp +1750 -0
  71. casadi/include/casadi/core/callback.hpp +226 -0
  72. casadi/include/casadi/core/casadi_common.hpp +318 -0
  73. casadi/include/casadi/core/casadi_enum.hpp +90 -0
  74. casadi/include/casadi/core/casadi_export.h +43 -0
  75. casadi/include/casadi/core/casadi_interrupt.hpp +83 -0
  76. casadi/include/casadi/core/casadi_limits.hpp +104 -0
  77. casadi/include/casadi/core/casadi_logger.hpp +134 -0
  78. casadi/include/casadi/core/casadi_meta.hpp +107 -0
  79. casadi/include/casadi/core/casadi_misc.hpp +1001 -0
  80. casadi/include/casadi/core/casadi_types.hpp +66 -0
  81. casadi/include/casadi/core/code_generator.hpp +975 -0
  82. casadi/include/casadi/core/conic.hpp +213 -0
  83. casadi/include/casadi/core/core.hpp +70 -0
  84. casadi/include/casadi/core/dae_builder.hpp +723 -0
  85. casadi/include/casadi/core/dm.hpp +87 -0
  86. casadi/include/casadi/core/dm_fwd.hpp +39 -0
  87. casadi/include/casadi/core/dple.hpp +138 -0
  88. casadi/include/casadi/core/exception.hpp +167 -0
  89. casadi/include/casadi/core/expm.hpp +84 -0
  90. casadi/include/casadi/core/external.hpp +70 -0
  91. casadi/include/casadi/core/fmu.hpp +224 -0
  92. casadi/include/casadi/core/function.hpp +1347 -0
  93. casadi/include/casadi/core/generic_expression.hpp +760 -0
  94. casadi/include/casadi/core/generic_matrix.hpp +1598 -0
  95. casadi/include/casadi/core/generic_type.hpp +311 -0
  96. casadi/include/casadi/core/global_options.hpp +97 -0
  97. casadi/include/casadi/core/im.hpp +52 -0
  98. casadi/include/casadi/core/im_fwd.hpp +35 -0
  99. casadi/include/casadi/core/importer.hpp +221 -0
  100. casadi/include/casadi/core/integration_tools.hpp +292 -0
  101. casadi/include/casadi/core/integrator.hpp +256 -0
  102. casadi/include/casadi/core/interpolant.hpp +163 -0
  103. casadi/include/casadi/core/linsol.hpp +171 -0
  104. casadi/include/casadi/core/matrix_decl.hpp +1352 -0
  105. casadi/include/casadi/core/matrix_fwd.hpp +37 -0
  106. casadi/include/casadi/core/mx.hpp +953 -0
  107. casadi/include/casadi/core/nlp_builder.hpp +162 -0
  108. casadi/include/casadi/core/nlp_tools.hpp +124 -0
  109. casadi/include/casadi/core/nlpsol.hpp +234 -0
  110. casadi/include/casadi/core/nonzeros.hpp +111 -0
  111. casadi/include/casadi/core/options.hpp +119 -0
  112. casadi/include/casadi/core/optistack.hpp +670 -0
  113. casadi/include/casadi/core/polynomial.hpp +126 -0
  114. casadi/include/casadi/core/printable.hpp +73 -0
  115. casadi/include/casadi/core/rootfinder.hpp +176 -0
  116. casadi/include/casadi/core/runtime/casadi_axpy.hpp +8 -0
  117. casadi/include/casadi/core/runtime/casadi_bfgs.hpp +49 -0
  118. casadi/include/casadi/core/runtime/casadi_bilin.hpp +42 -0
  119. casadi/include/casadi/core/runtime/casadi_bound_consistency.hpp +51 -0
  120. casadi/include/casadi/core/runtime/casadi_cache.hpp +59 -0
  121. casadi/include/casadi/core/runtime/casadi_clear.hpp +27 -0
  122. casadi/include/casadi/core/runtime/casadi_clip_max.hpp +33 -0
  123. casadi/include/casadi/core/runtime/casadi_clip_min.hpp +33 -0
  124. casadi/include/casadi/core/runtime/casadi_convexify.hpp +182 -0
  125. casadi/include/casadi/core/runtime/casadi_copy.hpp +31 -0
  126. casadi/include/casadi/core/runtime/casadi_cvx.hpp +463 -0
  127. casadi/include/casadi/core/runtime/casadi_de_boor.hpp +36 -0
  128. casadi/include/casadi/core/runtime/casadi_dense_lsqr.hpp +247 -0
  129. casadi/include/casadi/core/runtime/casadi_densify.hpp +48 -0
  130. casadi/include/casadi/core/runtime/casadi_dot.hpp +27 -0
  131. casadi/include/casadi/core/runtime/casadi_feasiblesqpmethod.hpp +208 -0
  132. casadi/include/casadi/core/runtime/casadi_file_slurp.hpp +32 -0
  133. casadi/include/casadi/core/runtime/casadi_fill.hpp +27 -0
  134. casadi/include/casadi/core/runtime/casadi_finite_diff.hpp +345 -0
  135. casadi/include/casadi/core/runtime/casadi_flip.hpp +33 -0
  136. casadi/include/casadi/core/runtime/casadi_getu.hpp +35 -0
  137. casadi/include/casadi/core/runtime/casadi_iamax.hpp +36 -0
  138. casadi/include/casadi/core/runtime/casadi_interpn.hpp +39 -0
  139. casadi/include/casadi/core/runtime/casadi_interpn_grad.hpp +72 -0
  140. casadi/include/casadi/core/runtime/casadi_interpn_interpolate.hpp +43 -0
  141. casadi/include/casadi/core/runtime/casadi_interpn_weights.hpp +39 -0
  142. casadi/include/casadi/core/runtime/casadi_ipqp.hpp +868 -0
  143. casadi/include/casadi/core/runtime/casadi_jac.hpp +186 -0
  144. casadi/include/casadi/core/runtime/casadi_kkt.hpp +67 -0
  145. casadi/include/casadi/core/runtime/casadi_kron.hpp +50 -0
  146. casadi/include/casadi/core/runtime/casadi_ldl.hpp +109 -0
  147. casadi/include/casadi/core/runtime/casadi_logsumexp.hpp +41 -0
  148. casadi/include/casadi/core/runtime/casadi_low.hpp +65 -0
  149. casadi/include/casadi/core/runtime/casadi_lsqr.hpp +247 -0
  150. casadi/include/casadi/core/runtime/casadi_masked_norm_inf.hpp +33 -0
  151. casadi/include/casadi/core/runtime/casadi_max_viol.hpp +37 -0
  152. casadi/include/casadi/core/runtime/casadi_mmax.hpp +28 -0
  153. casadi/include/casadi/core/runtime/casadi_mmin.hpp +29 -0
  154. casadi/include/casadi/core/runtime/casadi_mtimes.hpp +75 -0
  155. casadi/include/casadi/core/runtime/casadi_mv.hpp +46 -0
  156. casadi/include/casadi/core/runtime/casadi_mv_dense.hpp +39 -0
  157. casadi/include/casadi/core/runtime/casadi_nd_boor_dual_eval.hpp +127 -0
  158. casadi/include/casadi/core/runtime/casadi_nd_boor_eval.hpp +120 -0
  159. casadi/include/casadi/core/runtime/casadi_newton.hpp +66 -0
  160. casadi/include/casadi/core/runtime/casadi_nlp.hpp +289 -0
  161. casadi/include/casadi/core/runtime/casadi_norm_1.hpp +29 -0
  162. casadi/include/casadi/core/runtime/casadi_norm_2.hpp +24 -0
  163. casadi/include/casadi/core/runtime/casadi_norm_inf.hpp +28 -0
  164. casadi/include/casadi/core/runtime/casadi_norm_inf_mul.hpp +105 -0
  165. casadi/include/casadi/core/runtime/casadi_ocp_block.hpp +55 -0
  166. casadi/include/casadi/core/runtime/casadi_oracle.hpp +44 -0
  167. casadi/include/casadi/core/runtime/casadi_oracle_callback.hpp +39 -0
  168. casadi/include/casadi/core/runtime/casadi_polyval.hpp +29 -0
  169. casadi/include/casadi/core/runtime/casadi_project.hpp +39 -0
  170. casadi/include/casadi/core/runtime/casadi_qp.hpp +86 -0
  171. casadi/include/casadi/core/runtime/casadi_qr.hpp +272 -0
  172. casadi/include/casadi/core/runtime/casadi_qrqp.hpp +1239 -0
  173. casadi/include/casadi/core/runtime/casadi_rank1.hpp +40 -0
  174. casadi/include/casadi/core/runtime/casadi_regularize.hpp +73 -0
  175. casadi/include/casadi/core/runtime/casadi_runtime.hpp +318 -0
  176. casadi/include/casadi/core/runtime/casadi_scal.hpp +26 -0
  177. casadi/include/casadi/core/runtime/casadi_scaled_copy.hpp +31 -0
  178. casadi/include/casadi/core/runtime/casadi_sparsify.hpp +42 -0
  179. casadi/include/casadi/core/runtime/casadi_sparsity.hpp +24 -0
  180. casadi/include/casadi/core/runtime/casadi_sqpmethod.hpp +178 -0
  181. casadi/include/casadi/core/runtime/casadi_sum.hpp +31 -0
  182. casadi/include/casadi/core/runtime/casadi_sum_viol.hpp +37 -0
  183. casadi/include/casadi/core/runtime/casadi_swap.hpp +32 -0
  184. casadi/include/casadi/core/runtime/casadi_trans.hpp +35 -0
  185. casadi/include/casadi/core/runtime/casadi_tri_project.hpp +37 -0
  186. casadi/include/casadi/core/runtime/casadi_trilsolve.hpp +81 -0
  187. casadi/include/casadi/core/runtime/casadi_triusolve.hpp +81 -0
  188. casadi/include/casadi/core/runtime/casadi_vector_fmax.hpp +28 -0
  189. casadi/include/casadi/core/runtime/casadi_vector_fmin.hpp +28 -0
  190. casadi/include/casadi/core/runtime/casadi_vfmax.hpp +28 -0
  191. casadi/include/casadi/core/runtime/casadi_vfmin.hpp +28 -0
  192. casadi/include/casadi/core/runtime/shared.hpp +261 -0
  193. casadi/include/casadi/core/serializer.hpp +256 -0
  194. casadi/include/casadi/core/serializing_stream.hpp +329 -0
  195. casadi/include/casadi/core/shared_object.hpp +270 -0
  196. casadi/include/casadi/core/slice.hpp +149 -0
  197. casadi/include/casadi/core/sparsity.hpp +1495 -0
  198. casadi/include/casadi/core/sparsity_interface.hpp +745 -0
  199. casadi/include/casadi/core/submatrix.hpp +156 -0
  200. casadi/include/casadi/core/sx.hpp +203 -0
  201. casadi/include/casadi/core/sx_elem.hpp +351 -0
  202. casadi/include/casadi/core/sx_fwd.hpp +45 -0
  203. casadi/include/casadi/core/timing.hpp +98 -0
  204. casadi/include/casadi/core/tools.hpp +67 -0
  205. casadi/include/casadi/core/xml_file.hpp +93 -0
  206. casadi/include/casadi/core/xml_node.hpp +207 -0
  207. casadi/include/casadi/doc.i +58615 -0
  208. casadi/include/casadi/doc_merged.i +36123 -0
  209. casadi/include/casadi/mem.h +311 -0
  210. casadi/include/casadi/valgrind-casadi.supp +511 -0
  211. casadi/include/casadi/valgrind-python.supp +1416 -0
  212. casadi/include/coin/BonArraysHelpers.hpp +52 -0
  213. casadi/include/coin/BonAuxInfos.hpp +110 -0
  214. casadi/include/coin/BonBabInfos.hpp +57 -0
  215. casadi/include/coin/BonBabSetupBase.hpp +386 -0
  216. casadi/include/coin/BonBonminSetup.hpp +95 -0
  217. casadi/include/coin/BonBranchingTQP.hpp +197 -0
  218. casadi/include/coin/BonCbc.hpp +127 -0
  219. casadi/include/coin/BonCbcLpStrategy.hpp +45 -0
  220. casadi/include/coin/BonCbcNlpStrategy.hpp +98 -0
  221. casadi/include/coin/BonCbcNode.hpp +133 -0
  222. casadi/include/coin/BonChooseVariable.hpp +345 -0
  223. casadi/include/coin/BonCurvBranchingSolver.hpp +77 -0
  224. casadi/include/coin/BonCutStrengthener.hpp +244 -0
  225. casadi/include/coin/BonDiver.hpp +424 -0
  226. casadi/include/coin/BonDummyHeuristic.hpp +53 -0
  227. casadi/include/coin/BonDummyPump.hpp +43 -0
  228. casadi/include/coin/BonEcpCuts.hpp +97 -0
  229. casadi/include/coin/BonExitCodes.hpp +12 -0
  230. casadi/include/coin/BonFixAndSolveHeuristic.hpp +43 -0
  231. casadi/include/coin/BonGuessHeuristic.hpp +46 -0
  232. casadi/include/coin/BonHeuristicDive.hpp +88 -0
  233. casadi/include/coin/BonHeuristicDiveFractional.hpp +67 -0
  234. casadi/include/coin/BonHeuristicDiveMIP.hpp +83 -0
  235. casadi/include/coin/BonHeuristicDiveMIPFractional.hpp +67 -0
  236. casadi/include/coin/BonHeuristicDiveMIPVectorLength.hpp +74 -0
  237. casadi/include/coin/BonHeuristicDiveVectorLength.hpp +74 -0
  238. casadi/include/coin/BonHeuristicFPump.hpp +111 -0
  239. casadi/include/coin/BonHeuristicLocalBranching.hpp +59 -0
  240. casadi/include/coin/BonHeuristicRINS.hpp +55 -0
  241. casadi/include/coin/BonIpoptInteriorWarmStarter.hpp +103 -0
  242. casadi/include/coin/BonIpoptSolver.hpp +188 -0
  243. casadi/include/coin/BonIpoptWarmStart.hpp +148 -0
  244. casadi/include/coin/BonLinearCutsGenerator.hpp +75 -0
  245. casadi/include/coin/BonLocalSolverBasedHeuristic.hpp +102 -0
  246. casadi/include/coin/BonLpBranchingSolver.hpp +80 -0
  247. casadi/include/coin/BonMilpRounding.hpp +74 -0
  248. casadi/include/coin/BonOACutGenerator2.hpp +56 -0
  249. casadi/include/coin/BonOAMessages.hpp +44 -0
  250. casadi/include/coin/BonOaDecBase.hpp +297 -0
  251. casadi/include/coin/BonOaFeasChecker.hpp +73 -0
  252. casadi/include/coin/BonOaNlpOptim.hpp +116 -0
  253. casadi/include/coin/BonOsiTMINLPInterface.hpp +1342 -0
  254. casadi/include/coin/BonOuterApprox.hpp +123 -0
  255. casadi/include/coin/BonPseudoCosts.hpp +91 -0
  256. casadi/include/coin/BonPumpForMinlp.hpp +45 -0
  257. casadi/include/coin/BonQuadCut.hpp +217 -0
  258. casadi/include/coin/BonQuadRow.hpp +122 -0
  259. casadi/include/coin/BonRegisteredOptions.hpp +225 -0
  260. casadi/include/coin/BonStrongBranchingSolver.hpp +69 -0
  261. casadi/include/coin/BonSubMipSolver.hpp +143 -0
  262. casadi/include/coin/BonTMINLP.hpp +420 -0
  263. casadi/include/coin/BonTMINLP2OsiLP.hpp +164 -0
  264. casadi/include/coin/BonTMINLP2Quad.hpp +191 -0
  265. casadi/include/coin/BonTMINLP2TNLP.hpp +509 -0
  266. casadi/include/coin/BonTMINLPLinObj.hpp +216 -0
  267. casadi/include/coin/BonTMatrix.hpp +167 -0
  268. casadi/include/coin/BonTNLP2FPNLP.hpp +264 -0
  269. casadi/include/coin/BonTNLPSolver.hpp +241 -0
  270. casadi/include/coin/BonTypes.hpp +95 -0
  271. casadi/include/coin/BonminConfig.h +19 -0
  272. casadi/include/coin/CbcBranchActual.hpp +26 -0
  273. casadi/include/coin/CbcBranchAllDifferent.hpp +61 -0
  274. casadi/include/coin/CbcBranchBase.hpp +79 -0
  275. casadi/include/coin/CbcBranchCut.hpp +182 -0
  276. casadi/include/coin/CbcBranchDecision.hpp +135 -0
  277. casadi/include/coin/CbcBranchDefaultDecision.hpp +101 -0
  278. casadi/include/coin/CbcBranchDynamic.hpp +210 -0
  279. casadi/include/coin/CbcBranchLotsize.hpp +249 -0
  280. casadi/include/coin/CbcBranchToFixLots.hpp +94 -0
  281. casadi/include/coin/CbcBranchingObject.hpp +245 -0
  282. casadi/include/coin/CbcClique.hpp +309 -0
  283. casadi/include/coin/CbcCompare.hpp +46 -0
  284. casadi/include/coin/CbcCompareActual.hpp +16 -0
  285. casadi/include/coin/CbcCompareBase.hpp +155 -0
  286. casadi/include/coin/CbcCompareDefault.hpp +129 -0
  287. casadi/include/coin/CbcCompareDepth.hpp +48 -0
  288. casadi/include/coin/CbcCompareEstimate.hpp +48 -0
  289. casadi/include/coin/CbcCompareObjective.hpp +50 -0
  290. casadi/include/coin/CbcConfig.h +18 -0
  291. casadi/include/coin/CbcConsequence.hpp +50 -0
  292. casadi/include/coin/CbcCountRowCut.hpp +176 -0
  293. casadi/include/coin/CbcCutGenerator.hpp +550 -0
  294. casadi/include/coin/CbcCutModifier.hpp +59 -0
  295. casadi/include/coin/CbcCutSubsetModifier.hpp +69 -0
  296. casadi/include/coin/CbcDummyBranchingObject.hpp +83 -0
  297. casadi/include/coin/CbcEventHandler.hpp +250 -0
  298. casadi/include/coin/CbcFathom.hpp +136 -0
  299. casadi/include/coin/CbcFathomDynamicProgramming.hpp +177 -0
  300. casadi/include/coin/CbcFeasibilityBase.hpp +60 -0
  301. casadi/include/coin/CbcFixVariable.hpp +68 -0
  302. casadi/include/coin/CbcFollowOn.hpp +207 -0
  303. casadi/include/coin/CbcFullNodeInfo.hpp +171 -0
  304. casadi/include/coin/CbcGeneral.hpp +60 -0
  305. casadi/include/coin/CbcGeneralDepth.hpp +289 -0
  306. casadi/include/coin/CbcHeuristic.hpp +735 -0
  307. casadi/include/coin/CbcHeuristicDINS.hpp +98 -0
  308. casadi/include/coin/CbcHeuristicDW.hpp +374 -0
  309. casadi/include/coin/CbcHeuristicDive.hpp +198 -0
  310. casadi/include/coin/CbcHeuristicDiveCoefficient.hpp +52 -0
  311. casadi/include/coin/CbcHeuristicDiveFractional.hpp +52 -0
  312. casadi/include/coin/CbcHeuristicDiveGuided.hpp +55 -0
  313. casadi/include/coin/CbcHeuristicDiveLineSearch.hpp +52 -0
  314. casadi/include/coin/CbcHeuristicDivePseudoCost.hpp +60 -0
  315. casadi/include/coin/CbcHeuristicDiveVectorLength.hpp +52 -0
  316. casadi/include/coin/CbcHeuristicFPump.hpp +375 -0
  317. casadi/include/coin/CbcHeuristicGreedy.hpp +289 -0
  318. casadi/include/coin/CbcHeuristicLocal.hpp +276 -0
  319. casadi/include/coin/CbcHeuristicPivotAndFix.hpp +58 -0
  320. casadi/include/coin/CbcHeuristicRENS.hpp +79 -0
  321. casadi/include/coin/CbcHeuristicRINS.hpp +106 -0
  322. casadi/include/coin/CbcHeuristicRandRound.hpp +58 -0
  323. casadi/include/coin/CbcHeuristicVND.hpp +95 -0
  324. casadi/include/coin/CbcLinked.hpp +1443 -0
  325. casadi/include/coin/CbcMessage.hpp +94 -0
  326. casadi/include/coin/CbcMipStartIO.hpp +29 -0
  327. casadi/include/coin/CbcModel.hpp +3296 -0
  328. casadi/include/coin/CbcNWay.hpp +171 -0
  329. casadi/include/coin/CbcNode.hpp +380 -0
  330. casadi/include/coin/CbcNodeInfo.hpp +377 -0
  331. casadi/include/coin/CbcObject.hpp +288 -0
  332. casadi/include/coin/CbcObjectUpdateData.hpp +63 -0
  333. casadi/include/coin/CbcOrClpParam.cpp +4321 -0
  334. casadi/include/coin/CbcOrClpParam.hpp +585 -0
  335. casadi/include/coin/CbcParam.hpp +338 -0
  336. casadi/include/coin/CbcPartialNodeInfo.hpp +116 -0
  337. casadi/include/coin/CbcSOS.hpp +290 -0
  338. casadi/include/coin/CbcSimpleInteger.hpp +299 -0
  339. casadi/include/coin/CbcSimpleIntegerDynamicPseudoCost.hpp +619 -0
  340. casadi/include/coin/CbcSimpleIntegerPseudoCost.hpp +122 -0
  341. casadi/include/coin/CbcSolver.hpp +460 -0
  342. casadi/include/coin/CbcStrategy.hpp +269 -0
  343. casadi/include/coin/CbcSubProblem.hpp +84 -0
  344. casadi/include/coin/CbcTree.hpp +493 -0
  345. casadi/include/coin/CbcTreeLocal.hpp +393 -0
  346. casadi/include/coin/Cbc_C_Interface.h +904 -0
  347. casadi/include/coin/Cgl012cut.hpp +464 -0
  348. casadi/include/coin/CglAllDifferent.hpp +115 -0
  349. casadi/include/coin/CglClique.hpp +312 -0
  350. casadi/include/coin/CglConfig.h +19 -0
  351. casadi/include/coin/CglCutGenerator.hpp +133 -0
  352. casadi/include/coin/CglDuplicateRow.hpp +189 -0
  353. casadi/include/coin/CglFlowCover.hpp +371 -0
  354. casadi/include/coin/CglGMI.hpp +364 -0
  355. casadi/include/coin/CglGMIParam.hpp +313 -0
  356. casadi/include/coin/CglGomory.hpp +204 -0
  357. casadi/include/coin/CglKnapsackCover.hpp +310 -0
  358. casadi/include/coin/CglLandP.hpp +306 -0
  359. casadi/include/coin/CglLandPValidator.hpp +130 -0
  360. casadi/include/coin/CglLiftAndProject.hpp +104 -0
  361. casadi/include/coin/CglMessage.hpp +49 -0
  362. casadi/include/coin/CglMixedIntegerRounding.hpp +429 -0
  363. casadi/include/coin/CglMixedIntegerRounding2.hpp +427 -0
  364. casadi/include/coin/CglOddHole.hpp +160 -0
  365. casadi/include/coin/CglParam.hpp +93 -0
  366. casadi/include/coin/CglPreProcess.hpp +600 -0
  367. casadi/include/coin/CglProbing.hpp +543 -0
  368. casadi/include/coin/CglRedSplit.hpp +448 -0
  369. casadi/include/coin/CglRedSplit2.hpp +494 -0
  370. casadi/include/coin/CglRedSplit2Param.hpp +495 -0
  371. casadi/include/coin/CglRedSplitParam.hpp +272 -0
  372. casadi/include/coin/CglResidualCapacity.hpp +240 -0
  373. casadi/include/coin/CglSimpleRounding.hpp +174 -0
  374. casadi/include/coin/CglStored.hpp +140 -0
  375. casadi/include/coin/CglTreeInfo.hpp +216 -0
  376. casadi/include/coin/CglTwomir.hpp +562 -0
  377. casadi/include/coin/CglZeroHalf.hpp +133 -0
  378. casadi/include/coin/ClpAmplObjective.hpp +113 -0
  379. casadi/include/coin/ClpCholeskyBase.hpp +321 -0
  380. casadi/include/coin/ClpCholeskyDense.hpp +157 -0
  381. casadi/include/coin/ClpCholeskyMumps.hpp +65 -0
  382. casadi/include/coin/ClpCholeskyPardiso.hpp +67 -0
  383. casadi/include/coin/ClpConfig.h +17 -0
  384. casadi/include/coin/ClpConstraint.hpp +129 -0
  385. casadi/include/coin/ClpConstraintAmpl.hpp +109 -0
  386. casadi/include/coin/ClpConstraintLinear.hpp +113 -0
  387. casadi/include/coin/ClpConstraintQuadratic.hpp +123 -0
  388. casadi/include/coin/ClpDualRowDantzig.hpp +72 -0
  389. casadi/include/coin/ClpDualRowPivot.hpp +136 -0
  390. casadi/include/coin/ClpDualRowSteepest.hpp +160 -0
  391. casadi/include/coin/ClpDummyMatrix.hpp +186 -0
  392. casadi/include/coin/ClpDynamicExampleMatrix.hpp +199 -0
  393. casadi/include/coin/ClpDynamicMatrix.hpp +420 -0
  394. casadi/include/coin/ClpEventHandler.hpp +193 -0
  395. casadi/include/coin/ClpFactorization.hpp +556 -0
  396. casadi/include/coin/ClpGubDynamicMatrix.hpp +270 -0
  397. casadi/include/coin/ClpGubMatrix.hpp +373 -0
  398. casadi/include/coin/ClpInterior.hpp +622 -0
  399. casadi/include/coin/ClpLinearObjective.hpp +104 -0
  400. casadi/include/coin/ClpMatrixBase.hpp +561 -0
  401. casadi/include/coin/ClpMessage.hpp +131 -0
  402. casadi/include/coin/ClpModel.hpp +1442 -0
  403. casadi/include/coin/ClpNetworkMatrix.hpp +235 -0
  404. casadi/include/coin/ClpNode.hpp +364 -0
  405. casadi/include/coin/ClpNonLinearCost.hpp +432 -0
  406. casadi/include/coin/ClpObjective.hpp +142 -0
  407. casadi/include/coin/ClpPEDualRowDantzig.hpp +84 -0
  408. casadi/include/coin/ClpPEDualRowSteepest.hpp +100 -0
  409. casadi/include/coin/ClpPEPrimalColumnDantzig.hpp +71 -0
  410. casadi/include/coin/ClpPEPrimalColumnSteepest.hpp +107 -0
  411. casadi/include/coin/ClpPESimplex.hpp +231 -0
  412. casadi/include/coin/ClpPackedMatrix.hpp +778 -0
  413. casadi/include/coin/ClpParameters.hpp +132 -0
  414. casadi/include/coin/ClpPdcoBase.hpp +110 -0
  415. casadi/include/coin/ClpPlusMinusOneMatrix.hpp +565 -0
  416. casadi/include/coin/ClpPresolve.hpp +379 -0
  417. casadi/include/coin/ClpPrimalColumnDantzig.hpp +74 -0
  418. casadi/include/coin/ClpPrimalColumnPivot.hpp +163 -0
  419. casadi/include/coin/ClpPrimalColumnSteepest.hpp +281 -0
  420. casadi/include/coin/ClpQuadraticObjective.hpp +161 -0
  421. casadi/include/coin/ClpSimplex.hpp +2137 -0
  422. casadi/include/coin/ClpSimplexDual.hpp +304 -0
  423. casadi/include/coin/ClpSimplexNonlinear.hpp +117 -0
  424. casadi/include/coin/ClpSimplexOther.hpp +282 -0
  425. casadi/include/coin/ClpSimplexPrimal.hpp +244 -0
  426. casadi/include/coin/ClpSolve.hpp +505 -0
  427. casadi/include/coin/Clp_C_Interface.h +554 -0
  428. casadi/include/coin/CoinAlloc.hpp +179 -0
  429. casadi/include/coin/CoinBuild.hpp +159 -0
  430. casadi/include/coin/CoinDenseFactorization.hpp +452 -0
  431. casadi/include/coin/CoinDenseVector.hpp +401 -0
  432. casadi/include/coin/CoinDistance.hpp +51 -0
  433. casadi/include/coin/CoinError.hpp +274 -0
  434. casadi/include/coin/CoinFactorization.hpp +2178 -0
  435. casadi/include/coin/CoinFileIO.hpp +185 -0
  436. casadi/include/coin/CoinFinite.hpp +37 -0
  437. casadi/include/coin/CoinFloatEqual.hpp +204 -0
  438. casadi/include/coin/CoinHelperFunctions.hpp +1270 -0
  439. casadi/include/coin/CoinIndexedVector.hpp +1437 -0
  440. casadi/include/coin/CoinLpIO.hpp +836 -0
  441. casadi/include/coin/CoinMessage.hpp +95 -0
  442. casadi/include/coin/CoinMessageHandler.hpp +717 -0
  443. casadi/include/coin/CoinModel.hpp +1214 -0
  444. casadi/include/coin/CoinModelUseful.hpp +518 -0
  445. casadi/include/coin/CoinMpsIO.hpp +1142 -0
  446. casadi/include/coin/CoinOslFactorization.hpp +287 -0
  447. casadi/include/coin/CoinPackedMatrix.hpp +956 -0
  448. casadi/include/coin/CoinPackedVector.hpp +670 -0
  449. casadi/include/coin/CoinPackedVectorBase.hpp +274 -0
  450. casadi/include/coin/CoinParam.hpp +644 -0
  451. casadi/include/coin/CoinPragma.hpp +29 -0
  452. casadi/include/coin/CoinPresolveDoubleton.hpp +76 -0
  453. casadi/include/coin/CoinPresolveDual.hpp +84 -0
  454. casadi/include/coin/CoinPresolveDupcol.hpp +259 -0
  455. casadi/include/coin/CoinPresolveEmpty.hpp +120 -0
  456. casadi/include/coin/CoinPresolveFixed.hpp +185 -0
  457. casadi/include/coin/CoinPresolveForcing.hpp +69 -0
  458. casadi/include/coin/CoinPresolveImpliedFree.hpp +66 -0
  459. casadi/include/coin/CoinPresolveIsolated.hpp +59 -0
  460. casadi/include/coin/CoinPresolveMatrix.hpp +1996 -0
  461. casadi/include/coin/CoinPresolveMonitor.hpp +105 -0
  462. casadi/include/coin/CoinPresolvePsdebug.hpp +169 -0
  463. casadi/include/coin/CoinPresolveSingleton.hpp +115 -0
  464. casadi/include/coin/CoinPresolveSubst.hpp +103 -0
  465. casadi/include/coin/CoinPresolveTighten.hpp +58 -0
  466. casadi/include/coin/CoinPresolveTripleton.hpp +69 -0
  467. casadi/include/coin/CoinPresolveUseless.hpp +63 -0
  468. casadi/include/coin/CoinPresolveZeros.hpp +65 -0
  469. casadi/include/coin/CoinRational.hpp +43 -0
  470. casadi/include/coin/CoinSearchTree.hpp +523 -0
  471. casadi/include/coin/CoinShallowPackedVector.hpp +149 -0
  472. casadi/include/coin/CoinSignal.hpp +127 -0
  473. casadi/include/coin/CoinSimpFactorization.hpp +432 -0
  474. casadi/include/coin/CoinSmartPtr.hpp +548 -0
  475. casadi/include/coin/CoinSnapshot.hpp +572 -0
  476. casadi/include/coin/CoinSort.hpp +753 -0
  477. casadi/include/coin/CoinStructuredModel.hpp +270 -0
  478. casadi/include/coin/CoinTime.hpp +350 -0
  479. casadi/include/coin/CoinTypes.hpp +67 -0
  480. casadi/include/coin/CoinUtility.hpp +26 -0
  481. casadi/include/coin/CoinUtilsConfig.h +34 -0
  482. casadi/include/coin/CoinWarmStart.hpp +56 -0
  483. casadi/include/coin/CoinWarmStartBasis.hpp +468 -0
  484. casadi/include/coin/CoinWarmStartDual.hpp +180 -0
  485. casadi/include/coin/CoinWarmStartPrimalDual.hpp +233 -0
  486. casadi/include/coin/CoinWarmStartVector.hpp +523 -0
  487. casadi/include/coin/Coin_C_defines.h +149 -0
  488. casadi/include/coin/Idiot.hpp +327 -0
  489. casadi/include/coin/OsiAuxInfo.hpp +261 -0
  490. casadi/include/coin/OsiBranchingObject.hpp +1097 -0
  491. casadi/include/coin/OsiCbcSolverInterface.hpp +791 -0
  492. casadi/include/coin/OsiChooseVariable.hpp +645 -0
  493. casadi/include/coin/OsiClpSolverInterface.hpp +1604 -0
  494. casadi/include/coin/OsiColCut.hpp +322 -0
  495. casadi/include/coin/OsiCollections.hpp +34 -0
  496. casadi/include/coin/OsiConfig.h +19 -0
  497. casadi/include/coin/OsiCut.hpp +251 -0
  498. casadi/include/coin/OsiCuts.hpp +505 -0
  499. casadi/include/coin/OsiPresolve.hpp +272 -0
  500. casadi/include/coin/OsiRowCut.hpp +345 -0
  501. casadi/include/coin/OsiRowCutDebugger.hpp +190 -0
  502. casadi/include/coin/OsiSolverBranch.hpp +169 -0
  503. casadi/include/coin/OsiSolverInterface.hpp +2221 -0
  504. casadi/include/coin/OsiSolverParameters.hpp +144 -0
  505. casadi/include/coin/OsiUnitTests.hpp +390 -0
  506. casadi/include/coin-or/IpAlgBuilder.hpp +417 -0
  507. casadi/include/coin-or/IpAlgStrategy.hpp +201 -0
  508. casadi/include/coin-or/IpAlgTypes.hpp +64 -0
  509. casadi/include/coin-or/IpAugSystemSolver.hpp +212 -0
  510. casadi/include/coin-or/IpBlas.hpp +426 -0
  511. casadi/include/coin-or/IpCachedResults.hpp +897 -0
  512. casadi/include/coin-or/IpCompoundMatrix.hpp +423 -0
  513. casadi/include/coin-or/IpCompoundSymMatrix.hpp +348 -0
  514. casadi/include/coin-or/IpCompoundVector.hpp +395 -0
  515. casadi/include/coin-or/IpConvCheck.hpp +97 -0
  516. casadi/include/coin-or/IpDebug.hpp +167 -0
  517. casadi/include/coin-or/IpDenseVector.hpp +626 -0
  518. casadi/include/coin-or/IpDiagMatrix.hpp +158 -0
  519. casadi/include/coin-or/IpEqMultCalculator.hpp +76 -0
  520. casadi/include/coin-or/IpException.hpp +156 -0
  521. casadi/include/coin-or/IpExpansionMatrix.hpp +245 -0
  522. casadi/include/coin-or/IpGenTMatrix.hpp +290 -0
  523. casadi/include/coin-or/IpHessianUpdater.hpp +73 -0
  524. casadi/include/coin-or/IpIdentityMatrix.hpp +167 -0
  525. casadi/include/coin-or/IpIpoptAlg.hpp +257 -0
  526. casadi/include/coin-or/IpIpoptApplication.hpp +367 -0
  527. casadi/include/coin-or/IpIpoptCalculatedQuantities.hpp +1009 -0
  528. casadi/include/coin-or/IpIpoptData.hpp +966 -0
  529. casadi/include/coin-or/IpIpoptNLP.hpp +328 -0
  530. casadi/include/coin-or/IpIterateInitializer.hpp +68 -0
  531. casadi/include/coin-or/IpIteratesVector.hpp +840 -0
  532. casadi/include/coin-or/IpIterationOutput.hpp +78 -0
  533. casadi/include/coin-or/IpJournalist.hpp +573 -0
  534. casadi/include/coin-or/IpLapack.hpp +227 -0
  535. casadi/include/coin-or/IpLibraryLoader.hpp +76 -0
  536. casadi/include/coin-or/IpLineSearch.hpp +106 -0
  537. casadi/include/coin-or/IpLinearSolvers.h +46 -0
  538. casadi/include/coin-or/IpMatrix.hpp +434 -0
  539. casadi/include/coin-or/IpMuUpdate.hpp +77 -0
  540. casadi/include/coin-or/IpNLP.hpp +306 -0
  541. casadi/include/coin-or/IpNLPScaling.hpp +582 -0
  542. casadi/include/coin-or/IpObserver.hpp +422 -0
  543. casadi/include/coin-or/IpOptionsList.hpp +412 -0
  544. casadi/include/coin-or/IpOrigIpoptNLP.hpp +603 -0
  545. casadi/include/coin-or/IpPDSystemSolver.hpp +137 -0
  546. casadi/include/coin-or/IpReferenced.hpp +262 -0
  547. casadi/include/coin-or/IpRegOptions.hpp +1152 -0
  548. casadi/include/coin-or/IpReturnCodes.h +23 -0
  549. casadi/include/coin-or/IpReturnCodes.hpp +18 -0
  550. casadi/include/coin-or/IpReturnCodes.inc +71 -0
  551. casadi/include/coin-or/IpReturnCodes_inc.h +45 -0
  552. casadi/include/coin-or/IpScaledMatrix.hpp +291 -0
  553. casadi/include/coin-or/IpSearchDirCalculator.hpp +72 -0
  554. casadi/include/coin-or/IpSmartPtr.hpp +865 -0
  555. casadi/include/coin-or/IpSolveStatistics.hpp +210 -0
  556. casadi/include/coin-or/IpSparseSymLinearSolverInterface.hpp +260 -0
  557. casadi/include/coin-or/IpStdAugSystemSolver.cpp +555 -0
  558. casadi/include/coin-or/IpStdCInterface.h +428 -0
  559. casadi/include/coin-or/IpSumSymMatrix.hpp +186 -0
  560. casadi/include/coin-or/IpSymLinearSolver.hpp +141 -0
  561. casadi/include/coin-or/IpSymMatrix.hpp +167 -0
  562. casadi/include/coin-or/IpSymScaledMatrix.hpp +255 -0
  563. casadi/include/coin-or/IpSymTMatrix.hpp +275 -0
  564. casadi/include/coin-or/IpTNLP.hpp +820 -0
  565. casadi/include/coin-or/IpTNLPAdapter.hpp +648 -0
  566. casadi/include/coin-or/IpTNLPReducer.hpp +274 -0
  567. casadi/include/coin-or/IpTaggedObject.hpp +128 -0
  568. casadi/include/coin-or/IpTimedTask.hpp +218 -0
  569. casadi/include/coin-or/IpTimingStatistics.hpp +323 -0
  570. casadi/include/coin-or/IpTripletHelper.hpp +308 -0
  571. casadi/include/coin-or/IpTypes.h +81 -0
  572. casadi/include/coin-or/IpTypes.hpp +30 -0
  573. casadi/include/coin-or/IpUtils.hpp +166 -0
  574. casadi/include/coin-or/IpVector.hpp +892 -0
  575. casadi/include/coin-or/IpZeroSymMatrix.hpp +155 -0
  576. casadi/include/coin-or/IpoptConfig.h +45 -0
  577. casadi/include/coin-or/SensAlgorithm.hpp +114 -0
  578. casadi/include/coin-or/SensApplication.hpp +188 -0
  579. casadi/include/coin-or/SensBacksolver.hpp +36 -0
  580. casadi/include/coin-or/SensMeasurement.hpp +56 -0
  581. casadi/include/coin-or/SensPCalculator.hpp +137 -0
  582. casadi/include/coin-or/SensRegOp.hpp +21 -0
  583. casadi/include/coin-or/SensSchurData.hpp +182 -0
  584. casadi/include/coin-or/SensSchurDriver.hpp +118 -0
  585. casadi/include/coin-or/SensSimpleBacksolver.hpp +49 -0
  586. casadi/include/coin-or/SensStepCalc.hpp +85 -0
  587. casadi/include/coin-or/SensUtils.hpp +63 -0
  588. casadi/include/coin-or/metis/defs.h +161 -0
  589. casadi/include/coin-or/metis/macros.h +143 -0
  590. casadi/include/coin-or/metis/metis.h +37 -0
  591. casadi/include/coin-or/metis/proto.h +505 -0
  592. casadi/include/coin-or/metis/rename.h +418 -0
  593. casadi/include/coin-or/metis/struct.h +251 -0
  594. casadi/include/coin-or/mumps/dmumps_c.h +142 -0
  595. casadi/include/coin-or/mumps/mumps_c_types.h +72 -0
  596. casadi/include/coin-or/mumps/mumps_compat.h +27 -0
  597. casadi/include/coin-or/mumps/mumps_int_def.h +11 -0
  598. casadi/include/coin-or/mumps/mumps_mpi.h +67 -0
  599. casadi/include/d_blas.h +78 -0
  600. casadi/include/d_blas_64.h +73 -0
  601. casadi/include/fatrop/auxiliary/Common.hpp +34 -0
  602. casadi/include/fatrop/auxiliary/DynamicLib.hpp +34 -0
  603. casadi/include/fatrop/auxiliary/FatropOptions.hpp +68 -0
  604. casadi/include/fatrop/auxiliary/FatropVector.hpp +143 -0
  605. casadi/include/fatrop/auxiliary/LinearAlgebra.hpp +88 -0
  606. casadi/include/fatrop/auxiliary/VectorUtils.hpp +54 -0
  607. casadi/include/fatrop/blasfeo_wrapper/LinearAlgebraBlasfeo.hpp +493 -0
  608. casadi/include/fatrop/fatrop.hpp +39 -0
  609. casadi/include/fatrop/function_evaluation/CasadiCodegen.hpp +104 -0
  610. casadi/include/fatrop/function_evaluation/FunctionEvaluation.hpp +60 -0
  611. casadi/include/fatrop/json/json.h +946 -0
  612. casadi/include/fatrop/ocp/CasadiCApiUserdataWrap.hpp +87 -0
  613. casadi/include/fatrop/ocp/DuInfEvaluator.hpp +38 -0
  614. casadi/include/fatrop/ocp/FatropOCP.hpp +161 -0
  615. casadi/include/fatrop/ocp/FatropOCPBuilder.hpp +52 -0
  616. casadi/include/fatrop/ocp/FatropOCPResto.hpp +299 -0
  617. casadi/include/fatrop/ocp/OCP.hpp +82 -0
  618. casadi/include/fatrop/ocp/OCPAbstract.hpp +254 -0
  619. casadi/include/fatrop/ocp/OCPAdapter.hpp +197 -0
  620. casadi/include/fatrop/ocp/OCPCInterface.h +289 -0
  621. casadi/include/fatrop/ocp/OCPDims.hpp +60 -0
  622. casadi/include/fatrop/ocp/OCPInitializer.hpp +41 -0
  623. casadi/include/fatrop/ocp/OCPKKT.hpp +69 -0
  624. casadi/include/fatrop/ocp/OCPLSRiccati.hpp +198 -0
  625. casadi/include/fatrop/ocp/OCPLSScaler.hpp +66 -0
  626. casadi/include/fatrop/ocp/OCPLinearSolver.hpp +75 -0
  627. casadi/include/fatrop/ocp/OCPNoScaling.hpp +42 -0
  628. casadi/include/fatrop/ocp/OCPScalingMethod.hpp +42 -0
  629. casadi/include/fatrop/ocp/StageOCP.hpp +592 -0
  630. casadi/include/fatrop/ocp/StageOCPApplication.hpp +242 -0
  631. casadi/include/fatrop/ocp/StageOCPExpressions.hpp +182 -0
  632. casadi/include/fatrop/ocp/UStageEvalAbstract.hpp +168 -0
  633. casadi/include/fatrop/ocp/UStageOCPImpl.hpp +152 -0
  634. casadi/include/fatrop/quasi_newton/bfgs.hpp +159 -0
  635. casadi/include/fatrop/solver/AlgBuilder.hpp +76 -0
  636. casadi/include/fatrop/solver/AlgStrategy.hpp +33 -0
  637. casadi/include/fatrop/solver/FatropAlg.hpp +121 -0
  638. casadi/include/fatrop/solver/FatropData.hpp +188 -0
  639. casadi/include/fatrop/solver/FatropOptions.hpp +95 -0
  640. casadi/include/fatrop/solver/FatropPrinter.hpp +65 -0
  641. casadi/include/fatrop/solver/FatropStats.hpp +63 -0
  642. casadi/include/fatrop/solver/Filter.hpp +54 -0
  643. casadi/include/fatrop/solver/IterationData.hpp +56 -0
  644. casadi/include/fatrop/solver/LineSearch.hpp +86 -0
  645. casadi/include/fatrop/solver/NLPL1.hpp +263 -0
  646. casadi/include/fatrop/templates/NLPAlg.hpp +104 -0
  647. casadi/include/highs/HConfig.h +21 -0
  648. casadi/include/highs/Highs.h +1529 -0
  649. casadi/include/highs/filereaderlp/builder.hpp +25 -0
  650. casadi/include/highs/filereaderlp/def.hpp +19 -0
  651. casadi/include/highs/filereaderlp/model.hpp +68 -0
  652. casadi/include/highs/filereaderlp/reader.hpp +10 -0
  653. casadi/include/highs/interfaces/highs_c_api.h +2283 -0
  654. casadi/include/highs/io/Filereader.h +47 -0
  655. casadi/include/highs/io/FilereaderEms.h +33 -0
  656. casadi/include/highs/io/FilereaderLp.h +54 -0
  657. casadi/include/highs/io/FilereaderMps.h +30 -0
  658. casadi/include/highs/io/HMPSIO.h +81 -0
  659. casadi/include/highs/io/HMpsFF.h +235 -0
  660. casadi/include/highs/io/HighsIO.h +109 -0
  661. casadi/include/highs/io/LoadOptions.h +27 -0
  662. casadi/include/highs/ipm/IpxSolution.h +35 -0
  663. casadi/include/highs/ipm/IpxWrapper.h +73 -0
  664. casadi/include/highs/ipm/basiclu/basiclu.h +161 -0
  665. casadi/include/highs/ipm/basiclu/basiclu_factorize.h +247 -0
  666. casadi/include/highs/ipm/basiclu/basiclu_get_factors.h +108 -0
  667. casadi/include/highs/ipm/basiclu/basiclu_initialize.h +119 -0
  668. casadi/include/highs/ipm/basiclu/basiclu_obj_factorize.h +34 -0
  669. casadi/include/highs/ipm/basiclu/basiclu_obj_free.h +19 -0
  670. casadi/include/highs/ipm/basiclu/basiclu_obj_get_factors.h +34 -0
  671. casadi/include/highs/ipm/basiclu/basiclu_obj_initialize.h +46 -0
  672. casadi/include/highs/ipm/basiclu/basiclu_obj_solve_dense.h +29 -0
  673. casadi/include/highs/ipm/basiclu/basiclu_obj_solve_for_update.h +42 -0
  674. casadi/include/highs/ipm/basiclu/basiclu_obj_solve_sparse.h +32 -0
  675. casadi/include/highs/ipm/basiclu/basiclu_obj_update.h +31 -0
  676. casadi/include/highs/ipm/basiclu/basiclu_object.h +30 -0
  677. casadi/include/highs/ipm/basiclu/basiclu_solve_dense.h +75 -0
  678. casadi/include/highs/ipm/basiclu/basiclu_solve_for_update.h +169 -0
  679. casadi/include/highs/ipm/basiclu/basiclu_solve_sparse.h +112 -0
  680. casadi/include/highs/ipm/basiclu/basiclu_update.h +125 -0
  681. casadi/include/highs/ipm/basiclu/lu_def.h +39 -0
  682. casadi/include/highs/ipm/basiclu/lu_file.h +21 -0
  683. casadi/include/highs/ipm/basiclu/lu_internal.h +220 -0
  684. casadi/include/highs/ipm/basiclu/lu_list.h +168 -0
  685. casadi/include/highs/ipm/ipx/basiclu_kernel.h +20 -0
  686. casadi/include/highs/ipm/ipx/basiclu_wrapper.h +47 -0
  687. casadi/include/highs/ipm/ipx/basis.h +351 -0
  688. casadi/include/highs/ipm/ipx/conjugate_residuals.h +74 -0
  689. casadi/include/highs/ipm/ipx/control.h +163 -0
  690. casadi/include/highs/ipm/ipx/crossover.h +157 -0
  691. casadi/include/highs/ipm/ipx/diagonal_precond.h +45 -0
  692. casadi/include/highs/ipm/ipx/forrest_tomlin.h +102 -0
  693. casadi/include/highs/ipm/ipx/guess_basis.h +21 -0
  694. casadi/include/highs/ipm/ipx/indexed_vector.h +113 -0
  695. casadi/include/highs/ipm/ipx/info.h +27 -0
  696. casadi/include/highs/ipm/ipx/ipm.h +94 -0
  697. casadi/include/highs/ipm/ipx/ipx_c.h +47 -0
  698. casadi/include/highs/ipm/ipx/ipx_config.h +9 -0
  699. casadi/include/highs/ipm/ipx/ipx_info.h +111 -0
  700. casadi/include/highs/ipm/ipx/ipx_internal.h +88 -0
  701. casadi/include/highs/ipm/ipx/ipx_parameters.h +75 -0
  702. casadi/include/highs/ipm/ipx/ipx_status.h +57 -0
  703. casadi/include/highs/ipm/ipx/iterate.h +328 -0
  704. casadi/include/highs/ipm/ipx/kkt_solver.h +70 -0
  705. casadi/include/highs/ipm/ipx/kkt_solver_basis.h +66 -0
  706. casadi/include/highs/ipm/ipx/kkt_solver_diag.h +48 -0
  707. casadi/include/highs/ipm/ipx/linear_operator.h +26 -0
  708. casadi/include/highs/ipm/ipx/lp_solver.h +201 -0
  709. casadi/include/highs/ipm/ipx/lu_factorization.h +79 -0
  710. casadi/include/highs/ipm/ipx/lu_update.h +129 -0
  711. casadi/include/highs/ipm/ipx/maxvolume.h +54 -0
  712. casadi/include/highs/ipm/ipx/model.h +409 -0
  713. casadi/include/highs/ipm/ipx/multistream.h +52 -0
  714. casadi/include/highs/ipm/ipx/normal_matrix.h +44 -0
  715. casadi/include/highs/ipm/ipx/power_method.h +44 -0
  716. casadi/include/highs/ipm/ipx/sparse_matrix.h +195 -0
  717. casadi/include/highs/ipm/ipx/sparse_utils.h +58 -0
  718. casadi/include/highs/ipm/ipx/splitted_normal_matrix.h +63 -0
  719. casadi/include/highs/ipm/ipx/starting_basis.h +39 -0
  720. casadi/include/highs/ipm/ipx/symbolic_invert.h +29 -0
  721. casadi/include/highs/ipm/ipx/timer.h +24 -0
  722. casadi/include/highs/ipm/ipx/utils.h +39 -0
  723. casadi/include/highs/lp_data/HConst.h +305 -0
  724. casadi/include/highs/lp_data/HStruct.h +146 -0
  725. casadi/include/highs/lp_data/HighsAnalysis.h +26 -0
  726. casadi/include/highs/lp_data/HighsCallback.h +40 -0
  727. casadi/include/highs/lp_data/HighsCallbackStruct.h +62 -0
  728. casadi/include/highs/lp_data/HighsDebug.h +37 -0
  729. casadi/include/highs/lp_data/HighsInfo.h +322 -0
  730. casadi/include/highs/lp_data/HighsInfoDebug.h +30 -0
  731. casadi/include/highs/lp_data/HighsLp.h +101 -0
  732. casadi/include/highs/lp_data/HighsLpSolverObject.h +48 -0
  733. casadi/include/highs/lp_data/HighsLpUtils.h +266 -0
  734. casadi/include/highs/lp_data/HighsModelUtils.h +109 -0
  735. casadi/include/highs/lp_data/HighsOptions.h +1357 -0
  736. casadi/include/highs/lp_data/HighsRanging.h +46 -0
  737. casadi/include/highs/lp_data/HighsRuntimeOptions.h +276 -0
  738. casadi/include/highs/lp_data/HighsSolution.h +137 -0
  739. casadi/include/highs/lp_data/HighsSolutionDebug.h +90 -0
  740. casadi/include/highs/lp_data/HighsSolve.h +26 -0
  741. casadi/include/highs/lp_data/HighsStatus.h +32 -0
  742. casadi/include/highs/mip/HighsCliqueTable.h +318 -0
  743. casadi/include/highs/mip/HighsConflictPool.h +112 -0
  744. casadi/include/highs/mip/HighsCutGeneration.h +96 -0
  745. casadi/include/highs/mip/HighsCutPool.h +171 -0
  746. casadi/include/highs/mip/HighsDebugSol.h +135 -0
  747. casadi/include/highs/mip/HighsDomain.h +641 -0
  748. casadi/include/highs/mip/HighsDomainChange.h +51 -0
  749. casadi/include/highs/mip/HighsDynamicRowMatrix.h +107 -0
  750. casadi/include/highs/mip/HighsGFkSolve.h +441 -0
  751. casadi/include/highs/mip/HighsImplications.h +146 -0
  752. casadi/include/highs/mip/HighsLpAggregator.h +53 -0
  753. casadi/include/highs/mip/HighsLpRelaxation.h +360 -0
  754. casadi/include/highs/mip/HighsMipSolver.h +105 -0
  755. casadi/include/highs/mip/HighsMipSolverData.h +236 -0
  756. casadi/include/highs/mip/HighsModkSeparator.h +63 -0
  757. casadi/include/highs/mip/HighsNodeQueue.h +314 -0
  758. casadi/include/highs/mip/HighsObjectiveFunction.h +74 -0
  759. casadi/include/highs/mip/HighsPathSeparator.h +42 -0
  760. casadi/include/highs/mip/HighsPrimalHeuristics.h +68 -0
  761. casadi/include/highs/mip/HighsPseudocost.h +363 -0
  762. casadi/include/highs/mip/HighsRedcostFixing.h +45 -0
  763. casadi/include/highs/mip/HighsSearch.h +244 -0
  764. casadi/include/highs/mip/HighsSeparation.h +44 -0
  765. casadi/include/highs/mip/HighsSeparator.h +56 -0
  766. casadi/include/highs/mip/HighsTableauSeparator.h +37 -0
  767. casadi/include/highs/mip/HighsTransformedLp.h +66 -0
  768. casadi/include/highs/model/HighsHessian.h +54 -0
  769. casadi/include/highs/model/HighsHessianUtils.h +49 -0
  770. casadi/include/highs/model/HighsModel.h +52 -0
  771. casadi/include/highs/parallel/HighsBinarySemaphore.h +113 -0
  772. casadi/include/highs/parallel/HighsCacheAlign.h +87 -0
  773. casadi/include/highs/parallel/HighsCombinable.h +121 -0
  774. casadi/include/highs/parallel/HighsMutex.h +129 -0
  775. casadi/include/highs/parallel/HighsParallel.h +133 -0
  776. casadi/include/highs/parallel/HighsRaceTimer.h +43 -0
  777. casadi/include/highs/parallel/HighsSchedulerConstants.h +24 -0
  778. casadi/include/highs/parallel/HighsSpinMutex.h +53 -0
  779. casadi/include/highs/parallel/HighsSplitDeque.h +583 -0
  780. casadi/include/highs/parallel/HighsTask.h +175 -0
  781. casadi/include/highs/parallel/HighsTaskExecutor.h +209 -0
  782. casadi/include/highs/pdlp/CupdlpWrapper.h +93 -0
  783. casadi/include/highs/pdlp/cupdlp/cupdlp_cs.h +41 -0
  784. casadi/include/highs/pdlp/cupdlp/cupdlp_defs.h +423 -0
  785. casadi/include/highs/pdlp/cupdlp/cupdlp_linalg.h +183 -0
  786. casadi/include/highs/pdlp/cupdlp/cupdlp_proj.h +19 -0
  787. casadi/include/highs/pdlp/cupdlp/cupdlp_restart.h +31 -0
  788. casadi/include/highs/pdlp/cupdlp/cupdlp_scaling_cuda.h +28 -0
  789. casadi/include/highs/pdlp/cupdlp/cupdlp_solver.h +98 -0
  790. casadi/include/highs/pdlp/cupdlp/cupdlp_step.h +33 -0
  791. casadi/include/highs/pdlp/cupdlp/cupdlp_utils.c +1726 -0
  792. casadi/include/highs/pdqsort/pdqsort.h +532 -0
  793. casadi/include/highs/presolve/HPresolve.h +365 -0
  794. casadi/include/highs/presolve/HPresolveAnalysis.h +54 -0
  795. casadi/include/highs/presolve/HighsPostsolveStack.h +907 -0
  796. casadi/include/highs/presolve/HighsSymmetry.h +284 -0
  797. casadi/include/highs/presolve/ICrash.h +127 -0
  798. casadi/include/highs/presolve/ICrashUtil.h +65 -0
  799. casadi/include/highs/presolve/ICrashX.h +26 -0
  800. casadi/include/highs/presolve/PresolveComponent.h +93 -0
  801. casadi/include/highs/qpsolver/a_asm.hpp +67 -0
  802. casadi/include/highs/qpsolver/a_quass.hpp +19 -0
  803. casadi/include/highs/qpsolver/basis.hpp +150 -0
  804. casadi/include/highs/qpsolver/crashsolution.hpp +12 -0
  805. casadi/include/highs/qpsolver/dantzigpricing.hpp +72 -0
  806. casadi/include/highs/qpsolver/devexpricing.hpp +99 -0
  807. casadi/include/highs/qpsolver/eventhandler.hpp +23 -0
  808. casadi/include/highs/qpsolver/factor.hpp +400 -0
  809. casadi/include/highs/qpsolver/feasibility_bounded.hpp +105 -0
  810. casadi/include/highs/qpsolver/feasibility_highs.hpp +270 -0
  811. casadi/include/highs/qpsolver/gradient.hpp +39 -0
  812. casadi/include/highs/qpsolver/instance.hpp +63 -0
  813. casadi/include/highs/qpsolver/matrix.hpp +335 -0
  814. casadi/include/highs/qpsolver/perturbation.hpp +8 -0
  815. casadi/include/highs/qpsolver/pricing.hpp +15 -0
  816. casadi/include/highs/qpsolver/qpconst.hpp +27 -0
  817. casadi/include/highs/qpsolver/qpvector.hpp +235 -0
  818. casadi/include/highs/qpsolver/quass.hpp +20 -0
  819. casadi/include/highs/qpsolver/ratiotest.hpp +19 -0
  820. casadi/include/highs/qpsolver/runtime.hpp +38 -0
  821. casadi/include/highs/qpsolver/scaling.hpp +8 -0
  822. casadi/include/highs/qpsolver/settings.hpp +57 -0
  823. casadi/include/highs/qpsolver/snippets.hpp +29 -0
  824. casadi/include/highs/qpsolver/statistics.hpp +23 -0
  825. casadi/include/highs/qpsolver/steepestedgepricing.hpp +167 -0
  826. casadi/include/highs/simplex/HApp.h +422 -0
  827. casadi/include/highs/simplex/HEkk.h +403 -0
  828. casadi/include/highs/simplex/HEkkDual.h +515 -0
  829. casadi/include/highs/simplex/HEkkDualRHS.h +137 -0
  830. casadi/include/highs/simplex/HEkkDualRow.h +204 -0
  831. casadi/include/highs/simplex/HEkkPrimal.h +195 -0
  832. casadi/include/highs/simplex/HSimplex.h +45 -0
  833. casadi/include/highs/simplex/HSimplexDebug.h +51 -0
  834. casadi/include/highs/simplex/HSimplexNla.h +184 -0
  835. casadi/include/highs/simplex/HSimplexReport.h +24 -0
  836. casadi/include/highs/simplex/HighsSimplexAnalysis.h +503 -0
  837. casadi/include/highs/simplex/SimplexConst.h +274 -0
  838. casadi/include/highs/simplex/SimplexStruct.h +264 -0
  839. casadi/include/highs/simplex/SimplexTimer.h +427 -0
  840. casadi/include/highs/test/DevKkt.h +146 -0
  841. casadi/include/highs/test/KktCh2.h +82 -0
  842. casadi/include/highs/util/FactorTimer.h +224 -0
  843. casadi/include/highs/util/HFactor.h +587 -0
  844. casadi/include/highs/util/HFactorConst.h +84 -0
  845. casadi/include/highs/util/HFactorDebug.h +58 -0
  846. casadi/include/highs/util/HSet.h +92 -0
  847. casadi/include/highs/util/HVector.h +25 -0
  848. casadi/include/highs/util/HVectorBase.h +105 -0
  849. casadi/include/highs/util/HighsCDouble.h +310 -0
  850. casadi/include/highs/util/HighsComponent.h +56 -0
  851. casadi/include/highs/util/HighsDataStack.h +86 -0
  852. casadi/include/highs/util/HighsDisjointSets.h +110 -0
  853. casadi/include/highs/util/HighsHash.h +1277 -0
  854. casadi/include/highs/util/HighsHashTree.h +1443 -0
  855. casadi/include/highs/util/HighsInt.h +39 -0
  856. casadi/include/highs/util/HighsIntegers.h +215 -0
  857. casadi/include/highs/util/HighsLinearSumBounds.h +160 -0
  858. casadi/include/highs/util/HighsMatrixPic.h +40 -0
  859. casadi/include/highs/util/HighsMatrixSlice.h +564 -0
  860. casadi/include/highs/util/HighsMatrixUtils.h +57 -0
  861. casadi/include/highs/util/HighsMemoryAllocation.h +55 -0
  862. casadi/include/highs/util/HighsRandom.h +245 -0
  863. casadi/include/highs/util/HighsRbTree.h +455 -0
  864. casadi/include/highs/util/HighsSort.h +134 -0
  865. casadi/include/highs/util/HighsSparseMatrix.h +147 -0
  866. casadi/include/highs/util/HighsSparseVectorSum.h +98 -0
  867. casadi/include/highs/util/HighsSplay.h +138 -0
  868. casadi/include/highs/util/HighsTimer.h +343 -0
  869. casadi/include/highs/util/HighsUtils.h +210 -0
  870. casadi/include/highs/util/stringutil.h +44 -0
  871. casadi/include/highs/zstr/strict_fstream.hpp +237 -0
  872. casadi/include/highs/zstr/zstr.hpp +472 -0
  873. casadi/include/highs_export.h +43 -0
  874. casadi/include/hpipm_aux_mem.h +52 -0
  875. casadi/include/hpipm_aux_string.h +50 -0
  876. casadi/include/hpipm_common.h +76 -0
  877. casadi/include/hpipm_d_cast_qcqp.h +71 -0
  878. casadi/include/hpipm_d_cond.h +135 -0
  879. casadi/include/hpipm_d_cond_aux.h +92 -0
  880. casadi/include/hpipm_d_cond_qcqp.h +129 -0
  881. casadi/include/hpipm_d_core_qp_ipm.h +101 -0
  882. casadi/include/hpipm_d_core_qp_ipm_aux.h +68 -0
  883. casadi/include/hpipm_d_dense_qcqp.h +199 -0
  884. casadi/include/hpipm_d_dense_qcqp_dim.h +98 -0
  885. casadi/include/hpipm_d_dense_qcqp_ipm.h +193 -0
  886. casadi/include/hpipm_d_dense_qcqp_res.h +108 -0
  887. casadi/include/hpipm_d_dense_qcqp_sol.h +85 -0
  888. casadi/include/hpipm_d_dense_qcqp_utils.h +82 -0
  889. casadi/include/hpipm_d_dense_qp.h +207 -0
  890. casadi/include/hpipm_d_dense_qp_dim.h +92 -0
  891. casadi/include/hpipm_d_dense_qp_ipm.h +260 -0
  892. casadi/include/hpipm_d_dense_qp_kkt.h +72 -0
  893. casadi/include/hpipm_d_dense_qp_res.h +106 -0
  894. casadi/include/hpipm_d_dense_qp_sol.h +94 -0
  895. casadi/include/hpipm_d_dense_qp_utils.h +83 -0
  896. casadi/include/hpipm_d_ocp_qcqp.h +322 -0
  897. casadi/include/hpipm_d_ocp_qcqp_dim.h +130 -0
  898. casadi/include/hpipm_d_ocp_qcqp_ipm.h +192 -0
  899. casadi/include/hpipm_d_ocp_qcqp_red.h +118 -0
  900. casadi/include/hpipm_d_ocp_qcqp_res.h +115 -0
  901. casadi/include/hpipm_d_ocp_qcqp_sol.h +114 -0
  902. casadi/include/hpipm_d_ocp_qcqp_utils.h +81 -0
  903. casadi/include/hpipm_d_ocp_qp.h +306 -0
  904. casadi/include/hpipm_d_ocp_qp_dim.h +142 -0
  905. casadi/include/hpipm_d_ocp_qp_ipm.h +252 -0
  906. casadi/include/hpipm_d_ocp_qp_kkt.h +66 -0
  907. casadi/include/hpipm_d_ocp_qp_red.h +117 -0
  908. casadi/include/hpipm_d_ocp_qp_res.h +113 -0
  909. casadi/include/hpipm_d_ocp_qp_sol.h +128 -0
  910. casadi/include/hpipm_d_ocp_qp_utils.h +82 -0
  911. casadi/include/hpipm_d_part_cond.h +115 -0
  912. casadi/include/hpipm_d_part_cond_qcqp.h +106 -0
  913. casadi/include/hpipm_d_sim_erk.h +122 -0
  914. casadi/include/hpipm_d_sim_rk.h +71 -0
  915. casadi/include/hpipm_d_tree_ocp_qcqp.h +213 -0
  916. casadi/include/hpipm_d_tree_ocp_qcqp_dim.h +117 -0
  917. casadi/include/hpipm_d_tree_ocp_qcqp_ipm.h +191 -0
  918. casadi/include/hpipm_d_tree_ocp_qcqp_res.h +109 -0
  919. casadi/include/hpipm_d_tree_ocp_qcqp_sol.h +99 -0
  920. casadi/include/hpipm_d_tree_ocp_qcqp_utils.h +84 -0
  921. casadi/include/hpipm_d_tree_ocp_qp.h +195 -0
  922. casadi/include/hpipm_d_tree_ocp_qp_dim.h +111 -0
  923. casadi/include/hpipm_d_tree_ocp_qp_ipm.h +209 -0
  924. casadi/include/hpipm_d_tree_ocp_qp_kkt.h +52 -0
  925. casadi/include/hpipm_d_tree_ocp_qp_res.h +107 -0
  926. casadi/include/hpipm_d_tree_ocp_qp_sol.h +100 -0
  927. casadi/include/hpipm_d_tree_ocp_qp_utils.h +83 -0
  928. casadi/include/hpipm_m_dense_qp.h +68 -0
  929. casadi/include/hpipm_m_dense_qp_dim.h +68 -0
  930. casadi/include/hpipm_m_ocp_qp.h +49 -0
  931. casadi/include/hpipm_m_ocp_qp_ipm_hard.h +115 -0
  932. casadi/include/hpipm_m_ocp_qp_kkt.h +45 -0
  933. casadi/include/hpipm_s_cast_qcqp.h +72 -0
  934. casadi/include/hpipm_s_cond.h +137 -0
  935. casadi/include/hpipm_s_cond_aux.h +92 -0
  936. casadi/include/hpipm_s_cond_qcqp.h +130 -0
  937. casadi/include/hpipm_s_core_qp_ipm.h +101 -0
  938. casadi/include/hpipm_s_core_qp_ipm_aux.h +68 -0
  939. casadi/include/hpipm_s_dense_qcqp.h +200 -0
  940. casadi/include/hpipm_s_dense_qcqp_dim.h +99 -0
  941. casadi/include/hpipm_s_dense_qcqp_ipm.h +204 -0
  942. casadi/include/hpipm_s_dense_qcqp_res.h +109 -0
  943. casadi/include/hpipm_s_dense_qcqp_sol.h +86 -0
  944. casadi/include/hpipm_s_dense_qcqp_utils.h +83 -0
  945. casadi/include/hpipm_s_dense_qp.h +207 -0
  946. casadi/include/hpipm_s_dense_qp_dim.h +94 -0
  947. casadi/include/hpipm_s_dense_qp_ipm.h +260 -0
  948. casadi/include/hpipm_s_dense_qp_kkt.h +72 -0
  949. casadi/include/hpipm_s_dense_qp_res.h +107 -0
  950. casadi/include/hpipm_s_dense_qp_sol.h +94 -0
  951. casadi/include/hpipm_s_dense_qp_utils.h +84 -0
  952. casadi/include/hpipm_s_ocp_qcqp.h +322 -0
  953. casadi/include/hpipm_s_ocp_qcqp_dim.h +131 -0
  954. casadi/include/hpipm_s_ocp_qcqp_ipm.h +193 -0
  955. casadi/include/hpipm_s_ocp_qcqp_red.h +119 -0
  956. casadi/include/hpipm_s_ocp_qcqp_res.h +116 -0
  957. casadi/include/hpipm_s_ocp_qcqp_sol.h +115 -0
  958. casadi/include/hpipm_s_ocp_qcqp_utils.h +82 -0
  959. casadi/include/hpipm_s_ocp_qp.h +306 -0
  960. casadi/include/hpipm_s_ocp_qp_dim.h +141 -0
  961. casadi/include/hpipm_s_ocp_qp_ipm.h +252 -0
  962. casadi/include/hpipm_s_ocp_qp_kkt.h +66 -0
  963. casadi/include/hpipm_s_ocp_qp_red.h +118 -0
  964. casadi/include/hpipm_s_ocp_qp_res.h +115 -0
  965. casadi/include/hpipm_s_ocp_qp_sol.h +128 -0
  966. casadi/include/hpipm_s_ocp_qp_utils.h +83 -0
  967. casadi/include/hpipm_s_part_cond.h +115 -0
  968. casadi/include/hpipm_s_part_cond_qcqp.h +107 -0
  969. casadi/include/hpipm_s_sim_erk.h +121 -0
  970. casadi/include/hpipm_s_sim_rk.h +72 -0
  971. casadi/include/hpipm_s_tree_ocp_qcqp.h +213 -0
  972. casadi/include/hpipm_s_tree_ocp_qcqp_dim.h +118 -0
  973. casadi/include/hpipm_s_tree_ocp_qcqp_ipm.h +192 -0
  974. casadi/include/hpipm_s_tree_ocp_qcqp_res.h +110 -0
  975. casadi/include/hpipm_s_tree_ocp_qcqp_sol.h +97 -0
  976. casadi/include/hpipm_s_tree_ocp_qcqp_utils.h +85 -0
  977. casadi/include/hpipm_s_tree_ocp_qp.h +196 -0
  978. casadi/include/hpipm_s_tree_ocp_qp_dim.h +111 -0
  979. casadi/include/hpipm_s_tree_ocp_qp_ipm.h +208 -0
  980. casadi/include/hpipm_s_tree_ocp_qp_kkt.h +54 -0
  981. casadi/include/hpipm_s_tree_ocp_qp_res.h +108 -0
  982. casadi/include/hpipm_s_tree_ocp_qp_sol.h +98 -0
  983. casadi/include/hpipm_s_tree_ocp_qp_utils.h +84 -0
  984. casadi/include/hpipm_scenario_tree.h +70 -0
  985. casadi/include/hpipm_timing.h +67 -0
  986. casadi/include/hpipm_tree.h +76 -0
  987. casadi/include/licenses/CSparse/Doc/License.txt +19 -0
  988. casadi/include/licenses/FMI-Standard-2.0.2/LICENSE.txt +473 -0
  989. casadi/include/licenses/FMI-Standard-3.0/LICENSE.txt +464 -0
  990. casadi/include/licenses/blasfeo-external/LICENSE.txt +26 -0
  991. casadi/include/licenses/bonmin-external/Bonmin/LICENSE +87 -0
  992. casadi/include/licenses/bonmin-external/LICENSE +3 -0
  993. casadi/include/licenses/casadi/LICENSE/LICENSE.txt +165 -0
  994. casadi/include/licenses/casadi-sundials/LICENSE +64 -0
  995. casadi/include/licenses/casadi-sundials/cvodes/LICENSE +60 -0
  996. casadi/include/licenses/casadi-sundials/idas/LICENSE +59 -0
  997. casadi/include/licenses/casadi-sundials/kinsol/LICENSE +59 -0
  998. casadi/include/licenses/casadi-sundials/sundials/LICENSE +67 -0
  999. casadi/include/licenses/cbc-external/Cbc/LICENSE +239 -0
  1000. casadi/include/licenses/cbc-external/LICENSE +245 -0
  1001. casadi/include/licenses/cgl-external/Cgl/LICENSE +239 -0
  1002. casadi/include/licenses/cgl-external/LICENSE +245 -0
  1003. casadi/include/licenses/clp-external/Clp/LICENSE +239 -0
  1004. casadi/include/licenses/clp-external/LICENSE +245 -0
  1005. casadi/include/licenses/coinutils-external/CoinUtils/LICENSE +239 -0
  1006. casadi/include/licenses/coinutils-external/LICENSE +245 -0
  1007. casadi/include/licenses/fatrop-external/LICENSE.txt +165 -0
  1008. casadi/include/licenses/fatrop-external/external/blasfeo/LICENSE.txt +26 -0
  1009. casadi/include/licenses/fatrop-external/external/pybind11/LICENSE +29 -0
  1010. casadi/include/licenses/fatrop-external/misc/license_header.txt +17 -0
  1011. casadi/include/licenses/highs-external/LICENSE.txt +21 -0
  1012. casadi/include/licenses/highs-external/extern/filereaderlp/LICENSE +19 -0
  1013. casadi/include/licenses/highs-external/extern/pdqsort/license.txt +16 -0
  1014. casadi/include/licenses/hpipm-external/LICENSE.txt +26 -0
  1015. casadi/include/licenses/hpipm-external/experimental/andrea/prototype/code/plotregion/license.txt +24 -0
  1016. casadi/include/licenses/ipopt-external/LICENSE +260 -0
  1017. casadi/include/licenses/metis-external/LICENSE +87 -0
  1018. casadi/include/licenses/metis-external/metis-4.0/LICENSE +18 -0
  1019. casadi/include/licenses/mockups-external/LICENSE +21 -0
  1020. casadi/include/licenses/mumps-external/LICENSE +87 -0
  1021. casadi/include/licenses/mumps-external/MUMPS/LICENSE +50 -0
  1022. casadi/include/licenses/osi-external/LICENSE +245 -0
  1023. casadi/include/licenses/osi-external/Osi/LICENSE +239 -0
  1024. casadi/include/licenses/osqp-external/LICENSE +201 -0
  1025. casadi/include/licenses/osqp-external/lin_sys/direct/qdldl/amd/LICENSE +36 -0
  1026. casadi/include/licenses/osqp-external/lin_sys/direct/qdldl/qdldl_sources/LICENSE +201 -0
  1027. casadi/include/licenses/qpOASES/LICENSE.txt +503 -0
  1028. casadi/include/licenses/sleqp-external/LICENSE +165 -0
  1029. casadi/include/licenses/superscs-external/LICENSE.txt +24 -0
  1030. casadi/include/licenses/tinyxml2-9.0.0/LICENSE.txt +18 -0
  1031. casadi/include/licenses/trlib-external/LICENSE +21 -0
  1032. casadi/include/osqp/auxil.h +181 -0
  1033. casadi/include/osqp/constants.h +128 -0
  1034. casadi/include/osqp/cs.h +180 -0
  1035. casadi/include/osqp/ctrlc.h +56 -0
  1036. casadi/include/osqp/error.h +38 -0
  1037. casadi/include/osqp/glob_opts.h +167 -0
  1038. casadi/include/osqp/lin_alg.h +216 -0
  1039. casadi/include/osqp/lin_sys.h +54 -0
  1040. casadi/include/osqp/osqp.h +430 -0
  1041. casadi/include/osqp/osqp_configure.h +49 -0
  1042. casadi/include/osqp/polish.h +25 -0
  1043. casadi/include/osqp/proj.h +37 -0
  1044. casadi/include/osqp/scaling.h +44 -0
  1045. casadi/include/osqp/types.h +326 -0
  1046. casadi/include/osqp/util.h +222 -0
  1047. casadi/include/osqp/version.h +9 -0
  1048. casadi/include/qdldl/qdldl.h +169 -0
  1049. casadi/include/qdldl/qdldl_types.h +23 -0
  1050. casadi/include/s_blas.h +78 -0
  1051. casadi/include/s_blas_64.h +73 -0
  1052. casadi/include/sleqp/defs.h +58 -0
  1053. casadi/include/sleqp/export.h +43 -0
  1054. casadi/include/sleqp/pub_cmp.h +18 -0
  1055. casadi/include/sleqp/pub_dyn.h +140 -0
  1056. casadi/include/sleqp/pub_error.h +50 -0
  1057. casadi/include/sleqp/pub_func.h +257 -0
  1058. casadi/include/sleqp/pub_hess_struct.h +105 -0
  1059. casadi/include/sleqp/pub_iterate.h +88 -0
  1060. casadi/include/sleqp/pub_log.h +88 -0
  1061. casadi/include/sleqp/pub_lsq.h +158 -0
  1062. casadi/include/sleqp/pub_mem.h +52 -0
  1063. casadi/include/sleqp/pub_problem.h +213 -0
  1064. casadi/include/sleqp/pub_scale.h +150 -0
  1065. casadi/include/sleqp/pub_settings.h +162 -0
  1066. casadi/include/sleqp/pub_solver.h +155 -0
  1067. casadi/include/sleqp/pub_types.h +230 -0
  1068. casadi/include/sleqp/pub_working_set.h +135 -0
  1069. casadi/include/sleqp/sparse/pub_mat.h +153 -0
  1070. casadi/include/sleqp/sparse/pub_vec.h +336 -0
  1071. casadi/include/sleqp.h +38 -0
  1072. casadi/include/superscs/cones.h +185 -0
  1073. casadi/include/superscs/constants.h +144 -0
  1074. casadi/include/superscs/cs.h +109 -0
  1075. casadi/include/superscs/ctrlc.h +77 -0
  1076. casadi/include/superscs/directions.h +125 -0
  1077. casadi/include/superscs/glbopts.h +240 -0
  1078. casadi/include/superscs/linAlg.h +437 -0
  1079. casadi/include/superscs/linSys.h +205 -0
  1080. casadi/include/superscs/linsys/amatrix.h +77 -0
  1081. casadi/include/superscs/linsys/common.h +49 -0
  1082. casadi/include/superscs/normalize.h +138 -0
  1083. casadi/include/superscs/scs.h +656 -0
  1084. casadi/include/superscs/scs_blas.h +79 -0
  1085. casadi/include/superscs/scs_parser.h +187 -0
  1086. casadi/include/superscs/unit_test_util.h +210 -0
  1087. casadi/include/superscs/util.h +354 -0
  1088. casadi/include/tinyxml2.h +2380 -0
  1089. casadi/include/trlib/trlib_eigen_inverse.h +118 -0
  1090. casadi/include/trlib/trlib_krylov.h +493 -0
  1091. casadi/include/trlib/trlib_leftmost.h +181 -0
  1092. casadi/include/trlib/trlib_private.h +109 -0
  1093. casadi/include/trlib/trlib_quadratic_zero.h +57 -0
  1094. casadi/include/trlib/trlib_tri_factor.h +409 -0
  1095. casadi/include/trlib/trlib_types.h +36 -0
  1096. casadi/include/trlib.h +44 -0
  1097. casadi/lib/cmake/tinyxml2/tinyxml2-config-version.cmake +65 -0
  1098. casadi/lib/cmake/tinyxml2/tinyxml2-config.cmake +57 -0
  1099. casadi/lib/cmake/tinyxml2/tinyxml2-static-targets-release.cmake +19 -0
  1100. casadi/lib/cmake/tinyxml2/tinyxml2-static-targets.cmake +107 -0
  1101. casadi/lib/libtinyxml2.a +0 -0
  1102. casadi/lib/pkgconfig/tinyxml2.pc +10 -0
  1103. casadi/libCbc.3.10.11.dylib +0 -0
  1104. casadi/libCbc.3.dylib +0 -0
  1105. casadi/libCbc.dylib +0 -0
  1106. casadi/libCbc.la +35 -0
  1107. casadi/libCbcSolver.3.10.11.dylib +0 -0
  1108. casadi/libCbcSolver.3.dylib +0 -0
  1109. casadi/libCbcSolver.dylib +0 -0
  1110. casadi/libCbcSolver.la +35 -0
  1111. casadi/libCgl.1.10.8.dylib +0 -0
  1112. casadi/libCgl.1.dylib +0 -0
  1113. casadi/libCgl.dylib +0 -0
  1114. casadi/libCgl.la +35 -0
  1115. casadi/libClp.1.14.9.dylib +0 -0
  1116. casadi/libClp.1.dylib +0 -0
  1117. casadi/libClp.dylib +0 -0
  1118. casadi/libClp.la +35 -0
  1119. casadi/libClpSolver.1.14.9.dylib +0 -0
  1120. casadi/libClpSolver.1.dylib +0 -0
  1121. casadi/libClpSolver.dylib +0 -0
  1122. casadi/libClpSolver.la +35 -0
  1123. casadi/libCoinUtils.3.11.10.dylib +0 -0
  1124. casadi/libCoinUtils.3.dylib +0 -0
  1125. casadi/libCoinUtils.dylib +0 -0
  1126. casadi/libCoinUtils.la +35 -0
  1127. casadi/libOsi.1.13.9.dylib +0 -0
  1128. casadi/libOsi.1.dylib +0 -0
  1129. casadi/libOsi.dylib +0 -0
  1130. casadi/libOsi.la +35 -0
  1131. casadi/libOsiCbc.3.10.11.dylib +0 -0
  1132. casadi/libOsiCbc.3.dylib +0 -0
  1133. casadi/libOsiCbc.dylib +0 -0
  1134. casadi/libOsiCbc.la +35 -0
  1135. casadi/libOsiClp.1.14.9.dylib +0 -0
  1136. casadi/libOsiClp.1.dylib +0 -0
  1137. casadi/libOsiClp.dylib +0 -0
  1138. casadi/libOsiClp.la +35 -0
  1139. casadi/libOsiCommonTests.1.13.9.dylib +0 -0
  1140. casadi/libOsiCommonTests.1.dylib +0 -0
  1141. casadi/libOsiCommonTests.dylib +0 -0
  1142. casadi/libOsiCommonTests.la +35 -0
  1143. casadi/libblasfeo.dylib +0 -0
  1144. casadi/libbonmin.4.8.9.dylib +0 -0
  1145. casadi/libbonmin.4.dylib +0 -0
  1146. casadi/libbonmin.dylib +0 -0
  1147. casadi/libbonmin.la +35 -0
  1148. casadi/libc++.1.0.dylib +0 -0
  1149. casadi/libcasadi.3.7.dylib +0 -0
  1150. casadi/libcasadi.dylib +0 -0
  1151. casadi/libcasadi_conic_cbc.3.7.dylib +0 -0
  1152. casadi/libcasadi_conic_cbc.dylib +0 -0
  1153. casadi/libcasadi_conic_clp.3.7.dylib +0 -0
  1154. casadi/libcasadi_conic_clp.dylib +0 -0
  1155. casadi/libcasadi_conic_cplex.3.7.dylib +0 -0
  1156. casadi/libcasadi_conic_cplex.dylib +0 -0
  1157. casadi/libcasadi_conic_fatrop.3.7.dylib +0 -0
  1158. casadi/libcasadi_conic_fatrop.dylib +0 -0
  1159. casadi/libcasadi_conic_gurobi.3.7.dylib +0 -0
  1160. casadi/libcasadi_conic_gurobi.dylib +0 -0
  1161. casadi/libcasadi_conic_highs.3.7.dylib +0 -0
  1162. casadi/libcasadi_conic_highs.dylib +0 -0
  1163. casadi/libcasadi_conic_hpipm.3.7.dylib +0 -0
  1164. casadi/libcasadi_conic_hpipm.dylib +0 -0
  1165. casadi/libcasadi_conic_ipqp.3.7.dylib +0 -0
  1166. casadi/libcasadi_conic_ipqp.dylib +0 -0
  1167. casadi/libcasadi_conic_nlpsol.3.7.dylib +0 -0
  1168. casadi/libcasadi_conic_nlpsol.dylib +0 -0
  1169. casadi/libcasadi_conic_osqp.3.7.dylib +0 -0
  1170. casadi/libcasadi_conic_osqp.dylib +0 -0
  1171. casadi/libcasadi_conic_qpoases.3.7.dylib +0 -0
  1172. casadi/libcasadi_conic_qpoases.dylib +0 -0
  1173. casadi/libcasadi_conic_qrqp.3.7.dylib +0 -0
  1174. casadi/libcasadi_conic_qrqp.dylib +0 -0
  1175. casadi/libcasadi_conic_superscs.3.7.dylib +0 -0
  1176. casadi/libcasadi_conic_superscs.dylib +0 -0
  1177. casadi/libcasadi_importer_shell.3.7.dylib +0 -0
  1178. casadi/libcasadi_importer_shell.dylib +0 -0
  1179. casadi/libcasadi_integrator_collocation.3.7.dylib +0 -0
  1180. casadi/libcasadi_integrator_collocation.dylib +0 -0
  1181. casadi/libcasadi_integrator_cvodes.3.7.dylib +0 -0
  1182. casadi/libcasadi_integrator_cvodes.dylib +0 -0
  1183. casadi/libcasadi_integrator_idas.3.7.dylib +0 -0
  1184. casadi/libcasadi_integrator_idas.dylib +0 -0
  1185. casadi/libcasadi_integrator_rk.3.7.dylib +0 -0
  1186. casadi/libcasadi_integrator_rk.dylib +0 -0
  1187. casadi/libcasadi_interpolant_bspline.3.7.dylib +0 -0
  1188. casadi/libcasadi_interpolant_bspline.dylib +0 -0
  1189. casadi/libcasadi_interpolant_linear.3.7.dylib +0 -0
  1190. casadi/libcasadi_interpolant_linear.dylib +0 -0
  1191. casadi/libcasadi_linsol_csparse.3.7.dylib +0 -0
  1192. casadi/libcasadi_linsol_csparse.dylib +0 -0
  1193. casadi/libcasadi_linsol_csparsecholesky.3.7.dylib +0 -0
  1194. casadi/libcasadi_linsol_csparsecholesky.dylib +0 -0
  1195. casadi/libcasadi_linsol_lapacklu.3.7.dylib +0 -0
  1196. casadi/libcasadi_linsol_lapacklu.dylib +0 -0
  1197. casadi/libcasadi_linsol_lapackqr.3.7.dylib +0 -0
  1198. casadi/libcasadi_linsol_lapackqr.dylib +0 -0
  1199. casadi/libcasadi_linsol_ldl.3.7.dylib +0 -0
  1200. casadi/libcasadi_linsol_ldl.dylib +0 -0
  1201. casadi/libcasadi_linsol_lsqr.3.7.dylib +0 -0
  1202. casadi/libcasadi_linsol_lsqr.dylib +0 -0
  1203. casadi/libcasadi_linsol_ma27.3.7.dylib +0 -0
  1204. casadi/libcasadi_linsol_ma27.dylib +0 -0
  1205. casadi/libcasadi_linsol_mumps.3.7.dylib +0 -0
  1206. casadi/libcasadi_linsol_mumps.dylib +0 -0
  1207. casadi/libcasadi_linsol_qr.3.7.dylib +0 -0
  1208. casadi/libcasadi_linsol_qr.dylib +0 -0
  1209. casadi/libcasadi_linsol_symbolicqr.3.7.dylib +0 -0
  1210. casadi/libcasadi_linsol_symbolicqr.dylib +0 -0
  1211. casadi/libcasadi_linsol_tridiag.3.7.dylib +0 -0
  1212. casadi/libcasadi_linsol_tridiag.dylib +0 -0
  1213. casadi/libcasadi_nlpsol_ampl.3.7.dylib +0 -0
  1214. casadi/libcasadi_nlpsol_ampl.dylib +0 -0
  1215. casadi/libcasadi_nlpsol_blocksqp.3.7.dylib +0 -0
  1216. casadi/libcasadi_nlpsol_blocksqp.dylib +0 -0
  1217. casadi/libcasadi_nlpsol_bonmin.3.7.dylib +0 -0
  1218. casadi/libcasadi_nlpsol_bonmin.dylib +0 -0
  1219. casadi/libcasadi_nlpsol_fatrop.3.7.dylib +0 -0
  1220. casadi/libcasadi_nlpsol_fatrop.dylib +0 -0
  1221. casadi/libcasadi_nlpsol_feasiblesqpmethod.3.7.dylib +0 -0
  1222. casadi/libcasadi_nlpsol_feasiblesqpmethod.dylib +0 -0
  1223. casadi/libcasadi_nlpsol_ipopt.3.7.dylib +0 -0
  1224. casadi/libcasadi_nlpsol_ipopt.dylib +0 -0
  1225. casadi/libcasadi_nlpsol_knitro.3.7.dylib +0 -0
  1226. casadi/libcasadi_nlpsol_knitro.dylib +0 -0
  1227. casadi/libcasadi_nlpsol_madnlp.3.7.dylib +0 -0
  1228. casadi/libcasadi_nlpsol_madnlp.dylib +0 -0
  1229. casadi/libcasadi_nlpsol_qrsqp.3.7.dylib +0 -0
  1230. casadi/libcasadi_nlpsol_qrsqp.dylib +0 -0
  1231. casadi/libcasadi_nlpsol_scpgen.3.7.dylib +0 -0
  1232. casadi/libcasadi_nlpsol_scpgen.dylib +0 -0
  1233. casadi/libcasadi_nlpsol_sleqp.3.7.dylib +0 -0
  1234. casadi/libcasadi_nlpsol_sleqp.dylib +0 -0
  1235. casadi/libcasadi_nlpsol_snopt.3.7.dylib +0 -0
  1236. casadi/libcasadi_nlpsol_snopt.dylib +0 -0
  1237. casadi/libcasadi_nlpsol_sqpmethod.3.7.dylib +0 -0
  1238. casadi/libcasadi_nlpsol_sqpmethod.dylib +0 -0
  1239. casadi/libcasadi_rootfinder_fast_newton.3.7.dylib +0 -0
  1240. casadi/libcasadi_rootfinder_fast_newton.dylib +0 -0
  1241. casadi/libcasadi_rootfinder_kinsol.3.7.dylib +0 -0
  1242. casadi/libcasadi_rootfinder_kinsol.dylib +0 -0
  1243. casadi/libcasadi_rootfinder_newton.3.7.dylib +0 -0
  1244. casadi/libcasadi_rootfinder_newton.dylib +0 -0
  1245. casadi/libcasadi_rootfinder_nlpsol.3.7.dylib +0 -0
  1246. casadi/libcasadi_rootfinder_nlpsol.dylib +0 -0
  1247. casadi/libcasadi_sundials_common.3.7.dylib +0 -0
  1248. casadi/libcasadi_sundials_common.dylib +0 -0
  1249. casadi/libcasadi_xmlfile_tinyxml.3.7.dylib +0 -0
  1250. casadi/libcasadi_xmlfile_tinyxml.dylib +0 -0
  1251. casadi/libcoinmetis.2.dylib +0 -0
  1252. casadi/libcoinmetis.dylib +0 -0
  1253. casadi/libcoinmetis.la +41 -0
  1254. casadi/libcoinmumps.3.dylib +0 -0
  1255. casadi/libcoinmumps.dylib +0 -0
  1256. casadi/libcoinmumps.la +41 -0
  1257. casadi/libcplex_adaptor.dylib +0 -0
  1258. casadi/libfatrop.dylib +0 -0
  1259. casadi/libgcc_s.1.1.dylib +0 -0
  1260. casadi/libgcc_s.1.dylib +0 -0
  1261. casadi/libgfortran.5.dylib +0 -0
  1262. casadi/libgurobi_adaptor.dylib +0 -0
  1263. casadi/libhighs.1.7.dylib +0 -0
  1264. casadi/libhighs.1.dylib +0 -0
  1265. casadi/libhighs.dylib +0 -0
  1266. casadi/libhpipm.dylib +0 -0
  1267. casadi/libindirect.a +0 -0
  1268. casadi/libipopt.3.dylib +0 -0
  1269. casadi/libipopt.dylib +0 -0
  1270. casadi/libipopt.la +41 -0
  1271. casadi/liblinsys.a +0 -0
  1272. casadi/libmatlab_ipc.dylib +0 -0
  1273. casadi/libosqp.a +0 -0
  1274. casadi/libosqp.dylib +0 -0
  1275. casadi/libqdldl.a +0 -0
  1276. casadi/libqdldl.dylib +0 -0
  1277. casadi/libquadmath.0.dylib +0 -0
  1278. casadi/libsipopt.3.dylib +0 -0
  1279. casadi/libsipopt.dylib +0 -0
  1280. casadi/libsipopt.la +41 -0
  1281. casadi/libsleqp.1.0.1.dylib +0 -0
  1282. casadi/libsleqp.dylib +0 -0
  1283. casadi/libsuperscs.a +0 -0
  1284. casadi/libtrlib.0.4.dylib +0 -0
  1285. casadi/libtrlib.dylib +0 -0
  1286. casadi/libz.1.2.13.dylib +0 -0
  1287. casadi/pkgconfig/bonmin.pc +12 -0
  1288. casadi/pkgconfig/casadi.pc +12 -0
  1289. casadi/pkgconfig/cbc.pc +12 -0
  1290. casadi/pkgconfig/cgl.pc +12 -0
  1291. casadi/pkgconfig/clp.pc +12 -0
  1292. casadi/pkgconfig/coinmetis.pc +13 -0
  1293. casadi/pkgconfig/coinmumps.pc +15 -0
  1294. casadi/pkgconfig/coinutils.pc +12 -0
  1295. casadi/pkgconfig/highs.pc +12 -0
  1296. casadi/pkgconfig/ipopt.pc +15 -0
  1297. casadi/pkgconfig/osi-cbc.pc +12 -0
  1298. casadi/pkgconfig/osi-clp.pc +12 -0
  1299. casadi/pkgconfig/osi-unittests.pc +12 -0
  1300. casadi/pkgconfig/osi.pc +12 -0
  1301. casadi/pkgconfig/sleqp.pc +10 -0
  1302. casadi/tools/__init__.py +52 -0
  1303. casadi/tools/bounds.py +107 -0
  1304. casadi/tools/graph/__init__.py +35 -0
  1305. casadi/tools/graph/graph.py +747 -0
  1306. casadi/tools/in_out.py +89 -0
  1307. casadi/tools/structure.py +1446 -0
  1308. casadi/tools/structure3.py +1441 -0
  1309. casadi-3.6.7.dist-info/METADATA +45 -0
  1310. casadi-3.6.7.dist-info/RECORD +1312 -0
  1311. casadi-3.6.7.dist-info/WHEEL +5 -0
  1312. dummy.txt +1 -0
@@ -0,0 +1,1270 @@
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 CoinHelperFunctions_H
7
+ #define CoinHelperFunctions_H
8
+
9
+ #include "CoinUtilsConfig.h"
10
+
11
+ #if defined(_MSC_VER)
12
+ #include <direct.h>
13
+ #include <cctype>
14
+ #define getcwd _getcwd
15
+ #include <cctype>
16
+ #else
17
+ #include <unistd.h>
18
+ #endif
19
+ //#define USE_MEMCPY
20
+
21
+ #include <cstdlib>
22
+ #include <cstdio>
23
+ #include <algorithm>
24
+ #include "CoinTypes.hpp"
25
+ #include "CoinError.hpp"
26
+
27
+ // Compilers can produce better code if they know about __restrict
28
+ #ifndef COIN_RESTRICT
29
+ #ifdef COIN_USE_RESTRICT
30
+ #define COIN_RESTRICT __restrict
31
+ #else
32
+ #define COIN_RESTRICT
33
+ #endif
34
+ #endif
35
+
36
+ //#############################################################################
37
+
38
+ /** This helper function copies an array to another location using Duff's
39
+ device (for a speedup of ~2). The arrays are given by pointers to their
40
+ first entries and by the size of the source array. Overlapping arrays are
41
+ handled correctly. */
42
+
43
+ template < class T >
44
+ inline void
45
+ CoinCopyN(const T *from, const CoinBigIndex size, T *to)
46
+ {
47
+ if (size == 0 || from == to)
48
+ return;
49
+
50
+ #ifndef NDEBUG
51
+ if (size < 0)
52
+ throw CoinError("trying to copy negative number of entries",
53
+ "CoinCopyN", "");
54
+ #endif
55
+
56
+ CoinBigIndex n = (size + 7) / 8;
57
+ if (to > from) {
58
+ const T *downfrom = from + size;
59
+ T *downto = to + size;
60
+ // Use Duff's device to copy
61
+ switch (size % 8) {
62
+ case 0:
63
+ do {
64
+ *--downto = *--downfrom;
65
+ case 7:
66
+ *--downto = *--downfrom;
67
+ case 6:
68
+ *--downto = *--downfrom;
69
+ case 5:
70
+ *--downto = *--downfrom;
71
+ case 4:
72
+ *--downto = *--downfrom;
73
+ case 3:
74
+ *--downto = *--downfrom;
75
+ case 2:
76
+ *--downto = *--downfrom;
77
+ case 1:
78
+ *--downto = *--downfrom;
79
+ } while (--n > 0);
80
+ }
81
+ } else {
82
+ // Use Duff's device to copy
83
+ --from;
84
+ --to;
85
+ switch (size % 8) {
86
+ case 0:
87
+ do {
88
+ *++to = *++from;
89
+ case 7:
90
+ *++to = *++from;
91
+ case 6:
92
+ *++to = *++from;
93
+ case 5:
94
+ *++to = *++from;
95
+ case 4:
96
+ *++to = *++from;
97
+ case 3:
98
+ *++to = *++from;
99
+ case 2:
100
+ *++to = *++from;
101
+ case 1:
102
+ *++to = *++from;
103
+ } while (--n > 0);
104
+ }
105
+ }
106
+ }
107
+
108
+ //-----------------------------------------------------------------------------
109
+
110
+ /** This helper function copies an array to another location using Duff's
111
+ device (for a speedup of ~2). The source array is given by its first and
112
+ "after last" entry; the target array is given by its first entry.
113
+ Overlapping arrays are handled correctly.
114
+
115
+ All of the various CoinCopyN variants use an int for size. On 64-bit
116
+ architectures, the address diff last-first will be a 64-bit quantity.
117
+ Given that everything else uses an int, I'm going to choose to kick
118
+ the difference down to int. -- lh, 100823 --
119
+ */
120
+ template < class T >
121
+ inline void
122
+ CoinCopy(const T *first, const T *last, T *to)
123
+ {
124
+ CoinCopyN(first, static_cast< CoinBigIndex >(last - first), to);
125
+ }
126
+
127
+ //-----------------------------------------------------------------------------
128
+
129
+ /** This helper function copies an array to another location. The two arrays
130
+ must not overlap (otherwise an exception is thrown). For speed 8 entries
131
+ are copied at a time. The arrays are given by pointers to their first
132
+ entries and by the size of the source array.
133
+
134
+ Note JJF - the speed claim seems to be false on IA32 so I have added
135
+ CoinMemcpyN which can be used for atomic data */
136
+ template < class T >
137
+ inline void
138
+ CoinDisjointCopyN(const T *from, const CoinBigIndex size, T *to)
139
+ {
140
+ #ifndef _MSC_VER
141
+ if (size == 0 || from == to)
142
+ return;
143
+
144
+ #ifndef NDEBUG
145
+ if (size < 0)
146
+ throw CoinError("trying to copy negative number of entries",
147
+ "CoinDisjointCopyN", "");
148
+ #endif
149
+
150
+ #if 0
151
+ /* There is no point to do this test. If to and from are from different
152
+ blocks then dist is undefined, so this can crash correct code. It's
153
+ better to trust the user that the arrays are really disjoint. */
154
+ const long dist = to - from;
155
+ if (-size < dist && dist < size)
156
+ throw CoinError("overlapping arrays", "CoinDisjointCopyN", "");
157
+ #endif
158
+
159
+ for (CoinBigIndex n = size / 8; n > 0; --n, from += 8, to += 8) {
160
+ to[0] = from[0];
161
+ to[1] = from[1];
162
+ to[2] = from[2];
163
+ to[3] = from[3];
164
+ to[4] = from[4];
165
+ to[5] = from[5];
166
+ to[6] = from[6];
167
+ to[7] = from[7];
168
+ }
169
+ switch (size % 8) {
170
+ case 7:
171
+ to[6] = from[6];
172
+ case 6:
173
+ to[5] = from[5];
174
+ case 5:
175
+ to[4] = from[4];
176
+ case 4:
177
+ to[3] = from[3];
178
+ case 3:
179
+ to[2] = from[2];
180
+ case 2:
181
+ to[1] = from[1];
182
+ case 1:
183
+ to[0] = from[0];
184
+ case 0:
185
+ break;
186
+ }
187
+ #else
188
+ CoinCopyN(from, size, to);
189
+ #endif
190
+ }
191
+
192
+ //-----------------------------------------------------------------------------
193
+
194
+ /** This helper function copies an array to another location. The two arrays
195
+ must not overlap (otherwise an exception is thrown). For speed 8 entries
196
+ are copied at a time. The source array is given by its first and "after
197
+ last" entry; the target array is given by its first entry. */
198
+ template < class T >
199
+ inline void
200
+ CoinDisjointCopy(const T *first, const T *last,
201
+ T *to)
202
+ {
203
+ CoinDisjointCopyN(first, static_cast< CoinBigIndex >(last - first), to);
204
+ }
205
+
206
+ //-----------------------------------------------------------------------------
207
+
208
+ /*! \brief Return an array of length \p size filled with input from \p array,
209
+ or null if \p array is null.
210
+ */
211
+
212
+ template < class T >
213
+ inline T *
214
+ CoinCopyOfArray(const T *array, const CoinBigIndex size)
215
+ {
216
+ if (array) {
217
+ T *arrayNew = new T[size];
218
+ std::memcpy(arrayNew, array, size * sizeof(T));
219
+ return arrayNew;
220
+ } else {
221
+ return NULL;
222
+ }
223
+ }
224
+
225
+ /*! \brief Return an array of length \p size filled with first copySize from \p array,
226
+ or null if \p array is null.
227
+ */
228
+
229
+ template < class T >
230
+ inline T *
231
+ CoinCopyOfArrayPartial(const T *array, const CoinBigIndex size, const CoinBigIndex copySize)
232
+ {
233
+ if (array || size) {
234
+ T *arrayNew = new T[size];
235
+ assert(copySize <= size);
236
+ std::memcpy(arrayNew, array, copySize * sizeof(T));
237
+ return arrayNew;
238
+ } else {
239
+ return NULL;
240
+ }
241
+ }
242
+
243
+ /*! \brief Return an array of length \p size filled with input from \p array,
244
+ or filled with (scalar) \p value if \p array is null
245
+ */
246
+
247
+ template < class T >
248
+ inline T *
249
+ CoinCopyOfArray(const T *array, const CoinBigIndex size, T value)
250
+ {
251
+ T *arrayNew = new T[size];
252
+ if (array) {
253
+ std::memcpy(arrayNew, array, size * sizeof(T));
254
+ } else {
255
+ CoinBigIndex i;
256
+ for (i = 0; i < size; i++)
257
+ arrayNew[i] = value;
258
+ }
259
+ return arrayNew;
260
+ }
261
+
262
+ /*! \brief Return an array of length \p size filled with input from \p array,
263
+ or filled with zero if \p array is null
264
+ */
265
+
266
+ template < class T >
267
+ inline T *
268
+ CoinCopyOfArrayOrZero(const T *array, const CoinBigIndex size)
269
+ {
270
+ T *arrayNew = new T[size];
271
+ if (array) {
272
+ std::memcpy(arrayNew, array, size * sizeof(T));
273
+ } else {
274
+ std::memset(arrayNew, 0, size * sizeof(T));
275
+ }
276
+ return arrayNew;
277
+ }
278
+
279
+ //-----------------------------------------------------------------------------
280
+
281
+ /** This helper function copies an array to another location. The two arrays
282
+ must not overlap (otherwise an exception is thrown). For speed 8 entries
283
+ are copied at a time. The arrays are given by pointers to their first
284
+ entries and by the size of the source array.
285
+
286
+ Note JJF - the speed claim seems to be false on IA32 so I have added
287
+ alternative coding if USE_MEMCPY defined*/
288
+ #ifndef COIN_USE_RESTRICT
289
+ template < class T >
290
+ inline void
291
+ CoinMemcpyN(const T *from, const CoinBigIndex size, T *to)
292
+ {
293
+ #ifndef _MSC_VER
294
+ #ifdef USE_MEMCPY
295
+ // Use memcpy - seems a lot faster on Intel with gcc
296
+ #ifndef NDEBUG
297
+ // Some debug so check
298
+ if (size < 0)
299
+ throw CoinError("trying to copy negative number of entries",
300
+ "CoinMemcpyN", "");
301
+
302
+ #if 0
303
+ /* There is no point to do this test. If to and from are from different
304
+ blocks then dist is undefined, so this can crash correct code. It's
305
+ better to trust the user that the arrays are really disjoint. */
306
+ const long dist = to - from;
307
+ if (-size < dist && dist < size)
308
+ throw CoinError("overlapping arrays", "CoinMemcpyN", "");
309
+ #endif
310
+ #endif
311
+ std::memcpy(to, from, size * sizeof(T));
312
+ #else
313
+ if (size == 0 || from == to)
314
+ return;
315
+
316
+ #ifndef NDEBUG
317
+ if (size < 0)
318
+ throw CoinError("trying to copy negative number of entries",
319
+ "CoinMemcpyN", "");
320
+ #endif
321
+
322
+ #if 0
323
+ /* There is no point to do this test. If to and from are from different
324
+ blocks then dist is undefined, so this can crash correct code. It's
325
+ better to trust the user that the arrays are really disjoint. */
326
+ const long dist = to - from;
327
+ if (-size < dist && dist < size)
328
+ throw CoinError("overlapping arrays", "CoinMemcpyN", "");
329
+ #endif
330
+
331
+ for (CoinBigIndex n = static_cast<CoinBigIndex>(size>>3); n > 0; --n, from += 8, to += 8) {
332
+ to[0] = from[0];
333
+ to[1] = from[1];
334
+ to[2] = from[2];
335
+ to[3] = from[3];
336
+ to[4] = from[4];
337
+ to[5] = from[5];
338
+ to[6] = from[6];
339
+ to[7] = from[7];
340
+ }
341
+ switch (size % 8) {
342
+ case 7:
343
+ to[6] = from[6];
344
+ case 6:
345
+ to[5] = from[5];
346
+ case 5:
347
+ to[4] = from[4];
348
+ case 4:
349
+ to[3] = from[3];
350
+ case 3:
351
+ to[2] = from[2];
352
+ case 2:
353
+ to[1] = from[1];
354
+ case 1:
355
+ to[0] = from[0];
356
+ case 0:
357
+ break;
358
+ }
359
+ #endif
360
+ #else
361
+ CoinCopyN(from, size, to);
362
+ #endif
363
+ }
364
+ #else
365
+ template < class T >
366
+ inline void
367
+ CoinMemcpyN(const T *COIN_RESTRICT from, CoinBigIndex size, T *COIN_RESTRICT to)
368
+ {
369
+ #ifdef USE_MEMCPY
370
+ std::memcpy(to, from, size * sizeof(T));
371
+ #else
372
+ T *COIN_RESTRICT put = to;
373
+ const T *COIN_RESTRICT get = from;
374
+ for (; 0 < size; --size)
375
+ *put++ = *get++;
376
+ #endif
377
+ }
378
+ #endif
379
+
380
+ //-----------------------------------------------------------------------------
381
+
382
+ /** This helper function copies an array to another location. The two arrays
383
+ must not overlap (otherwise an exception is thrown). For speed 8 entries
384
+ are copied at a time. The source array is given by its first and "after
385
+ last" entry; the target array is given by its first entry. */
386
+ template < class T >
387
+ inline void
388
+ CoinMemcpy(const T *first, const T *last,
389
+ T *to)
390
+ {
391
+ CoinMemcpyN(first, static_cast< CoinBigIndex >(last - first), to);
392
+ }
393
+
394
+ //#############################################################################
395
+
396
+ /** This helper function fills an array with a given value. For speed 8 entries
397
+ are filled at a time. The array is given by a pointer to its first entry
398
+ and its size.
399
+
400
+ Note JJF - the speed claim seems to be false on IA32 so I have added
401
+ CoinZero to allow for memset. */
402
+ template < class T >
403
+ inline void
404
+ CoinFillN(T *to, const CoinBigIndex size, const T value)
405
+ {
406
+ if (size == 0)
407
+ return;
408
+
409
+ #ifndef NDEBUG
410
+ if (size < 0)
411
+ throw CoinError("trying to fill negative number of entries",
412
+ "CoinFillN", "");
413
+ #endif
414
+ #if 1
415
+ for (CoinBigIndex n = size / 8; n > 0; --n, to += 8) {
416
+ to[0] = value;
417
+ to[1] = value;
418
+ to[2] = value;
419
+ to[3] = value;
420
+ to[4] = value;
421
+ to[5] = value;
422
+ to[6] = value;
423
+ to[7] = value;
424
+ }
425
+ switch (size % 8) {
426
+ case 7:
427
+ to[6] = value;
428
+ // fall through
429
+ case 6:
430
+ to[5] = value;
431
+ // fall through
432
+ case 5:
433
+ to[4] = value;
434
+ // fall through
435
+ case 4:
436
+ to[3] = value;
437
+ // fall through
438
+ case 3:
439
+ to[2] = value;
440
+ // fall through
441
+ case 2:
442
+ to[1] = value;
443
+ // fall through
444
+ case 1:
445
+ to[0] = value;
446
+ // fall through
447
+ case 0:
448
+ break;
449
+ }
450
+ #else
451
+ // Use Duff's device to fill
452
+ CoinBigIndex n = (size + 7) / 8;
453
+ --to;
454
+ switch (size % 8) {
455
+ case 0:
456
+ do {
457
+ *++to = value;
458
+ case 7:
459
+ *++to = value;
460
+ case 6:
461
+ *++to = value;
462
+ case 5:
463
+ *++to = value;
464
+ case 4:
465
+ *++to = value;
466
+ case 3:
467
+ *++to = value;
468
+ case 2:
469
+ *++to = value;
470
+ case 1:
471
+ *++to = value;
472
+ } while (--n > 0);
473
+ }
474
+ #endif
475
+ }
476
+
477
+ //-----------------------------------------------------------------------------
478
+
479
+ /** This helper function fills an array with a given value. For speed 8
480
+ entries are filled at a time. The array is given by its first and "after
481
+ last" entry. */
482
+ template < class T >
483
+ inline void
484
+ CoinFill(T *first, T *last, const T value)
485
+ {
486
+ CoinFillN(first, last - first, value);
487
+ }
488
+
489
+ //#############################################################################
490
+
491
+ /** This helper function fills an array with zero. For speed 8 entries
492
+ are filled at a time. The array is given by a pointer to its first entry
493
+ and its size.
494
+
495
+ Note JJF - the speed claim seems to be false on IA32 so I have allowed
496
+ for memset as an alternative */
497
+ template < class T >
498
+ inline void
499
+ CoinZeroN(T *to, const CoinBigIndex size)
500
+ {
501
+ #ifdef USE_MEMCPY
502
+ // Use memset - seems faster on Intel with gcc
503
+ #ifndef NDEBUG
504
+ // Some debug so check
505
+ if (size < 0)
506
+ throw CoinError("trying to fill negative number of entries",
507
+ "CoinZeroN", "");
508
+ #endif
509
+ memset(to, 0, size * sizeof(T));
510
+ #else
511
+ if (size == 0)
512
+ return;
513
+
514
+ #ifndef NDEBUG
515
+ if (size < 0)
516
+ throw CoinError("trying to fill negative number of entries",
517
+ "CoinZeroN", "");
518
+ #endif
519
+ #if 1
520
+ for (CoinBigIndex n = size / 8; n > 0; --n, to += 8) {
521
+ to[0] = 0;
522
+ to[1] = 0;
523
+ to[2] = 0;
524
+ to[3] = 0;
525
+ to[4] = 0;
526
+ to[5] = 0;
527
+ to[6] = 0;
528
+ to[7] = 0;
529
+ }
530
+ switch (size % 8) {
531
+ case 7:
532
+ to[6] = 0;
533
+ case 6:
534
+ to[5] = 0;
535
+ case 5:
536
+ to[4] = 0;
537
+ case 4:
538
+ to[3] = 0;
539
+ case 3:
540
+ to[2] = 0;
541
+ case 2:
542
+ to[1] = 0;
543
+ case 1:
544
+ to[0] = 0;
545
+ case 0:
546
+ break;
547
+ }
548
+ #else
549
+ // Use Duff's device to fill
550
+ CoinBigIndex n = (size + 7) / 8;
551
+ --to;
552
+ switch (size % 8) {
553
+ case 0:
554
+ do {
555
+ *++to = 0;
556
+ case 7:
557
+ *++to = 0;
558
+ case 6:
559
+ *++to = 0;
560
+ case 5:
561
+ *++to = 0;
562
+ case 4:
563
+ *++to = 0;
564
+ case 3:
565
+ *++to = 0;
566
+ case 2:
567
+ *++to = 0;
568
+ case 1:
569
+ *++to = 0;
570
+ } while (--n > 0);
571
+ }
572
+ #endif
573
+ #endif
574
+ }
575
+ /// This Debug helper function checks an array is all zero
576
+ inline void
577
+ CoinCheckDoubleZero(double *to, const CoinBigIndex size)
578
+ {
579
+ CoinBigIndex n = 0;
580
+ for (CoinBigIndex j = 0; j < size; j++) {
581
+ if (to[j])
582
+ n++;
583
+ }
584
+ if (n) {
585
+ printf("array of length %d should be zero has %d nonzero\n",
586
+ static_cast< int >(size), static_cast< int >(n));
587
+ }
588
+ }
589
+ /// This Debug helper function checks an array is all zero
590
+ inline void
591
+ CoinCheckIntZero(int *to, const CoinBigIndex size)
592
+ {
593
+ CoinBigIndex n = 0;
594
+ for (CoinBigIndex j = 0; j < size; j++) {
595
+ if (to[j])
596
+ n++;
597
+ }
598
+ if (n) {
599
+ printf("array of length %d should be zero has %d nonzero\n",
600
+ static_cast< int >(size),
601
+ static_cast< int >(n));
602
+ }
603
+ }
604
+
605
+ //-----------------------------------------------------------------------------
606
+
607
+ /** This helper function fills an array with a given value. For speed 8
608
+ entries are filled at a time. The array is given by its first and "after
609
+ last" entry. */
610
+ template < class T >
611
+ inline void
612
+ CoinZero(T *first, T *last)
613
+ {
614
+ CoinZeroN(first, last - first);
615
+ }
616
+
617
+ //#############################################################################
618
+
619
+ /** Returns strdup or NULL if original NULL */
620
+ inline char *CoinStrdup(const char *name)
621
+ {
622
+ char *dup = NULL;
623
+ if (name) {
624
+ const int len = static_cast< int >(strlen(name));
625
+ dup = static_cast< char * >(malloc(len + 1));
626
+ CoinMemcpyN(name, len, dup);
627
+ dup[len] = 0;
628
+ }
629
+ return dup;
630
+ }
631
+
632
+ //#############################################################################
633
+
634
+ /** Return the larger (according to <code>operator<()</code> of the arguments.
635
+ This function was introduced because for some reason compiler tend to
636
+ handle the <code>max()</code> function differently. */
637
+ template < class T >
638
+ inline T
639
+ CoinMax(const T x1, const T x2)
640
+ {
641
+ return (x1 > x2) ? x1 : x2;
642
+ }
643
+
644
+ //-----------------------------------------------------------------------------
645
+
646
+ /** Return the smaller (according to <code>operator<()</code> of the arguments.
647
+ This function was introduced because for some reason compiler tend to
648
+ handle the min() function differently. */
649
+ template < class T >
650
+ inline T
651
+ CoinMin(const T x1, const T x2)
652
+ {
653
+ return (x1 < x2) ? x1 : x2;
654
+ }
655
+
656
+ //-----------------------------------------------------------------------------
657
+
658
+ /** Return the absolute value of the argument. This function was introduced
659
+ because for some reason compiler tend to handle the abs() function
660
+ differently. */
661
+ template < class T >
662
+ inline T
663
+ CoinAbs(const T value)
664
+ {
665
+ return value < 0 ? -value : value;
666
+ }
667
+
668
+ //#############################################################################
669
+
670
+ /** This helper function tests whether the entries of an array are sorted
671
+ according to operator<. The array is given by a pointer to its first entry
672
+ and by its size. */
673
+ template < class T >
674
+ inline bool
675
+ CoinIsSorted(const T *first, const CoinBigIndex size)
676
+ {
677
+ if (size == 0)
678
+ return true;
679
+
680
+ #ifndef NDEBUG
681
+ if (size < 0)
682
+ throw CoinError("negative number of entries", "CoinIsSorted", "");
683
+ #endif
684
+ #if 1
685
+ // size1 is the number of comparisons to be made
686
+ const CoinBigIndex size1 = size - 1;
687
+ for (CoinBigIndex n = size1 / 8; n > 0; --n, first += 8) {
688
+ if (first[8] < first[7])
689
+ return false;
690
+ if (first[7] < first[6])
691
+ return false;
692
+ if (first[6] < first[5])
693
+ return false;
694
+ if (first[5] < first[4])
695
+ return false;
696
+ if (first[4] < first[3])
697
+ return false;
698
+ if (first[3] < first[2])
699
+ return false;
700
+ if (first[2] < first[1])
701
+ return false;
702
+ if (first[1] < first[0])
703
+ return false;
704
+ }
705
+
706
+ switch (size1 % 8) {
707
+ case 7:
708
+ if (first[7] < first[6])
709
+ return false;
710
+ case 6:
711
+ if (first[6] < first[5])
712
+ return false;
713
+ case 5:
714
+ if (first[5] < first[4])
715
+ return false;
716
+ case 4:
717
+ if (first[4] < first[3])
718
+ return false;
719
+ case 3:
720
+ if (first[3] < first[2])
721
+ return false;
722
+ case 2:
723
+ if (first[2] < first[1])
724
+ return false;
725
+ case 1:
726
+ if (first[1] < first[0])
727
+ return false;
728
+ case 0:
729
+ break;
730
+ }
731
+ #else
732
+ const T *next = first;
733
+ const T *last = first + size;
734
+ for (++next; next != last; first = next, ++next)
735
+ if (*next < *first)
736
+ return false;
737
+ #endif
738
+ return true;
739
+ }
740
+
741
+ //-----------------------------------------------------------------------------
742
+
743
+ /** This helper function tests whether the entries of an array are sorted
744
+ according to operator<. The array is given by its first and "after
745
+ last" entry. */
746
+ template < class T >
747
+ inline bool
748
+ CoinIsSorted(const T *first, const T *last)
749
+ {
750
+ return CoinIsSorted(first, static_cast< CoinBigIndex >(last - first));
751
+ }
752
+
753
+ //#############################################################################
754
+
755
+ /** This helper function fills an array with the values init, init+1, init+2,
756
+ etc. For speed 8 entries are filled at a time. The array is given by a
757
+ pointer to its first entry and its size. */
758
+ template < class T >
759
+ inline void
760
+ CoinIotaN(T *first, const CoinBigIndex size, T init)
761
+ {
762
+ if (size == 0)
763
+ return;
764
+
765
+ #ifndef NDEBUG
766
+ if (size < 0)
767
+ throw CoinError("negative number of entries", "CoinIotaN", "");
768
+ #endif
769
+ #if 1
770
+ for (CoinBigIndex n = size / 8; n > 0; --n, first += 8, init += 8) {
771
+ first[0] = init;
772
+ first[1] = init + 1;
773
+ first[2] = init + 2;
774
+ first[3] = init + 3;
775
+ first[4] = init + 4;
776
+ first[5] = init + 5;
777
+ first[6] = init + 6;
778
+ first[7] = init + 7;
779
+ }
780
+ switch (size % 8) {
781
+ case 7:
782
+ first[6] = init + 6;
783
+ case 6:
784
+ first[5] = init + 5;
785
+ case 5:
786
+ first[4] = init + 4;
787
+ case 4:
788
+ first[3] = init + 3;
789
+ case 3:
790
+ first[2] = init + 2;
791
+ case 2:
792
+ first[1] = init + 1;
793
+ case 1:
794
+ first[0] = init;
795
+ case 0:
796
+ break;
797
+ }
798
+ #else
799
+ // Use Duff's device to fill
800
+ CoinBigIndex n = (size + 7) / 8;
801
+ --first;
802
+ --init;
803
+ switch (size % 8) {
804
+ case 0:
805
+ do {
806
+ *++first = ++init;
807
+ case 7:
808
+ *++first = ++init;
809
+ case 6:
810
+ *++first = ++init;
811
+ case 5:
812
+ *++first = ++init;
813
+ case 4:
814
+ *++first = ++init;
815
+ case 3:
816
+ *++first = ++init;
817
+ case 2:
818
+ *++first = ++init;
819
+ case 1:
820
+ *++first = ++init;
821
+ } while (--n > 0);
822
+ }
823
+ #endif
824
+ }
825
+
826
+ //-----------------------------------------------------------------------------
827
+
828
+ /** This helper function fills an array with the values init, init+1, init+2,
829
+ etc. For speed 8 entries are filled at a time. The array is given by its
830
+ first and "after last" entry. */
831
+ template < class T >
832
+ inline void
833
+ CoinIota(T *first, const T *last, T init)
834
+ {
835
+ CoinIotaN(first, last - first, init);
836
+ }
837
+
838
+ //#############################################################################
839
+
840
+ /** This helper function deletes certain entries from an array. The array is
841
+ given by pointers to its first and "after last" entry (first two
842
+ arguments). The positions of the entries to be deleted are given in the
843
+ integer array specified by the last two arguments (again, first and "after
844
+ last" entry). */
845
+ template < class T >
846
+ inline T *
847
+ CoinDeleteEntriesFromArray(T *arrayFirst, T *arrayLast,
848
+ const int *firstDelPos, const int *lastDelPos)
849
+ {
850
+ CoinBigIndex delNum = static_cast< CoinBigIndex >(lastDelPos - firstDelPos);
851
+ if (delNum == 0)
852
+ return arrayLast;
853
+
854
+ if (delNum < 0)
855
+ throw CoinError("trying to delete negative number of entries",
856
+ "CoinDeleteEntriesFromArray", "");
857
+
858
+ int *delSortedPos = NULL;
859
+ if (!(CoinIsSorted(firstDelPos, lastDelPos) && std::adjacent_find(firstDelPos, lastDelPos) == lastDelPos)) {
860
+ // the positions of the to be deleted is either not sorted or not unique
861
+ delSortedPos = new int[delNum];
862
+ CoinDisjointCopy(firstDelPos, lastDelPos, delSortedPos);
863
+ std::sort(delSortedPos, delSortedPos + delNum);
864
+ delNum = static_cast< CoinBigIndex >(std::unique(delSortedPos,
865
+ delSortedPos + delNum)
866
+ - delSortedPos);
867
+ }
868
+ const int *delSorted = delSortedPos ? delSortedPos : firstDelPos;
869
+
870
+ const CoinBigIndex last = delNum - 1;
871
+ int size = delSorted[0];
872
+ for (CoinBigIndex i = 0; i < last; ++i) {
873
+ const int copyFirst = delSorted[i] + 1;
874
+ const int copyLast = delSorted[i + 1];
875
+ CoinCopy(arrayFirst + copyFirst, arrayFirst + copyLast,
876
+ arrayFirst + size);
877
+ size += copyLast - copyFirst;
878
+ }
879
+ const int copyFirst = delSorted[last] + 1;
880
+ const int copyLast = static_cast< int >(arrayLast - arrayFirst);
881
+ CoinCopy(arrayFirst + copyFirst, arrayFirst + copyLast,
882
+ arrayFirst + size);
883
+ size += copyLast - copyFirst;
884
+
885
+ if (delSortedPos)
886
+ delete[] delSortedPos;
887
+
888
+ return arrayFirst + size;
889
+ }
890
+
891
+ //#############################################################################
892
+
893
+ #define COIN_OWN_RANDOM_32
894
+
895
+ #if defined COIN_OWN_RANDOM_32
896
+ /* Thanks to Stefano Gliozzi for providing an operating system
897
+ independent random number generator. */
898
+
899
+ /*! \brief Return a random number between 0 and 1
900
+
901
+ A platform-independent linear congruential generator. For a given seed, the
902
+ generated sequence is always the same regardless of the (32-bit)
903
+ architecture. This allows to build & test in different environments, getting
904
+ in most cases the same optimization path.
905
+
906
+ Set \p isSeed to true and supply an integer seed to set the seed
907
+ (vid. #CoinSeedRandom)
908
+
909
+ \todo Anyone want to volunteer an upgrade for 64-bit architectures?
910
+ */
911
+ inline double CoinDrand48(bool isSeed = false, unsigned int seed = 1)
912
+ {
913
+ static unsigned int last = 123456;
914
+ if (isSeed) {
915
+ last = seed;
916
+ } else {
917
+ last = 1664525 * last + 1013904223;
918
+ return ((static_cast< double >(last)) / 4294967296.0);
919
+ }
920
+ return (0.0);
921
+ }
922
+
923
+ /// Set the seed for the random number generator
924
+ inline void CoinSeedRandom(int iseed)
925
+ {
926
+ CoinDrand48(true, iseed);
927
+ }
928
+
929
+ #else // COIN_OWN_RANDOM_32
930
+
931
+ #if defined(_MSC_VER) || defined(__MINGW32__) || defined(__CYGWIN32__)
932
+
933
+ /// Return a random number between 0 and 1
934
+ inline double CoinDrand48() { return rand() / (double)RAND_MAX; }
935
+ /// Set the seed for the random number generator
936
+ inline void CoinSeedRandom(int iseed) { srand(iseed + 69822); }
937
+
938
+ #else
939
+
940
+ /// Return a random number between 0 and 1
941
+ inline double CoinDrand48() { return drand48(); }
942
+ /// Set the seed for the random number generator
943
+ inline void CoinSeedRandom(int iseed) { srand48(iseed + 69822); }
944
+
945
+ #endif
946
+
947
+ #endif // COIN_OWN_RANDOM_32
948
+
949
+ //#############################################################################
950
+
951
+ /** This function figures out whether file names should contain slashes or
952
+ backslashes as directory separator */
953
+ inline char CoinFindDirSeparator()
954
+ {
955
+ int size = 1000;
956
+ char *buf = 0;
957
+ while (true) {
958
+ buf = new char[size];
959
+ if (getcwd(buf, size))
960
+ break;
961
+ delete[] buf;
962
+ buf = 0;
963
+ size = 2 * size;
964
+ }
965
+ // if first char is '/' then it's unix and the dirsep is '/'. otherwise we
966
+ // assume it's dos and the dirsep is '\'
967
+ char dirsep = buf[0] == '/' ? '/' : '\\';
968
+ delete[] buf;
969
+ return dirsep;
970
+ }
971
+ //#############################################################################
972
+
973
+ inline int CoinStrNCaseCmp(const char *s0, const char *s1,
974
+ const size_t len)
975
+ {
976
+ for (size_t i = 0; i < len; ++i) {
977
+ if (s0[i] == 0) {
978
+ return s1[i] == 0 ? 0 : -1;
979
+ }
980
+ if (s1[i] == 0) {
981
+ return 1;
982
+ }
983
+ const int c0 = std::tolower(s0[i]);
984
+ const int c1 = std::tolower(s1[i]);
985
+ if (c0 < c1)
986
+ return -1;
987
+ if (c0 > c1)
988
+ return 1;
989
+ }
990
+ return 0;
991
+ }
992
+
993
+ //#############################################################################
994
+
995
+ /// Swap the arguments.
996
+ template < class T >
997
+ inline void CoinSwap(T &x, T &y)
998
+ {
999
+ T t = x;
1000
+ x = y;
1001
+ y = t;
1002
+ }
1003
+
1004
+ //#############################################################################
1005
+
1006
+ /** This helper function copies an array to file
1007
+ Returns 0 if OK, 1 if bad write.
1008
+ */
1009
+
1010
+ template < class T >
1011
+ inline int
1012
+ CoinToFile(const T *array, CoinBigIndex size, FILE *fp)
1013
+ {
1014
+ CoinBigIndex numberWritten;
1015
+ if (array && size) {
1016
+ numberWritten = static_cast< CoinBigIndex >(fwrite(&size, sizeof(int), 1, fp));
1017
+ if (numberWritten != 1)
1018
+ return 1;
1019
+ numberWritten = static_cast< CoinBigIndex >(fwrite(array, sizeof(T), size_t(size), fp));
1020
+ if (numberWritten != size)
1021
+ return 1;
1022
+ } else {
1023
+ size = 0;
1024
+ numberWritten = static_cast< CoinBigIndex >(fwrite(&size, sizeof(int), 1, fp));
1025
+ if (numberWritten != 1)
1026
+ return 1;
1027
+ }
1028
+ return 0;
1029
+ }
1030
+
1031
+ //#############################################################################
1032
+
1033
+ /** This helper function copies an array from file and creates with new.
1034
+ Passed in array is ignored i.e. not deleted.
1035
+ But if NULL and size does not match and newSize 0 then leaves as NULL and 0
1036
+ Returns 0 if OK, 1 if bad read, 2 if size did not match.
1037
+ */
1038
+
1039
+ template < class T >
1040
+ inline int
1041
+ CoinFromFile(T *&array, CoinBigIndex size, FILE *fp, CoinBigIndex &newSize)
1042
+ {
1043
+ CoinBigIndex numberRead;
1044
+ numberRead = static_cast< CoinBigIndex >(fread(&newSize, sizeof(int), 1, fp));
1045
+ if (numberRead != 1)
1046
+ return 1;
1047
+ int returnCode = 0;
1048
+ if (size != newSize && (newSize || array))
1049
+ returnCode = 2;
1050
+ if (newSize) {
1051
+ array = new T[newSize];
1052
+ numberRead = static_cast< CoinBigIndex >(fread(array, sizeof(T), newSize, fp));
1053
+ if (numberRead != newSize)
1054
+ returnCode = 1;
1055
+ } else {
1056
+ array = NULL;
1057
+ }
1058
+ return returnCode;
1059
+ }
1060
+
1061
+ //#############################################################################
1062
+
1063
+ /// Cube Root
1064
+ #if 0
1065
+ inline double CoinCbrt(double x)
1066
+ {
1067
+ #if defined(_MSC_VER)
1068
+ return pow(x,(1./3.));
1069
+ #else
1070
+ return cbrt(x);
1071
+ #endif
1072
+ }
1073
+ #endif
1074
+
1075
+ //-----------------------------------------------------------------------------
1076
+
1077
+ /// This helper returns "sizeof" as an int
1078
+ #define CoinSizeofAsInt(type) (static_cast< int >(sizeof(type)))
1079
+ /// This helper returns "strlen" as an int
1080
+ inline int
1081
+ CoinStrlenAsInt(const char *string)
1082
+ {
1083
+ return static_cast< int >(strlen(string));
1084
+ }
1085
+
1086
+ /** Class for thread specific random numbers
1087
+ */
1088
+ #if defined COIN_OWN_RANDOM_32
1089
+ class CoinThreadRandom {
1090
+ public:
1091
+ /**@name Constructors, destructor */
1092
+
1093
+ //@{
1094
+ /** Default constructor. */
1095
+ CoinThreadRandom()
1096
+ {
1097
+ seed_ = 12345678;
1098
+ }
1099
+ /** Constructor wih seed. */
1100
+ CoinThreadRandom(int seed)
1101
+ {
1102
+ seed_ = seed;
1103
+ }
1104
+ /** Destructor */
1105
+ ~CoinThreadRandom() {}
1106
+ // Copy
1107
+ CoinThreadRandom(const CoinThreadRandom &rhs)
1108
+ {
1109
+ seed_ = rhs.seed_;
1110
+ }
1111
+ // Assignment
1112
+ CoinThreadRandom &operator=(const CoinThreadRandom &rhs)
1113
+ {
1114
+ if (this != &rhs) {
1115
+ seed_ = rhs.seed_;
1116
+ }
1117
+ return *this;
1118
+ }
1119
+
1120
+ //@}
1121
+
1122
+ /**@name Sets/gets */
1123
+
1124
+ //@{
1125
+ /** Set seed. */
1126
+ inline void setSeed(int seed)
1127
+ {
1128
+ seed_ = seed;
1129
+ }
1130
+ /** Get seed. */
1131
+ inline unsigned int getSeed() const
1132
+ {
1133
+ return seed_;
1134
+ }
1135
+ /// return a random number
1136
+ inline double randomDouble() const
1137
+ {
1138
+ double retVal;
1139
+ seed_ = 1664525 * (seed_) + 1013904223;
1140
+ retVal = ((static_cast< double >(seed_)) / 4294967296.0);
1141
+ return retVal;
1142
+ }
1143
+ /// make more random (i.e. for startup)
1144
+ inline void randomize(int n = 0)
1145
+ {
1146
+ if (!n)
1147
+ n = seed_ & 255;
1148
+ for (int i = 0; i < n; i++)
1149
+ randomDouble();
1150
+ }
1151
+ //@}
1152
+
1153
+ protected:
1154
+ /**@name Data members
1155
+ The data members are protected to allow access for derived classes. */
1156
+ //@{
1157
+ /// Current seed
1158
+ mutable unsigned int seed_;
1159
+ //@}
1160
+ };
1161
+ #else
1162
+ class CoinThreadRandom {
1163
+ public:
1164
+ /**@name Constructors, destructor */
1165
+
1166
+ //@{
1167
+ /** Default constructor. */
1168
+ CoinThreadRandom()
1169
+ {
1170
+ seed_[0] = 50000;
1171
+ seed_[1] = 40000;
1172
+ seed_[2] = 30000;
1173
+ }
1174
+ /** Constructor wih seed. */
1175
+ CoinThreadRandom(const unsigned short seed[3])
1176
+ {
1177
+ memcpy(seed_, seed, 3 * sizeof(unsigned short));
1178
+ }
1179
+ /** Constructor wih seed. */
1180
+ CoinThreadRandom(int seed)
1181
+ {
1182
+ union {
1183
+ int i[2];
1184
+ unsigned short int s[4];
1185
+ } put;
1186
+ put.i[0] = seed;
1187
+ put.i[1] = seed;
1188
+ memcpy(seed_, put.s, 3 * sizeof(unsigned short));
1189
+ }
1190
+ /** Destructor */
1191
+ ~CoinThreadRandom() {}
1192
+ // Copy
1193
+ CoinThreadRandom(const CoinThreadRandom &rhs)
1194
+ {
1195
+ memcpy(seed_, rhs.seed_, 3 * sizeof(unsigned short));
1196
+ }
1197
+ // Assignment
1198
+ CoinThreadRandom &operator=(const CoinThreadRandom &rhs)
1199
+ {
1200
+ if (this != &rhs) {
1201
+ memcpy(seed_, rhs.seed_, 3 * sizeof(unsigned short));
1202
+ }
1203
+ return *this;
1204
+ }
1205
+
1206
+ //@}
1207
+
1208
+ /**@name Sets/gets */
1209
+
1210
+ //@{
1211
+ /** Set seed. */
1212
+ inline void setSeed(const unsigned short seed[3])
1213
+ {
1214
+ memcpy(seed_, seed, 3 * sizeof(unsigned short));
1215
+ }
1216
+ /** Set seed. */
1217
+ inline void setSeed(int seed)
1218
+ {
1219
+ union {
1220
+ int i[2];
1221
+ unsigned short int s[4];
1222
+ } put;
1223
+ put.i[0] = seed;
1224
+ put.i[1] = seed;
1225
+ memcpy(seed_, put.s, 3 * sizeof(unsigned short));
1226
+ }
1227
+ /// return a random number
1228
+ inline double randomDouble() const
1229
+ {
1230
+ double retVal;
1231
+ #if defined(_MSC_VER) || defined(__MINGW32__) || defined(__CYGWIN32__)
1232
+ retVal = rand();
1233
+ retVal = retVal / (double)RAND_MAX;
1234
+ #else
1235
+ retVal = erand48(seed_);
1236
+ #endif
1237
+ return retVal;
1238
+ }
1239
+ /// make more random (i.e. for startup)
1240
+ inline void randomize(int n = 0)
1241
+ {
1242
+ if (!n) {
1243
+ n = seed_[0] + seed_[1] + seed_[2];
1244
+ n &= 255;
1245
+ }
1246
+ for (int i = 0; i < n; i++)
1247
+ randomDouble();
1248
+ }
1249
+ //@}
1250
+
1251
+ protected:
1252
+ /**@name Data members
1253
+ The data members are protected to allow access for derived classes. */
1254
+ //@{
1255
+ /// Current seed
1256
+ mutable unsigned short seed_[3];
1257
+ //@}
1258
+ };
1259
+ #endif
1260
+ #ifndef COIN_DETAIL
1261
+ #define COIN_DETAIL_PRINT(s) \
1262
+ { \
1263
+ }
1264
+ #else
1265
+ #define COIN_DETAIL_PRINT(s) s
1266
+ #endif
1267
+ #endif
1268
+
1269
+ /* vi: softtabstop=2 shiftwidth=2 expandtab tabstop=2
1270
+ */