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,1001 @@
1
+ /*
2
+ * This file is part of CasADi.
3
+ *
4
+ * CasADi -- A symbolic framework for dynamic optimization.
5
+ * Copyright (C) 2010-2023 Joel Andersson, Joris Gillis, Moritz Diehl,
6
+ * KU Leuven. All rights reserved.
7
+ * Copyright (C) 2011-2014 Greg Horn
8
+ *
9
+ * CasADi is free software; you can redistribute it and/or
10
+ * modify it under the terms of the GNU Lesser General Public
11
+ * License as published by the Free Software Foundation; either
12
+ * version 3 of the License, or (at your option) any later version.
13
+ *
14
+ * CasADi is distributed in the hope that it will be useful,
15
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
16
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17
+ * Lesser General Public License for more details.
18
+ *
19
+ * You should have received a copy of the GNU Lesser General Public
20
+ * License along with CasADi; if not, write to the Free Software
21
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
22
+ *
23
+ */
24
+
25
+
26
+ #ifndef CASADI_MISC_HPP
27
+ #define CASADI_MISC_HPP
28
+
29
+ #include "exception.hpp"
30
+ #include "casadi_common.hpp"
31
+
32
+ /** \brief Convenience tools for C++ Standard Library vectors
33
+
34
+ \author Joel Andersson
35
+ \date 2010-2011
36
+
37
+ \identifier{1l5} */
38
+
39
+ namespace casadi {
40
+
41
+ #ifndef SWIG
42
+
43
+ template<typename T>
44
+ class scoped_checkout {
45
+ public:
46
+ scoped_checkout(const T& proto) : proto_(proto) {
47
+ mem = proto_.checkout();
48
+ }
49
+
50
+ scoped_checkout(scoped_checkout&& that) : mem(that.mem), proto_(that.proto_) {
51
+ that.mem = -1;
52
+ }
53
+
54
+ scoped_checkout(const scoped_checkout& that) = delete;
55
+
56
+ ~scoped_checkout() {
57
+ if (mem!=-1) proto_.release(mem);
58
+ }
59
+
60
+ operator casadi_int() const {
61
+ return mem;
62
+ }
63
+
64
+ private:
65
+ int mem;
66
+ const T& proto_;
67
+ };
68
+
69
+ /** \brief Range function
70
+
71
+ * \param start
72
+ * \param stop
73
+ * \param step
74
+ * \param len
75
+ *
76
+ * Consider a infinitely long list [start, start+step, start+2*step, ...]
77
+ * Elements larger than or equal to stop are chopped off.
78
+ *
79
+ \identifier{1l6} */
80
+ CASADI_EXPORT std::vector<casadi_int> range(casadi_int start, casadi_int stop, casadi_int step=1,
81
+ casadi_int len=std::numeric_limits<casadi_int>::max());
82
+
83
+ /** \brief Check if a vector matches a range
84
+ *
85
+ \identifier{1l7} */
86
+ CASADI_EXPORT bool is_range(const std::vector<casadi_int>& v,
87
+ casadi_int start, casadi_int stop, casadi_int step=1);
88
+
89
+ CASADI_EXPORT std::string join(const std::vector<std::string>& l, const std::string& delim=",");
90
+
91
+ /// Checks if s starts with p
92
+ CASADI_EXPORT bool startswith(const std::string& s, const std::string& p);
93
+
94
+ /// Replace all occurences of p with r in s
95
+ CASADI_EXPORT std::string replace(const std::string& s,
96
+ const std::string& p, const std::string& r);
97
+
98
+ /** \brief Range function
99
+
100
+ * \param stop
101
+ *
102
+ * \return list [0, 1, 2...stop-1]
103
+
104
+ \identifier{1l8} */
105
+ CASADI_EXPORT std::vector<casadi_int> range(casadi_int stop);
106
+
107
+ /// Check if all arguments are true
108
+ CASADI_EXPORT bool all(const std::vector<bool> &v);
109
+ /// Check if any arguments are true
110
+ CASADI_EXPORT bool any(const std::vector<bool> &v);
111
+ /// Invert all entries
112
+ CASADI_EXPORT std::vector<bool> boolvec_not(const std::vector<bool> &v);
113
+ /// And operation on boolean vector
114
+ CASADI_EXPORT std::vector<bool> boolvec_and(const std::vector<bool> &lhs,
115
+ const std::vector<bool> &rhs);
116
+ /// Or operation on boolean vector
117
+ CASADI_EXPORT std::vector<bool> boolvec_or(const std::vector<bool> &lhs,
118
+ const std::vector<bool> &rhs);
119
+
120
+ CASADI_EXPORT std::vector<casadi_int> boolvec_to_index(const std::vector<bool> &v);
121
+
122
+ CASADI_EXPORT bool is_equally_spaced(const std::vector<double> &v);
123
+
124
+ /// Computes a mapping for a (dense) tensor permutation
125
+ CASADI_EXPORT std::vector<casadi_int> tensor_permute_mapping(const std::vector<casadi_int>& dims,
126
+ const std::vector<casadi_int>& order);
127
+
128
+ CASADI_EXPORT int to_int(casadi_int rhs);
129
+ CASADI_EXPORT std::vector<int> to_int(const std::vector<casadi_int>& rhs);
130
+ CASADI_EXPORT std::vector< std::vector<int> > to_int(
131
+ const std::vector< std::vector<casadi_int> >& rhs);
132
+
133
+ template<typename T, typename S>
134
+ std::vector<T> vector_static_cast(const std::vector<S>& rhs);
135
+
136
+ CASADI_EXPORT std::string str_bvec(bvec_t v);
137
+
138
+ /** \brief Slicing vector
139
+
140
+ * \param v Vector to slice
141
+ * \param i List of indices
142
+
143
+ \identifier{1l9} */
144
+ template<typename T>
145
+ std::vector<T> vector_slice(const std::vector<T> &v, const std::vector<casadi_int> &i);
146
+
147
+ /** \brief Select subset of vector
148
+
149
+ * \param v Vector to slice
150
+ * \param s Select?
151
+
152
+ \identifier{286} */
153
+ template<typename T>
154
+ std::vector<T> vector_select(const std::vector<T> &v, const std::vector<bool> &s,
155
+ bool invert=false);
156
+
157
+ /** \brief Return all but the first element of a vector
158
+
159
+ \identifier{27y} */
160
+ template<typename T>
161
+ std::vector<T> vector_tail(const std::vector<T> &v);
162
+
163
+ /** \brief Return all but the last element of a vector
164
+
165
+ \identifier{285} */
166
+ template<typename T>
167
+ std::vector<T> vector_init(const std::vector<T> &v);
168
+
169
+ /** \brief Reverse a list
170
+
171
+ \identifier{1la} */
172
+ template<typename T>
173
+ std::vector<T> reverse(const std::vector<T> &v);
174
+
175
+ /** \brief Join two lists
176
+
177
+ \identifier{1lb} */
178
+ template<typename T>
179
+ std::vector<T> join(const std::vector<T> &a, const std::vector<T> &b);
180
+
181
+ /** \brief Join three lists
182
+
183
+ \identifier{1lc} */
184
+ template<typename T>
185
+ std::vector<T> join(const std::vector<T> &a, const std::vector<T> &b, const std::vector<T> &c);
186
+
187
+ /** \brief Does the list represent a permutation?
188
+
189
+ \identifier{250} */
190
+ bool is_permutation(const std::vector<casadi_int> &order);
191
+
192
+ /** \brief permute a list
193
+
194
+ \identifier{1ld} */
195
+ template<typename T>
196
+ std::vector<T> permute(const std::vector<T> &a, const std::vector<casadi_int> &order);
197
+
198
+ /** \brief inverse a permutation vector
199
+
200
+ \identifier{251} */
201
+ std::vector<casadi_int> invert_permutation(const std::vector<casadi_int> &a);
202
+
203
+ /** \brief find nonzeros
204
+
205
+ \identifier{1le} */
206
+ template<typename T>
207
+ std::vector<casadi_int> find(const std::vector<T> &v);
208
+
209
+ #endif // SWIG
210
+
211
+ /// Check if for each element of v holds: v_i < upper
212
+ template<typename T>
213
+ bool in_range(const std::vector<T> &v, casadi_int upper);
214
+
215
+ /// Check if for each element of v holds: lower <= v_i < upper
216
+ template<typename T>
217
+ bool in_range(const std::vector<T> &v, casadi_int lower, casadi_int upper);
218
+
219
+ // Assert that a indices are in a range
220
+ #define casadi_assert_in_range(v, lower, upper) \
221
+ casadi_assert(in_range(v, lower, upper), \
222
+ "Out of bounds error. Got elements in range [" \
223
+ + str(*std::min_element(v.begin(), v.end())) + ","\
224
+ + str(*std::max_element(v.begin(), v.end())) + "], which is outside the range ["\
225
+ + str(lower) + "," + str(upper) + ").")
226
+
227
+ // Assert that a indices are bounded
228
+ #define casadi_assert_bounded(v, upper) \
229
+ casadi_assert(in_range(v, upper), \
230
+ "Out of bounds error. Got elements in range [" \
231
+ + str(*std::min_element(v.begin(), v.end())) + ","\
232
+ + str(*std::max_element(v.begin(), v.end())) + "], which exceeds the upper bound "\
233
+ + str(upper) + ".")
234
+
235
+ /** \brief Returns the list of all i in [0, size[ not found in supplied list
236
+ *
237
+ * The supplied vector may contain duplicates and may be non-monotonous
238
+ * The supplied vector will be checked for bounds
239
+ * The result vector is guaranteed to be monotonously increasing
240
+
241
+ \identifier{1lf} */
242
+ CASADI_EXPORT std::vector<casadi_int> complement(const std::vector<casadi_int> &v,
243
+ casadi_int size);
244
+
245
+ /** \brief Returns a vector for quickly looking up entries of supplied list
246
+ *
247
+ * lookupvector[i]!=-1 <=> v contains i
248
+ * v[lookupvector[i]] == i <=> v contains i
249
+ *
250
+ * Duplicates are treated by looking up last occurrence
251
+
252
+ \identifier{1lg} */
253
+ CASADI_EXPORT std::vector<casadi_int> lookupvector(const std::vector<casadi_int> &v,
254
+ casadi_int size);
255
+ CASADI_EXPORT std::vector<casadi_int> lookupvector(const std::vector<casadi_int> &v);
256
+
257
+ /** \brief Flatten a nested std::vector tot a single flattened vector
258
+ *
259
+ * Contents of nested[i] ends up in flat[indices[i]]..flat[indices[i+1]-1]
260
+
261
+ \identifier{1lh} */
262
+ template<class T, class S>
263
+ void flatten_nested_vector(const std::vector< std::vector<T> >& nested,
264
+ std::vector<S>& flat);
265
+
266
+ /** \brief Flatten a nested std::vector tot a single flattened vector
267
+ *
268
+ * Contents of nested[i] ends up in flat[indices[i]]..flat[indices[i+1]-1]
269
+
270
+ \identifier{1li} */
271
+ template<class T, class S, class I>
272
+ void flatten_nested_vector(const std::vector< std::vector<T> >& nested,
273
+ std::vector<S>& flat,
274
+ std::vector<I>& indices);
275
+
276
+ /// \cond INTERNAL
277
+ #ifndef SWIG
278
+ /**
279
+ Apply a function f to each element in a vector
280
+ */
281
+ template<class T>
282
+ std::vector<T> applymap(T (*f)(const T&), const std::vector<T>& comp);
283
+
284
+ /**
285
+ Apply a function f to each element in a vector
286
+ */
287
+ template<class T>
288
+ void applymap(void (*f)(T&), std::vector<T>& comp);
289
+ #endif // SWIG
290
+ /// \endcond
291
+
292
+
293
+ /// Check if the vector is strictly increasing
294
+ template<typename T>
295
+ bool is_increasing(const std::vector<T> &v);
296
+
297
+ /// Check if the vector is strictly decreasing
298
+ template<typename T>
299
+ bool is_decreasing(const std::vector<T> &v);
300
+
301
+ /// Check if the vector is non-increasing
302
+ template<typename T>
303
+ bool is_nonincreasing(const std::vector<T> &v);
304
+
305
+ /// Check if the vector is non-decreasing
306
+ template<typename T>
307
+ bool is_nondecreasing(const std::vector<T> &v);
308
+
309
+ /// Check if the vector is monotone
310
+ template<typename T>
311
+ bool is_monotone(const std::vector<T> &v);
312
+
313
+ /// Check if the vector is strictly monotone
314
+ template<typename T>
315
+ bool is_strictly_monotone(const std::vector<T> &v);
316
+
317
+ /// Check if the vector has negative entries
318
+ template<typename T>
319
+ bool has_negative(const std::vector<T> &v);
320
+
321
+ /// Print vector, matlab style
322
+ template<typename T>
323
+ void write_matlab(std::ostream &stream, const std::vector<T> &v);
324
+
325
+ /// Print matrix, matlab style
326
+ template<typename T>
327
+ void write_matlab(std::ostream &stream, const std::vector<std::vector<T> > &v);
328
+
329
+ /// Read vector, matlab style
330
+ template<typename T>
331
+ void read_matlab(std::istream &stream, std::vector<T> &v);
332
+
333
+ /// Read matrix, matlab style
334
+ template<typename T>
335
+ void read_matlab(std::ifstream &file, std::vector<std::vector<T> > &v);
336
+
337
+ #ifndef SWIG
338
+ /// Matlab's linspace
339
+ template<typename T, typename F, typename L>
340
+ void linspace(std::vector<T> &v, const F& first, const L& last);
341
+
342
+ /// \cond INTERNAL
343
+ /// Get an pointer of sets of booleans from a double vector
344
+ CASADI_EXPORT bvec_t* get_bvec_t(std::vector<double>& v);
345
+
346
+ /// Get an pointer of sets of booleans from a double vector
347
+ CASADI_EXPORT const bvec_t* get_bvec_t(const std::vector<double>& v);
348
+
349
+ /// Bit-wise or operation on bvec_t array
350
+ CASADI_EXPORT bvec_t bvec_or(const bvec_t* arg, casadi_int n);
351
+
352
+ /// Get an pointer of sets of booleans from a double vector
353
+ template<typename T>
354
+ bvec_t* get_bvec_t(std::vector<T>& v);
355
+
356
+ /// Get an pointer of sets of booleans from a double vector
357
+ template<typename T>
358
+ const bvec_t* get_bvec_t(const std::vector<T>& v);
359
+
360
+ /// Get a pointer to the data contained in the vector
361
+ template<typename T>
362
+ T* get_ptr(std::vector<T> &v);
363
+
364
+ /// Get a pointer to the data contained in the vector
365
+ template<typename T>
366
+ const T* get_ptr(const std::vector<T> &v);
367
+
368
+ /// \endcond
369
+
370
+ /** \brief Sort the data in a vector
371
+ *
372
+ * \param[in] values the vector that needs sorting
373
+ * \param[out] sorted_values the sorted vector
374
+ * \param[out] indices The indices such that 'sorted_values= values[indices]'
375
+ * \param[in] invert_indices Output indices such that 'sorted_values[indices=values'
376
+ *
377
+ \identifier{1lj} */
378
+ template<typename T>
379
+ void sort(const std::vector<T> &values, std::vector<T> &sorted_values,
380
+ std::vector<casadi_int> &indices, bool invert_indices =false);
381
+
382
+ /** \brief product
383
+ *
384
+ \identifier{1lk} */
385
+ template<typename T>
386
+ T product(const std::vector<T> &values);
387
+
388
+ /** \brief sum
389
+ *
390
+ \identifier{1ll} */
391
+ template<typename T>
392
+ T sum(const std::vector<T> &values);
393
+
394
+ /** \brief cumulative sum
395
+ *
396
+ \identifier{1lm} */
397
+ template<typename T>
398
+ std::vector<T> cumsum(const std::vector<T> &values);
399
+
400
+ /** \brief diff
401
+ *
402
+ \identifier{1ln} */
403
+ template<typename T>
404
+ std::vector<T> diff(const std::vector<T> &values);
405
+
406
+ /** \brief cumulative sum, starting with zero
407
+ *
408
+ \identifier{1lo} */
409
+ template<typename T>
410
+ std::vector<T> cumsum0(const std::vector<T> &values);
411
+ #endif //SWIG
412
+
413
+ /// Checks if array does not contain NaN or Inf
414
+ template<typename T>
415
+ bool is_regular(const std::vector<T> &v) {
416
+ for (auto&& vk : v) {
417
+ if (vk!=vk || vk==std::numeric_limits<T>::infinity() ||
418
+ vk==-std::numeric_limits<T>::infinity()) return false;
419
+ }
420
+ return true;
421
+ }
422
+
423
+ // Create a temporary file
424
+ CASADI_EXPORT std::string temporary_file(const std::string& prefix, const std::string& suffix);
425
+
426
+ CASADI_EXPORT void normalized_setup(std::istream& stream);
427
+ CASADI_EXPORT void normalized_setup(std::ostream& stream);
428
+
429
+ inline void normalized_out(std::ostream& stream, double val) {
430
+ if (val==std::numeric_limits<double>::infinity()) {
431
+ stream << "inf";
432
+ } else if (val==-std::numeric_limits<double>::infinity()) {
433
+ stream << "-inf";
434
+ } else if (val!=val) {
435
+ stream << "nan";
436
+ } else {
437
+ stream << val;
438
+ }
439
+ }
440
+ inline int normalized_in(std::istream& stream, double& ret) {
441
+ std::streampos start = stream.tellg();
442
+ stream >> ret;
443
+ // Failed to interpret as double?
444
+ if (stream.fail()) {
445
+ // Clear error flag
446
+ stream.clear();
447
+ // Reset stream position
448
+ // Need to parse e.g "-inf"
449
+ stream.seekg(start);
450
+ // Might be a inf/nan
451
+ std::string non_reg;
452
+ stream >> non_reg;
453
+ // Break on trailing whitespace
454
+ if (stream.fail()) {
455
+ if (stream.eof()) {
456
+ ret = std::numeric_limits<double>::quiet_NaN();
457
+ return -1; // End of stream
458
+ } else {
459
+ ret = std::numeric_limits<double>::quiet_NaN();
460
+ return 1; // Failed to parse to string
461
+ }
462
+ }
463
+ if (non_reg=="inf") {
464
+ ret = std::numeric_limits<double>::infinity();
465
+ } else if (non_reg=="-inf") {
466
+ ret = -std::numeric_limits<double>::infinity();
467
+ } else if (non_reg=="nan") {
468
+ ret = std::numeric_limits<double>::quiet_NaN();
469
+ } else {
470
+ ret = std::numeric_limits<double>::quiet_NaN();
471
+ return 2; // Failed to interpret as number
472
+ }
473
+ }
474
+ return 0;
475
+ }
476
+
477
+ } // namespace casadi
478
+
479
+ #ifndef SWIG
480
+ // In std namespace
481
+ namespace std {
482
+
483
+ /// Enables flushing an std::vector to a stream (prints representation)
484
+ template<typename T>
485
+ ostream& operator<<(ostream& stream, const vector<T>& v) {
486
+ stream << casadi::str(v);
487
+ return stream;
488
+ }
489
+
490
+ /// Enables flushing an std::set to a stream (prints representation)
491
+ template<typename T>
492
+ ostream& operator<<(ostream& stream, const set<T>& v) {
493
+ stream << casadi::str(v);
494
+ return stream;
495
+ }
496
+
497
+ template<typename T1, typename T2>
498
+ ostream& operator<<(ostream& stream, const pair<T1, T2>& p) {
499
+ stream << casadi::str(p);
500
+ return stream;
501
+ }
502
+
503
+ template<typename T1, typename T2>
504
+ ostream& operator<<(ostream& stream, const std::map<T1, T2>& p) {
505
+ stream << casadi::str(p);
506
+ return stream;
507
+ }
508
+
509
+ template<typename T2>
510
+ ostream& operator<<(ostream& stream, const std::map<std::string, T2>& p) {
511
+ stream << casadi::str(p);
512
+ return stream;
513
+ }
514
+
515
+ template<typename T>
516
+ bool mul_overflows(const T& a, const T& b) {
517
+ if (a==0 || b==0) return false;
518
+ return abs(std::numeric_limits<T>::max()/a) < abs(b);
519
+ }
520
+
521
+ } // namespace std
522
+
523
+ // Implementations
524
+ namespace casadi {
525
+
526
+ template<typename T, typename S>
527
+ std::vector<T> vector_static_cast(const std::vector<S>& rhs) {
528
+ std::vector<T> ret;
529
+ ret.reserve(rhs.size());
530
+ for (auto e : rhs) ret.push_back(static_cast<T>(e));
531
+ return ret;
532
+ }
533
+
534
+ template<typename T>
535
+ std::vector<T> vector_slice(const std::vector<T> &v, const std::vector<casadi_int> &i) {
536
+ std::vector<T> ret;
537
+ ret.reserve(i.size());
538
+ for (casadi_int k=0;k<i.size();++k) {
539
+ casadi_int j = i[k];
540
+ casadi_assert(j>=0,
541
+ "vector_slice: Indices should be larger than zero."
542
+ "You have " + str(j) + " at location " + str(k) + ".");
543
+ casadi_assert(j<v.size(),
544
+ "vector_slice: Indices should be larger than zero."
545
+ "You have " + str(j) + " at location " + str(k) + ".");
546
+ ret.push_back(v[j]);
547
+ }
548
+ return ret;
549
+ }
550
+
551
+ template<typename T>
552
+ std::vector<T> vector_select(const std::vector<T> &v, const std::vector<bool> &s, bool invert) {
553
+ std::vector<T> ret;
554
+ casadi_assert(v.size()==s.size(), "Dimension mismatch.");
555
+ if (invert) {
556
+ for (casadi_int k=0;k<s.size();++k) {
557
+ if (!s[k]) ret.push_back(v[k]);
558
+ }
559
+ } else {
560
+ for (casadi_int k=0;k<s.size();++k) {
561
+ if (s[k]) ret.push_back(v[k]);
562
+ }
563
+ }
564
+ return ret;
565
+ }
566
+
567
+ template<typename T>
568
+ std::vector<T> vector_tail(const std::vector<T> &v) {
569
+ std::vector<T> ret;
570
+ ret.insert(ret.begin(), v.begin()+1, v.end());
571
+ return ret;
572
+ }
573
+
574
+ template<typename T>
575
+ std::vector<T> vector_init(const std::vector<T> &v) {
576
+ std::vector<T> ret;
577
+ ret.insert(ret.begin(), v.begin(), v.begin()+v.size()-1);
578
+ return ret;
579
+ }
580
+
581
+ template<typename T>
582
+ std::vector<T> reverse(const std::vector<T> &v) {
583
+ std::vector<T> ret(v.size());
584
+ std::reverse_copy(v.begin(), v.end(), ret.begin());
585
+ return ret;
586
+ }
587
+
588
+ template<typename T>
589
+ std::vector<T> join(const std::vector<T> &a, const std::vector<T> &b) {
590
+ std::vector<T> ret = a;
591
+ ret.insert(ret.end(), b.begin(), b.end());
592
+ return ret;
593
+ }
594
+
595
+ template<typename T>
596
+ std::vector<T> join(const std::vector<T> &a, const std::vector<T> &b, const std::vector<T> &c) {
597
+ std::vector<T> ret = a;
598
+ ret.insert(ret.end(), b.begin(), b.end());
599
+ ret.insert(ret.end(), c.begin(), c.end());
600
+ return ret;
601
+ }
602
+
603
+ template<typename T>
604
+ std::vector<T> permute(const std::vector<T> &a, const std::vector<casadi_int> &order) {
605
+ casadi_assert_dev(order.size()==a.size());
606
+ casadi_assert_dev(is_permutation(order));
607
+ return vector_slice(a, order);
608
+ }
609
+
610
+ template<typename T>
611
+ std::vector<casadi_int> find(const std::vector<T> &v) {
612
+ std::vector<casadi_int> ret;
613
+ for (casadi_int i=0;i<v.size();++i) {
614
+ if (v[i]) ret.push_back(i);
615
+ }
616
+ return ret;
617
+ }
618
+
619
+ #ifndef SWIG
620
+ template<class T>
621
+ std::vector<T> applymap(T (*f)(const T&) , const std::vector<T>& comp) {
622
+ std::vector<T> ret(comp.size());
623
+ std::transform(comp.begin(), comp.end(), ret.begin(), f);
624
+ return ret;
625
+ }
626
+
627
+ template<class T>
628
+ void applymap(void (*f)(T &), std::vector<T>& comp) {
629
+ std::for_each(comp.begin(), comp.end(), f);
630
+ }
631
+
632
+ template<class S, class D>
633
+ void copy_vector(const std::vector<S>& s, std::vector<D>& d) {
634
+ casadi_assert(s.size()==d.size(), "Dimension mismatch.");
635
+ std::copy(s.begin(), s.end(), d.begin());
636
+ }
637
+
638
+ template<class S, class D>
639
+ void assign_vector(const std::vector<S>& s, std::vector<D>& d) {
640
+ casadi_assert(d.empty(), "Receiving vector must be empty");
641
+ d.resize(s.size());
642
+ std::copy(s.begin(), s.end(), d.begin());
643
+ }
644
+
645
+ template<class S, class D>
646
+ void copy_vector(const S* s, std::vector<D>& d) {
647
+ for (casadi_int i=0;i<d.size();++i) {
648
+ d[i] = static_cast<D>(s[i]);
649
+ }
650
+ }
651
+
652
+ template<class S, class D>
653
+ void init_vector(std::vector<S>& d, const std::vector<D>& s) {
654
+ d.resize(s.size());
655
+ std::copy(s.begin(), s.end(), d.begin());
656
+ }
657
+ #endif //SWIG
658
+
659
+ template<typename T>
660
+ bool in_range(const std::vector<T> &v, casadi_int upper) {
661
+ return in_range(v, 0, upper);
662
+ }
663
+
664
+ template<typename T>
665
+ bool in_range(const std::vector<T> &v, casadi_int lower, casadi_int upper) {
666
+ if (v.empty()) return true;
667
+ casadi_int max = *std::max_element(v.begin(), v.end());
668
+ if (max >= upper) return false;
669
+ casadi_int min = *std::min_element(v.begin(), v.end());
670
+ return (min >= lower);
671
+ }
672
+
673
+ template<class T, class S>
674
+ void flatten_nested_vector(const std::vector< std::vector<T> >& nested,
675
+ std::vector<S>& flat) {
676
+ // Count total elements in nested
677
+ casadi_int N = 0;
678
+ for (const auto& e : nested) {
679
+ N += e.size();
680
+ }
681
+
682
+ // Populate flat, one nested section at a time
683
+ flat.clear();
684
+ flat.reserve(N);
685
+ for (const auto& e : nested) {
686
+ flat.insert(flat.end(), e.begin(), e.end());
687
+ }
688
+ }
689
+
690
+ template<class T, class S, class I>
691
+ void flatten_nested_vector(const std::vector< std::vector<T> >& nested,
692
+ std::vector<S>& flat,
693
+ std::vector<I>& indices) {
694
+ // Delegate
695
+ flatten_nested_vector(nested, flat);
696
+
697
+ // Build up indices
698
+ casadi_int N = nested.size();
699
+ indices.resize(1, 0);
700
+ indices.reserve(N+1);
701
+ casadi_int offset = 0;
702
+ for (const auto& e : nested) {
703
+ offset += e.size();
704
+ indices.push_back(offset);
705
+ }
706
+ }
707
+
708
+ template<typename T>
709
+ bool isUnique(const std::vector<T> &v) {
710
+ std::set<T> s(v.begin(), v.end());
711
+ return v.size()==s.size();
712
+ }
713
+
714
+ template<typename T>
715
+ bool is_increasing(const std::vector<T> &v) {
716
+ if (v.empty()) return true;
717
+ T el = v[0];
718
+ for (casadi_int i=1;i<v.size();++i) {
719
+ if (!(v[i] > el)) return false;
720
+ el = v[i];
721
+ }
722
+ return el==el; // nan -> false
723
+ }
724
+
725
+ template<typename T>
726
+ bool is_decreasing(const std::vector<T> &v) {
727
+ if (v.empty()) return true;
728
+ T el = v[0];
729
+ for (casadi_int i=1;i<v.size();++i) {
730
+ if (!(v[i] < el)) return false;
731
+ el = v[i];
732
+ }
733
+ return el==el; // nan -> false
734
+ }
735
+
736
+ template<typename T>
737
+ bool is_nonincreasing(const std::vector<T> &v) {
738
+ if (v.empty()) return true;
739
+ T el = v[0];
740
+ for (casadi_int i=1;i<v.size();++i) {
741
+ if (!(v[i] <= el)) return false;
742
+ el = v[i];
743
+ }
744
+ return el==el; // nan -> false
745
+ }
746
+
747
+ template<typename T>
748
+ bool is_nondecreasing(const std::vector<T> &v) {
749
+ if (v.empty()) return true;
750
+ T el = v[0];
751
+ for (casadi_int i=1;i<v.size();++i) {
752
+ if (!(v[i] >= el)) return false;
753
+ el = v[i];
754
+ }
755
+ return el==el; // nan -> false
756
+ }
757
+
758
+ template<typename T>
759
+ bool is_monotone(const std::vector<T> &v) {
760
+ return is_nondecreasing(v) || is_nonincreasing(v);
761
+ }
762
+
763
+ template<typename T>
764
+ bool is_strictly_monotone(const std::vector<T> &v) {
765
+ return is_decreasing(v) || is_increasing(v);
766
+ }
767
+
768
+ template<typename T>
769
+ bool has_negative(const std::vector<T> &v) {
770
+ for (std::size_t i=0; i<v.size(); ++i) {
771
+ if (v[i]<0) return true;
772
+ }
773
+ return false;
774
+ }
775
+
776
+ template<typename T>
777
+ void write_matlab(std::ostream &stream, const std::vector<T> &v) {
778
+ std::copy(v.begin(), v.end(), std::ostream_iterator<T>(stream, " "));
779
+ }
780
+
781
+ template<typename T>
782
+ void write_matlab(std::ostream &stream, const std::vector<std::vector<T> > &v) {
783
+ for (casadi_uint i=0; i<v.size(); ++i) {
784
+ std::copy(v[i].begin(), v[i].end(), std::ostream_iterator<T>(stream, " "));
785
+ stream << std::endl;
786
+ }
787
+ }
788
+
789
+ template<typename T>
790
+ void read_matlab(std::istream &stream, std::vector<T> &v) {
791
+ v.clear();
792
+
793
+ while (!stream.eof()) {
794
+ T val;
795
+ stream >> val;
796
+ if (stream.fail()) {
797
+ stream.clear();
798
+ std::string s;
799
+ stream >> s;
800
+ if (s=="inf")
801
+ val = std::numeric_limits<T>::infinity();
802
+ else
803
+ break;
804
+ }
805
+ v.push_back(val);
806
+ }
807
+ }
808
+
809
+ template<typename T>
810
+ void read_matlab(std::ifstream &file, std::vector<std::vector<T> > &v) {
811
+ v.clear();
812
+ std::string line;
813
+ while (!getline(file, line, '\n').eof()) {
814
+ std::istringstream reader(line);
815
+ std::vector<T> lineData;
816
+
817
+ while (!reader.eof()) {
818
+ T val;
819
+ reader >> val;
820
+ if (reader.fail()) {
821
+ reader.clear();
822
+ std::string s;
823
+ reader >> s;
824
+ if (s=="inf")
825
+ val = std::numeric_limits<T>::infinity();
826
+ else
827
+ break;
828
+ }
829
+ lineData.push_back(val);
830
+ }
831
+ v.push_back(lineData);
832
+ }
833
+ }
834
+
835
+ template<typename T, typename F, typename L>
836
+ void linspace(std::vector<T> &v, const F& first, const L& last) {
837
+ if (v.size()<2)
838
+ throw CasadiException("std::linspace: vector must contain at least two elements");
839
+
840
+ // Increment
841
+ T increment = (last-first)/T(v.size()-1);
842
+
843
+ v[0] = first;
844
+ for (unsigned i=1; i<v.size()-1; ++i)
845
+ v[i] = v[i-1] + increment;
846
+ v[v.size()-1] = last;
847
+ }
848
+
849
+ template<typename T>
850
+ T* get_ptr(std::vector<T> &v) {
851
+ if (v.empty())
852
+ return nullptr;
853
+ else
854
+ return &v.front();
855
+ }
856
+
857
+ template<typename T>
858
+ const T* get_ptr(const std::vector<T> &v) {
859
+ if (v.empty())
860
+ return nullptr;
861
+ else
862
+ return &v.front();
863
+ }
864
+
865
+ // Helper class
866
+ template<typename T>
867
+ struct sortCompare {
868
+ const std::vector<T> &v_;
869
+ sortCompare(const std::vector<T> &v) : v_(v) {}
870
+ bool operator() (casadi_int i, casadi_int j) const { return v_[i]<v_[j];}
871
+ };
872
+
873
+ template<typename T>
874
+ void sort(const std::vector<T> &values, std::vector<T> &sorted_values,
875
+ std::vector<casadi_int> &indices, bool invert_indices) {
876
+ // Call recursively if indices need to be inverted
877
+ if (invert_indices) {
878
+ std::vector<casadi_int> inverted;
879
+ sort(values, sorted_values, inverted, false);
880
+ indices.resize(inverted.size());
881
+ for (size_t i=0; i<inverted.size(); ++i) {
882
+ indices[inverted[i]] = i;
883
+ }
884
+ return;
885
+ }
886
+
887
+ // Create list of indices
888
+ indices.resize(values.size());
889
+ for (size_t i=0; i<indices.size(); ++i) indices[i] = i;
890
+
891
+ // Sort this list by the values
892
+ std::sort(indices.begin(), indices.end(), sortCompare<T>(values));
893
+
894
+ // Sort the values accordingly
895
+ sorted_values.resize(values.size());
896
+ for (size_t i=0; i<values.size(); ++i) {
897
+ sorted_values[i] = values[indices[i]];
898
+ }
899
+ }
900
+
901
+ template<typename T>
902
+ T product(const std::vector<T> &values) {
903
+ T r = 1;
904
+ for (casadi_int i=0;i<values.size();++i) r*=values[i];
905
+ return r;
906
+ }
907
+
908
+ template<typename T>
909
+ T sum(const std::vector<T> &values) {
910
+ T r = 0;
911
+ for (casadi_int i=0;i<values.size();++i) r+=values[i];
912
+ return r;
913
+ }
914
+
915
+ template<typename T>
916
+ std::vector<T> cumsum(const std::vector<T> &values) {
917
+ std::vector<T> ret(values.size());
918
+ T acc = 0;
919
+ for (casadi_int i=0;i<values.size();++i) {
920
+ acc+= values[i];
921
+ ret[i] = acc;
922
+ }
923
+ return ret;
924
+ }
925
+
926
+ template<typename T>
927
+ std::vector<T> cumsum0(const std::vector<T> &values) {
928
+ std::vector<T> ret(values.size()+1, 0);
929
+ T acc = 0;
930
+ for (casadi_int i=0;i<values.size();++i) {
931
+ acc+= values[i];
932
+ ret[i+1] = acc;
933
+ }
934
+ return ret;
935
+ }
936
+
937
+ template<typename T>
938
+ std::vector<T> diff(const std::vector<T> &values) {
939
+ casadi_assert(!values.empty(), "Array must be non-empty");
940
+ std::vector<T> ret(values.size()-1);
941
+ for (casadi_int i=0;i<values.size()-1;++i) {
942
+ ret[i] = values[i+1]-values[i];
943
+ }
944
+ return ret;
945
+ }
946
+
947
+ template<typename T>
948
+ T dot(const std::vector<T>& a, const std::vector<T>& b) {
949
+ T ret = 0;
950
+ for (casadi_int k=0; k<a.size(); ++k) {
951
+ ret += a[k]*b[k];
952
+ }
953
+ return ret;
954
+ }
955
+
956
+ template<typename T>
957
+ T norm_inf(const std::vector<T>& x) {
958
+ T ret = 0;
959
+ for (casadi_int k=0; k<x.size(); ++k) {
960
+ ret = fmax(ret, fabs(x[k]));
961
+ }
962
+ return ret;
963
+ }
964
+
965
+ template<typename T>
966
+ T norm_1(const std::vector<T>& x) {
967
+ T ret = 0;
968
+ for (casadi_int k=0; k<x.size(); ++k) {
969
+ ret += fabs(x[k]);
970
+ }
971
+ return ret;
972
+ }
973
+
974
+ template<typename T>
975
+ T norm_2(const std::vector<T>& x) {
976
+ T ret = 0;
977
+ for (casadi_int k=0; k<x.size(); ++k) {
978
+ ret += x[k]*x[k];
979
+ }
980
+ return sqrt(ret);
981
+ }
982
+
983
+ template<typename T>
984
+ bvec_t* get_bvec_t(std::vector<T>& v) {
985
+ casadi_assert(0, "get_bvec_t only supported for double");
986
+ }
987
+
988
+ template<typename T>
989
+ const bvec_t* get_bvec_t(const std::vector<T>& v) {
990
+ casadi_assert(0, "get_bvec_t only supported for double");
991
+ }
992
+
993
+ ///@{
994
+ /// Readability typedefs
995
+ typedef std::vector<std::string> StringVector;
996
+ ///@}
997
+
998
+ } // namespace casadi
999
+ #endif // SWIG
1000
+
1001
+ #endif // CASADI_MISC_HPP