casadi 3.6.7__cp311-none-manylinux2014_i686.whl → 3.7.0__cp311-none-manylinux2014_i686.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 (380) hide show
  1. casadi/_casadi.so +0 -0
  2. casadi/casadi-cli +0 -0
  3. casadi/casadi.py +6070 -3038
  4. casadi/cbc +0 -0
  5. casadi/clp +0 -0
  6. casadi/cmake/casadi-config-version.cmake +1 -1
  7. casadi/cmake/casadi-targets-release.cmake +5 -5
  8. casadi/cmake/casadi-targets.cmake +5 -5
  9. casadi/{lib/cmake/tinyxml2/tinyxml2-config-version.cmake → cmake/ghc_filesystem/ghc_filesystem-config-version.cmake} +30 -10
  10. casadi/cmake/ghc_filesystem/ghc_filesystem-config.cmake +30 -0
  11. casadi/cmake/ghc_filesystem/ghc_filesystem-targets.cmake +107 -0
  12. casadi/cmake/highs/highs-targets-release.cmake +2 -2
  13. casadi/cmake/highs/highs-targets.cmake +1 -1
  14. casadi/cmake/libzip/libzip-config-version.cmake +48 -0
  15. casadi/cmake/libzip/libzip-config.cmake +69 -0
  16. casadi/cmake/libzip/libzip-targets-release.cmake +19 -0
  17. casadi/{lib/cmake/tinyxml2/tinyxml2-static-targets.cmake → cmake/libzip/libzip-targets.cmake} +11 -7
  18. casadi/cmake/libzip/modules/FindMbedTLS.cmake +141 -0
  19. casadi/cmake/libzip/modules/FindNettle.cmake +141 -0
  20. casadi/cmake/libzip/modules/Findzstd.cmake +186 -0
  21. casadi/highs +0 -0
  22. casadi/include/casadi/casadi.i +194 -44
  23. casadi/include/casadi/config.h +11 -11
  24. casadi/include/casadi/core/archiver.hpp +58 -0
  25. casadi/include/casadi/core/blazing_spline.hpp +47 -0
  26. casadi/include/casadi/core/calculus.hpp +57 -2
  27. casadi/include/casadi/core/casadi_common.hpp +37 -0
  28. casadi/include/casadi/core/casadi_meta.hpp +15 -0
  29. casadi/include/casadi/core/casadi_misc.hpp +7 -0
  30. casadi/include/casadi/core/code_generator.hpp +95 -17
  31. casadi/include/casadi/core/core.hpp +5 -0
  32. casadi/include/casadi/core/dae_builder.hpp +283 -141
  33. casadi/include/casadi/core/dm.hpp +3 -0
  34. casadi/include/casadi/core/filesystem.hpp +58 -0
  35. casadi/include/casadi/core/fmu.hpp +51 -16
  36. casadi/include/casadi/core/function.hpp +19 -0
  37. casadi/include/casadi/core/generic_matrix.hpp +214 -7
  38. casadi/include/casadi/core/generic_shared.hpp +318 -0
  39. casadi/include/casadi/core/generic_shared_impl.hpp +214 -0
  40. casadi/include/casadi/core/generic_shared_internal.hpp +215 -0
  41. casadi/include/casadi/core/generic_type.hpp +3 -0
  42. casadi/include/casadi/core/global_options.hpp +10 -0
  43. casadi/include/casadi/core/integrator.hpp +41 -7
  44. casadi/include/casadi/core/matrix_decl.hpp +67 -0
  45. casadi/include/casadi/core/mx.hpp +63 -2
  46. casadi/include/casadi/core/options.hpp +6 -3
  47. casadi/include/casadi/core/optistack.hpp +43 -9
  48. casadi/include/casadi/core/printable.hpp +8 -0
  49. casadi/include/casadi/core/resource.hpp +107 -0
  50. casadi/include/casadi/core/runtime/casadi_blazing_1d_boor_eval.hpp +112 -0
  51. casadi/include/casadi/core/runtime/casadi_blazing_2d_boor_eval.hpp +311 -0
  52. casadi/include/casadi/core/runtime/casadi_blazing_3d_boor_eval.hpp +645 -0
  53. casadi/include/casadi/core/runtime/casadi_blazing_de_boor.hpp +101 -0
  54. casadi/include/casadi/core/runtime/casadi_nlp.hpp +8 -2
  55. casadi/include/casadi/core/runtime/casadi_printme.hpp +25 -0
  56. casadi/include/casadi/core/serializer.hpp +12 -4
  57. casadi/include/casadi/core/serializing_stream.hpp +3 -0
  58. casadi/include/casadi/core/shared_object.hpp +73 -161
  59. casadi/include/casadi/core/sparsity.hpp +13 -1
  60. casadi/include/casadi/core/sparsity_interface.hpp +19 -1
  61. casadi/include/casadi/core/sx.hpp +41 -0
  62. casadi/include/casadi/core/sx_elem.hpp +25 -0
  63. casadi/include/casadi/core/xml_node.hpp +5 -0
  64. casadi/include/casadi/doc.i +9703 -6539
  65. casadi/include/casadi/doc_merged.i +6483 -4447
  66. casadi/include/casadi/valgrind-casadi.supp +138 -0
  67. casadi/include/casadi/valgrind-python.supp +2470 -0
  68. casadi/include/highs/HConfig.h +6 -4
  69. casadi/include/highs/Highs.h +260 -86
  70. casadi/include/highs/filereaderlp/reader.hpp +10 -10
  71. casadi/include/highs/interfaces/highs_c_api.h +195 -22
  72. casadi/include/highs/io/Filereader.h +4 -6
  73. casadi/include/highs/io/FilereaderEms.h +0 -3
  74. casadi/include/highs/io/FilereaderLp.h +0 -3
  75. casadi/include/highs/io/FilereaderMps.h +0 -3
  76. casadi/include/highs/io/HMPSIO.h +1 -4
  77. casadi/include/highs/io/HMpsFF.h +8 -5
  78. casadi/include/highs/io/HighsIO.h +10 -5
  79. casadi/include/highs/io/LoadOptions.h +0 -3
  80. casadi/include/highs/ipm/IpxSolution.h +0 -3
  81. casadi/include/highs/ipm/IpxWrapper.h +4 -7
  82. casadi/include/highs/ipm/ipx/control.h +1 -0
  83. casadi/include/highs/ipm/ipx/ipx_parameters.h +1 -0
  84. casadi/include/highs/ipm/ipx/lp_solver.h +3 -2
  85. casadi/include/highs/ipm/ipx/model.h +7 -3
  86. casadi/include/highs/lp_data/HConst.h +21 -6
  87. casadi/include/highs/lp_data/HStruct.h +40 -4
  88. casadi/include/highs/lp_data/HighsAnalysis.h +0 -3
  89. casadi/include/highs/lp_data/HighsCallback.h +10 -3
  90. casadi/include/highs/lp_data/HighsCallbackStruct.h +3 -3
  91. casadi/include/highs/lp_data/HighsDebug.h +0 -3
  92. casadi/include/highs/lp_data/HighsIis.h +62 -0
  93. casadi/include/highs/lp_data/HighsInfo.h +50 -43
  94. casadi/include/highs/lp_data/HighsInfoDebug.h +0 -3
  95. casadi/include/highs/lp_data/HighsLp.h +2 -3
  96. casadi/include/highs/lp_data/HighsLpSolverObject.h +0 -3
  97. casadi/include/highs/lp_data/HighsLpUtils.h +38 -6
  98. casadi/include/highs/lp_data/HighsModelUtils.h +21 -18
  99. casadi/include/highs/lp_data/HighsOptions.h +134 -22
  100. casadi/include/highs/lp_data/HighsRanging.h +0 -3
  101. casadi/include/highs/lp_data/HighsSolution.h +10 -3
  102. casadi/include/highs/lp_data/HighsSolutionDebug.h +0 -3
  103. casadi/include/highs/lp_data/HighsSolve.h +0 -3
  104. casadi/include/highs/lp_data/HighsStatus.h +0 -3
  105. casadi/include/highs/mip/HighsCliqueTable.h +3 -3
  106. casadi/include/highs/mip/HighsConflictPool.h +0 -3
  107. casadi/include/highs/mip/HighsCutGeneration.h +13 -3
  108. casadi/include/highs/mip/HighsCutPool.h +0 -3
  109. casadi/include/highs/mip/HighsDebugSol.h +0 -3
  110. casadi/include/highs/mip/HighsDomain.h +16 -4
  111. casadi/include/highs/mip/HighsDomainChange.h +0 -3
  112. casadi/include/highs/mip/HighsDynamicRowMatrix.h +0 -3
  113. casadi/include/highs/mip/HighsGFkSolve.h +3 -6
  114. casadi/include/highs/mip/HighsImplications.h +29 -5
  115. casadi/include/highs/mip/HighsLpAggregator.h +0 -3
  116. casadi/include/highs/mip/HighsLpRelaxation.h +0 -3
  117. casadi/include/highs/mip/HighsMipAnalysis.h +52 -0
  118. casadi/include/highs/mip/HighsMipSolver.h +11 -4
  119. casadi/include/highs/mip/HighsMipSolverData.h +67 -6
  120. casadi/include/highs/mip/HighsModkSeparator.h +1 -4
  121. casadi/include/highs/mip/HighsNodeQueue.h +0 -3
  122. casadi/include/highs/mip/HighsObjectiveFunction.h +0 -3
  123. casadi/include/highs/mip/HighsPathSeparator.h +1 -4
  124. casadi/include/highs/mip/HighsPrimalHeuristics.h +7 -5
  125. casadi/include/highs/mip/HighsPseudocost.h +0 -3
  126. casadi/include/highs/mip/HighsRedcostFixing.h +0 -3
  127. casadi/include/highs/mip/HighsSearch.h +0 -3
  128. casadi/include/highs/mip/HighsSeparation.h +0 -3
  129. casadi/include/highs/mip/HighsSeparator.h +1 -5
  130. casadi/include/highs/mip/HighsTableauSeparator.h +1 -4
  131. casadi/include/highs/mip/HighsTransformedLp.h +0 -3
  132. casadi/include/highs/mip/MipTimer.h +471 -0
  133. casadi/include/highs/parallel/HighsBinarySemaphore.h +1 -1
  134. casadi/include/highs/parallel/HighsCacheAlign.h +1 -1
  135. casadi/include/highs/parallel/HighsCombinable.h +1 -1
  136. casadi/include/highs/parallel/HighsMutex.h +1 -1
  137. casadi/include/highs/parallel/HighsRaceTimer.h +1 -1
  138. casadi/include/highs/parallel/HighsSchedulerConstants.h +1 -1
  139. casadi/include/highs/parallel/HighsSplitDeque.h +1 -1
  140. casadi/include/highs/parallel/HighsTaskExecutor.h +68 -55
  141. casadi/include/highs/pdlp/CupdlpWrapper.h +18 -7
  142. casadi/include/highs/pdlp/cupdlp/cupdlp_cs.h +2 -3
  143. casadi/include/highs/pdlp/cupdlp/cupdlp_defs.h +16 -6
  144. casadi/include/highs/pdlp/cupdlp/cupdlp_linalg.h +10 -4
  145. casadi/include/highs/pdlp/cupdlp/cupdlp_proj.h +3 -3
  146. casadi/include/highs/pdlp/cupdlp/cupdlp_restart.h +6 -6
  147. casadi/include/highs/pdlp/cupdlp/cupdlp_scaling.h +26 -0
  148. casadi/include/highs/pdlp/cupdlp/cupdlp_solver.h +11 -11
  149. casadi/include/highs/pdlp/cupdlp/cupdlp_step.h +8 -4
  150. casadi/include/highs/pdlp/cupdlp/cupdlp_utils.c +253 -172
  151. casadi/include/highs/presolve/HPresolve.h +50 -10
  152. casadi/include/highs/presolve/HPresolveAnalysis.h +0 -3
  153. casadi/include/highs/presolve/HighsPostsolveStack.h +39 -6
  154. casadi/include/highs/presolve/HighsSymmetry.h +0 -3
  155. casadi/include/highs/presolve/ICrash.h +0 -3
  156. casadi/include/highs/presolve/ICrashUtil.h +1 -4
  157. casadi/include/highs/presolve/ICrashX.h +0 -3
  158. casadi/include/highs/presolve/PresolveComponent.h +0 -3
  159. casadi/include/highs/qpsolver/a_asm.hpp +20 -17
  160. casadi/include/highs/qpsolver/a_quass.hpp +5 -9
  161. casadi/include/highs/qpsolver/basis.hpp +12 -10
  162. casadi/include/highs/qpsolver/crashsolution.hpp +4 -3
  163. casadi/include/highs/qpsolver/dantzigpricing.hpp +3 -2
  164. casadi/include/highs/qpsolver/devexpricing.hpp +3 -1
  165. casadi/include/highs/qpsolver/factor.hpp +6 -5
  166. casadi/include/highs/qpsolver/feasibility_bounded.hpp +31 -29
  167. casadi/include/highs/qpsolver/feasibility_highs.hpp +94 -70
  168. casadi/include/highs/qpsolver/gradient.hpp +1 -1
  169. casadi/include/highs/qpsolver/instance.hpp +1 -1
  170. casadi/include/highs/qpsolver/pricing.hpp +2 -2
  171. casadi/include/highs/qpsolver/qpconst.hpp +2 -2
  172. casadi/include/highs/qpsolver/quass.hpp +2 -2
  173. casadi/include/highs/qpsolver/runtime.hpp +2 -2
  174. casadi/include/highs/qpsolver/settings.hpp +20 -8
  175. casadi/include/highs/qpsolver/steepestedgepricing.hpp +38 -39
  176. casadi/include/highs/simplex/HApp.h +88 -34
  177. casadi/include/highs/simplex/HEkk.h +24 -11
  178. casadi/include/highs/simplex/HEkkDual.h +2 -4
  179. casadi/include/highs/simplex/HEkkDualRHS.h +0 -3
  180. casadi/include/highs/simplex/HEkkDualRow.h +0 -3
  181. casadi/include/highs/simplex/HEkkPrimal.h +1 -5
  182. casadi/include/highs/simplex/HSimplex.h +0 -3
  183. casadi/include/highs/simplex/HSimplexDebug.h +0 -3
  184. casadi/include/highs/simplex/HSimplexNla.h +0 -26
  185. casadi/include/highs/simplex/HSimplexReport.h +0 -3
  186. casadi/include/highs/simplex/HighsSimplexAnalysis.h +5 -8
  187. casadi/include/highs/simplex/SimplexConst.h +10 -11
  188. casadi/include/highs/simplex/SimplexStruct.h +9 -12
  189. casadi/include/highs/simplex/SimplexTimer.h +83 -101
  190. casadi/include/highs/test/DevKkt.h +0 -3
  191. casadi/include/highs/test/KktCh2.h +0 -3
  192. casadi/include/highs/util/FactorTimer.h +39 -64
  193. casadi/include/highs/util/HFactor.h +4 -4
  194. casadi/include/highs/util/HFactorConst.h +0 -3
  195. casadi/include/highs/util/HFactorDebug.h +0 -3
  196. casadi/include/highs/util/HSet.h +0 -3
  197. casadi/include/highs/util/HVector.h +0 -3
  198. casadi/include/highs/util/HVectorBase.h +1 -4
  199. casadi/include/highs/util/HighsCDouble.h +12 -3
  200. casadi/include/highs/util/HighsComponent.h +0 -3
  201. casadi/include/highs/util/HighsDataStack.h +0 -3
  202. casadi/include/highs/util/HighsDisjointSets.h +0 -3
  203. casadi/include/highs/util/HighsHash.h +9 -12
  204. casadi/include/highs/util/HighsHashTree.h +15 -11
  205. casadi/include/highs/util/HighsInt.h +0 -3
  206. casadi/include/highs/util/HighsIntegers.h +0 -3
  207. casadi/include/highs/util/HighsLinearSumBounds.h +0 -3
  208. casadi/include/highs/util/HighsMatrixPic.h +0 -3
  209. casadi/include/highs/util/HighsMatrixSlice.h +3 -6
  210. casadi/include/highs/util/HighsMatrixUtils.h +0 -3
  211. casadi/include/highs/util/HighsMemoryAllocation.h +11 -3
  212. casadi/include/highs/util/HighsRandom.h +3 -6
  213. casadi/include/highs/util/HighsRbTree.h +0 -3
  214. casadi/include/highs/util/HighsSort.h +0 -3
  215. casadi/include/highs/util/HighsSparseMatrix.h +6 -3
  216. casadi/include/highs/util/HighsSparseVectorSum.h +0 -3
  217. casadi/include/highs/util/HighsSplay.h +0 -3
  218. casadi/include/highs/util/HighsTimer.h +94 -56
  219. casadi/include/highs/util/HighsUtils.h +10 -3
  220. casadi/include/highs/util/stringutil.h +14 -12
  221. casadi/include/licenses/ghc-external/LICENSE +19 -0
  222. casadi/include/licenses/libz-external/LICENSE +22 -0
  223. casadi/include/licenses/libz-external/contrib/dotzlib/LICENSE_1_0.txt +23 -0
  224. casadi/include/licenses/libzip-external/LICENSE +31 -0
  225. casadi/libCbcSolver.so +0 -0
  226. casadi/libCbcSolver.so.3 +0 -0
  227. casadi/libCbcSolver.so.3.10.11 +0 -0
  228. casadi/libClpSolver.so +0 -0
  229. casadi/libClpSolver.so.1 +0 -0
  230. casadi/libClpSolver.so.1.14.9 +0 -0
  231. casadi/libbonmin.so +0 -0
  232. casadi/libbonmin.so.4 +0 -0
  233. casadi/libbonmin.so.4.8.9 +0 -0
  234. casadi/libcasadi.so +0 -0
  235. casadi/libcasadi.so.3.7 +0 -0
  236. casadi/libcasadi_archiver_libzip.so +0 -0
  237. casadi/libcasadi_archiver_libzip.so.3.7 +0 -0
  238. casadi/libcasadi_conic_cbc.so +0 -0
  239. casadi/libcasadi_conic_cbc.so.3.7 +0 -0
  240. casadi/libcasadi_conic_clp.so +0 -0
  241. casadi/libcasadi_conic_clp.so.3.7 +0 -0
  242. casadi/libcasadi_conic_daqp.so +0 -0
  243. casadi/libcasadi_conic_daqp.so.3.7 +0 -0
  244. casadi/libcasadi_conic_gurobi.so +0 -0
  245. casadi/libcasadi_conic_gurobi.so.3.7 +0 -0
  246. casadi/libcasadi_conic_highs.so +0 -0
  247. casadi/libcasadi_conic_highs.so.3.7 +0 -0
  248. casadi/libcasadi_conic_ipqp.so +0 -0
  249. casadi/libcasadi_conic_ipqp.so.3.7 +0 -0
  250. casadi/libcasadi_conic_nlpsol.so +0 -0
  251. casadi/libcasadi_conic_nlpsol.so.3.7 +0 -0
  252. casadi/libcasadi_conic_osqp.so +0 -0
  253. casadi/libcasadi_conic_osqp.so.3.7 +0 -0
  254. casadi/libcasadi_conic_proxqp.so +0 -0
  255. casadi/libcasadi_conic_proxqp.so.3.7 +0 -0
  256. casadi/libcasadi_conic_qpoases.so +0 -0
  257. casadi/libcasadi_conic_qpoases.so.3.7 +0 -0
  258. casadi/libcasadi_conic_qrqp.so +0 -0
  259. casadi/libcasadi_conic_qrqp.so.3.7 +0 -0
  260. casadi/libcasadi_conic_superscs.so +0 -0
  261. casadi/libcasadi_conic_superscs.so.3.7 +0 -0
  262. casadi/libcasadi_filesystem_ghc.so +0 -0
  263. casadi/libcasadi_filesystem_ghc.so.3.7 +0 -0
  264. casadi/libcasadi_importer_shell.so +0 -0
  265. casadi/libcasadi_importer_shell.so.3.7 +0 -0
  266. casadi/libcasadi_integrator_collocation.so +0 -0
  267. casadi/libcasadi_integrator_collocation.so.3.7 +0 -0
  268. casadi/libcasadi_integrator_cvodes.so +0 -0
  269. casadi/libcasadi_integrator_cvodes.so.3.7 +0 -0
  270. casadi/libcasadi_integrator_idas.so +0 -0
  271. casadi/libcasadi_integrator_idas.so.3.7 +0 -0
  272. casadi/libcasadi_integrator_rk.so +0 -0
  273. casadi/libcasadi_integrator_rk.so.3.7 +0 -0
  274. casadi/libcasadi_interpolant_bspline.so +0 -0
  275. casadi/libcasadi_interpolant_bspline.so.3.7 +0 -0
  276. casadi/libcasadi_interpolant_linear.so +0 -0
  277. casadi/libcasadi_interpolant_linear.so.3.7 +0 -0
  278. casadi/libcasadi_linsol_csparse.so +0 -0
  279. casadi/libcasadi_linsol_csparse.so.3.7 +0 -0
  280. casadi/libcasadi_linsol_csparsecholesky.so +0 -0
  281. casadi/libcasadi_linsol_csparsecholesky.so.3.7 +0 -0
  282. casadi/libcasadi_linsol_lapacklu.so +0 -0
  283. casadi/libcasadi_linsol_lapacklu.so.3.7 +0 -0
  284. casadi/libcasadi_linsol_lapackqr.so +0 -0
  285. casadi/libcasadi_linsol_lapackqr.so.3.7 +0 -0
  286. casadi/libcasadi_linsol_ldl.so +0 -0
  287. casadi/libcasadi_linsol_ldl.so.3.7 +0 -0
  288. casadi/libcasadi_linsol_lsqr.so +0 -0
  289. casadi/libcasadi_linsol_lsqr.so.3.7 +0 -0
  290. casadi/libcasadi_linsol_ma27.so +0 -0
  291. casadi/libcasadi_linsol_ma27.so.3.7 +0 -0
  292. casadi/libcasadi_linsol_mumps.so +0 -0
  293. casadi/libcasadi_linsol_mumps.so.3.7 +0 -0
  294. casadi/libcasadi_linsol_qr.so +0 -0
  295. casadi/libcasadi_linsol_qr.so.3.7 +0 -0
  296. casadi/libcasadi_linsol_symbolicqr.so +0 -0
  297. casadi/libcasadi_linsol_symbolicqr.so.3.7 +0 -0
  298. casadi/libcasadi_linsol_tridiag.so +0 -0
  299. casadi/libcasadi_linsol_tridiag.so.3.7 +0 -0
  300. casadi/libcasadi_nlpsol_alpaqa.so +0 -0
  301. casadi/libcasadi_nlpsol_alpaqa.so.3.7 +0 -0
  302. casadi/libcasadi_nlpsol_ampl.so +0 -0
  303. casadi/libcasadi_nlpsol_ampl.so.3.7 +0 -0
  304. casadi/libcasadi_nlpsol_blocksqp.so +0 -0
  305. casadi/libcasadi_nlpsol_blocksqp.so.3.7 +0 -0
  306. casadi/libcasadi_nlpsol_bonmin.so +0 -0
  307. casadi/libcasadi_nlpsol_bonmin.so.3.7 +0 -0
  308. casadi/libcasadi_nlpsol_feasiblesqpmethod.so +0 -0
  309. casadi/libcasadi_nlpsol_feasiblesqpmethod.so.3.7 +0 -0
  310. casadi/libcasadi_nlpsol_ipopt.so +0 -0
  311. casadi/libcasadi_nlpsol_ipopt.so.3.7 +0 -0
  312. casadi/libcasadi_nlpsol_knitro.so +0 -0
  313. casadi/libcasadi_nlpsol_knitro.so.3.7 +0 -0
  314. casadi/libcasadi_nlpsol_madnlp.so +0 -0
  315. casadi/libcasadi_nlpsol_madnlp.so.3.7 +0 -0
  316. casadi/libcasadi_nlpsol_qrsqp.so +0 -0
  317. casadi/libcasadi_nlpsol_qrsqp.so.3.7 +0 -0
  318. casadi/libcasadi_nlpsol_scpgen.so +0 -0
  319. casadi/libcasadi_nlpsol_scpgen.so.3.7 +0 -0
  320. casadi/libcasadi_nlpsol_sleqp.so +0 -0
  321. casadi/libcasadi_nlpsol_sleqp.so.3.7 +0 -0
  322. casadi/libcasadi_nlpsol_snopt.so +0 -0
  323. casadi/libcasadi_nlpsol_snopt.so.3.7 +0 -0
  324. casadi/libcasadi_nlpsol_sqpmethod.so +0 -0
  325. casadi/libcasadi_nlpsol_sqpmethod.so.3.7 +0 -0
  326. casadi/libcasadi_nlpsol_worhp.so +0 -0
  327. casadi/libcasadi_nlpsol_worhp.so.3.7 +0 -0
  328. casadi/libcasadi_rootfinder_fast_newton.so +0 -0
  329. casadi/libcasadi_rootfinder_fast_newton.so.3.7 +0 -0
  330. casadi/libcasadi_rootfinder_kinsol.so +0 -0
  331. casadi/libcasadi_rootfinder_kinsol.so.3.7 +0 -0
  332. casadi/libcasadi_rootfinder_newton.so +0 -0
  333. casadi/libcasadi_rootfinder_newton.so.3.7 +0 -0
  334. casadi/libcasadi_rootfinder_nlpsol.so +0 -0
  335. casadi/libcasadi_rootfinder_nlpsol.so.3.7 +0 -0
  336. casadi/libcasadi_sundials_common.so +0 -0
  337. casadi/libcasadi_sundials_common.so.3.7 +0 -0
  338. casadi/libcasadi_xmlfile_tinyxml.so +0 -0
  339. casadi/libcasadi_xmlfile_tinyxml.so.3.7 +0 -0
  340. casadi/libcoinmumps.so +0 -0
  341. casadi/libcoinmumps.so.3 +0 -0
  342. casadi/libcoinmumps.so.3.0.1 +0 -0
  343. casadi/libdaqpstat.a +0 -0
  344. casadi/libhighs.so +0 -0
  345. casadi/libhighs.so.1 +0 -0
  346. casadi/libhighs.so.1.10.0 +0 -0
  347. casadi/libindirect.a +0 -0
  348. casadi/libipopt.so +0 -0
  349. casadi/libipopt.so.3 +0 -0
  350. casadi/libipopt.so.3.14.11 +0 -0
  351. casadi/liblinsys.a +0 -0
  352. casadi/libosqp.a +0 -0
  353. casadi/libqdldl.a +0 -0
  354. casadi/libsipopt.so +0 -0
  355. casadi/libsipopt.so.3 +0 -0
  356. casadi/libsipopt.so.3.14.11 +0 -0
  357. casadi/libsleqp.so +0 -0
  358. casadi/libsleqp.so.1.0.1 +0 -0
  359. casadi/libspral.a +0 -0
  360. casadi/libsuperscs.a +0 -0
  361. casadi/libz.a +0 -0
  362. casadi/libz.so +0 -0
  363. casadi/libz.so.1 +0 -0
  364. casadi/libz.so.1.3.1 +0 -0
  365. casadi/libzip.a +0 -0
  366. casadi/pkgconfig/casadi.pc +1 -1
  367. casadi/pkgconfig/highs.pc +1 -1
  368. casadi/pkgconfig/libzip.pc +14 -0
  369. casadi/tools/__init__.py +3 -1
  370. casadi/tools/graph/graph.py +1 -1
  371. casadi/tools/structure3.py +2 -2
  372. {casadi-3.6.7.dist-info → casadi-3.7.0.dist-info}/METADATA +1 -1
  373. {casadi-3.6.7.dist-info → casadi-3.7.0.dist-info}/RECORD +373 -340
  374. casadi/include/tinyxml2.h +0 -2380
  375. casadi/lib/cmake/tinyxml2/tinyxml2-config.cmake +0 -57
  376. casadi/lib/cmake/tinyxml2/tinyxml2-static-targets-release.cmake +0 -19
  377. casadi/lib/libtinyxml2.a +0 -0
  378. casadi/lib/pkgconfig/tinyxml2.pc +0 -10
  379. casadi/tools/structure.py +0 -1446
  380. {casadi-3.6.7.dist-info → casadi-3.7.0.dist-info}/WHEEL +0 -0
@@ -0,0 +1,318 @@
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_GENERIC_SHARED_HPP
27
+ #define CASADI_GENERIC_SHARED_HPP
28
+
29
+ #include "casadi_common.hpp"
30
+ #include "exception.hpp"
31
+ #include <unordered_map>
32
+ #include <vector>
33
+ #ifdef CASADI_WITH_THREAD
34
+ #ifdef CASADI_WITH_THREAD_MINGW
35
+ #include <mingw.mutex.h>
36
+ #else // CASADI_WITH_THREAD_MINGW
37
+ #include <mutex>
38
+ #endif // CASADI_WITH_THREAD_MINGW
39
+ #endif //CASADI_WITH_THREAD
40
+
41
+ #ifdef CASADI_WITH_THREADSAFE_SYMBOLICS
42
+ #include <memory>
43
+ #endif // CASADI_WITH_THREADSAFE_SYMBOLICS
44
+
45
+ namespace casadi {
46
+
47
+ // Forward declaration of weak reference class
48
+ template<typename Shared, typename Internal>
49
+ class GenericWeakRef;
50
+
51
+ /// \cond INTERNAL
52
+ // Forward declaration of internal classes
53
+ template<typename Shared, typename Internal>
54
+ class GenericSharedInternal;
55
+
56
+ template<typename Shared, typename Internal>
57
+ class GenericWeakRefInternal;
58
+ /// \endcond
59
+
60
+ template<typename Shared, typename Internal>
61
+ class CASADI_EXPORT GenericShared {
62
+ #ifndef SWIG
63
+ template<class B, class S> friend B shared_cast(S& A);
64
+ template<class B, class S> friend const B shared_cast(const S& A);
65
+ #endif // SWIG
66
+
67
+ public:
68
+ #ifndef SWIG
69
+ /// Default constructor
70
+ GenericShared() {
71
+ node = nullptr;
72
+ }
73
+
74
+ /// Copy constructor (shallow copy)
75
+ GenericShared(const GenericShared& ref) {
76
+ node = ref.node;
77
+ count_up();
78
+ }
79
+
80
+ /// Destructor
81
+ ~GenericShared() {
82
+ count_down();
83
+ }
84
+
85
+ /// Assignment operator
86
+ GenericShared& operator=(const GenericShared& ref);
87
+
88
+ /// \cond INTERNAL
89
+ /// Assign the node to a node class pointer (or null)
90
+ void own(Internal* node);
91
+
92
+ /** \brief Assign the node to a node class pointer without reference counting
93
+ *
94
+ * improper use will cause memory leaks!
95
+
96
+ \identifier{at} */
97
+ void assign(Internal* node);
98
+
99
+ /// Get a const pointer to the node
100
+ Internal* get() const;
101
+
102
+ /// Get the reference count
103
+ casadi_int getCount() const;
104
+
105
+ /// Swap content with another instance
106
+ void swap(GenericShared& other);
107
+
108
+ /// Access a member function or object
109
+ Internal* operator->() const;
110
+ /// \endcond
111
+ #endif // SWIG
112
+
113
+ std::string debug_repr() const;
114
+
115
+
116
+ /// Is a null pointer?
117
+ bool is_null() const;
118
+
119
+ /** \brief Returns a number that is unique for a given Node.
120
+
121
+ * If the Object does not point to any node, "0" is returned.
122
+
123
+ \identifier{av} */
124
+ casadi_int __hash__() const;
125
+
126
+ /// \cond INTERNAL
127
+ #ifndef SWIG
128
+ /** \brief Get a weak reference to the object
129
+
130
+ \identifier{aw} */
131
+ GenericWeakRef<Shared, Internal>* weak();
132
+ protected:
133
+ void count_up(); // increase counter of the node
134
+ void count_down(); // decrease counter of the node
135
+ private:
136
+ Internal *node;
137
+ #endif // SWIG
138
+ /// \endcond
139
+ };
140
+
141
+ template<typename Shared, typename Internal>
142
+ class CASADI_EXPORT GenericWeakRef : public GenericShared<Shared, Internal> {
143
+ public:
144
+ friend class GenericSharedInternal<Shared, Internal>;
145
+
146
+ using GenericShared<Shared, Internal>::is_null;
147
+
148
+ /** \brief Default constructor
149
+
150
+ \identifier{ay} */
151
+ GenericWeakRef(int dummy=0);
152
+
153
+ /** \brief Construct from a shared object (also implicit type conversion)
154
+
155
+ \identifier{az} */
156
+ GenericWeakRef(Shared shared);
157
+
158
+ /** \brief Get a shared (owning) reference
159
+
160
+ \identifier{b0} */
161
+ Shared shared() const;
162
+
163
+ /** \brief Check if alive
164
+
165
+ \identifier{b1} */
166
+ bool alive() const;
167
+
168
+ /** \brief Thread-safe alternative to alive()/shared()
169
+
170
+ \identifier{29i} */
171
+ bool shared_if_alive(Shared& shared) const;
172
+
173
+ /** \brief Access functions of the node
174
+
175
+ \identifier{b2} */
176
+ GenericWeakRefInternal<Shared, Internal>* operator->();
177
+
178
+ /** \brief Const access functions of the node
179
+
180
+ \identifier{b3} */
181
+ const GenericWeakRefInternal<Shared, Internal>* operator->() const;
182
+
183
+ #ifdef CASADI_WITH_THREADSAFE_SYMBOLICS
184
+ std::shared_ptr<std::mutex> get_mutex() const;
185
+ #endif // CASADI_WITH_THREADSAFE_SYMBOLICS
186
+
187
+ #ifndef SWIG
188
+ private:
189
+ /** \brief Construct from a shared object (internal)
190
+
191
+ \identifier{b4} */
192
+ explicit GenericWeakRef(Internal* raw);
193
+
194
+ /** \brief The shared object has been deleted
195
+
196
+ \identifier{b5} */
197
+ void kill();
198
+ #endif // SWIG
199
+ };
200
+
201
+ #ifndef SWIG
202
+
203
+ /** \brief Typecast a shared object to a base class to a shared object to a derived class,
204
+
205
+ * cf. dynamic_cast
206
+
207
+ \identifier{b6} */
208
+ template<class B, class S>
209
+ B shared_cast(S& A) {
210
+
211
+ /// Get a pointer to the node
212
+ typename S::internal_base_type* ptr = A.get();
213
+
214
+ /// Create a return object
215
+ B ret;
216
+
217
+ /// Quick return if not allowed
218
+ if (!B::test_cast(ptr)) return ret;
219
+
220
+ /// Assign node of B and return
221
+ ret.own(ptr);
222
+ return ret;
223
+ }
224
+
225
+ /** \brief Typecast a shared object to a base class to a shared object to a derived class,
226
+
227
+ * cf. dynamic_cast (const)
228
+
229
+ \identifier{b7} */
230
+ template<class B, class S>
231
+ const B shared_cast(const S& A) {
232
+ S A_copy = A;
233
+ return shared_cast<B, S>(A_copy);
234
+ }
235
+
236
+ #endif // SWIG
237
+
238
+
239
+ template<typename K, typename T>
240
+ class CASADI_EXPORT WeakCache {
241
+ public:
242
+ void tocache(const K& key, const T& f, bool needs_lock=true) {
243
+ #ifdef CASADI_WITH_THREADSAFE_SYMBOLICS
244
+ // Safe access to cache_
245
+ casadi::conditional_lock_guard<std::mutex> lock(mtx_, needs_lock);
246
+ #endif // CASADI_WITH_THREADSAFE_SYMBOLICS
247
+ // Add to cache
248
+ cache_.insert(std::make_pair(key, f));
249
+ // Remove a lost reference, if any, to prevent uncontrolled growth
250
+ for (auto it = cache_.begin(); it!=cache_.end(); ++it) {
251
+ if (!it->second.alive()) {
252
+ cache_.erase(it);
253
+ break; // just one dead reference is enough
254
+ }
255
+ }
256
+ }
257
+ /* \brief Thread-safe unique caching
258
+ * While an incache/tocache pair in multi-threaded context is safe
259
+ * it may lead to fresh cache entries being overwritten.
260
+ *
261
+ * A mutex lock_guard on the scope of an incache/tocache pair
262
+ * may lead to deadlocks.
263
+ *
264
+ */
265
+ void tocache_if_missing(const K& key, T& f) {
266
+ #ifdef CASADI_WITH_THREADSAFE_SYMBOLICS
267
+ // Safe access to cache_
268
+ std::lock_guard<std::mutex> lock(mtx_);
269
+ #endif // CASADI_WITH_THREADSAFE_SYMBOLICS
270
+ if (!incache(key, f, false)) {
271
+ tocache(key, f, false);
272
+ }
273
+ }
274
+ bool incache(const K& key, T& f, bool needs_lock=true) const {
275
+ #ifdef CASADI_WITH_THREADSAFE_SYMBOLICS
276
+ // Safe access to cache_
277
+ casadi::conditional_lock_guard<std::mutex> lock(mtx_, needs_lock);
278
+ #endif // CASADI_WITH_THREADSAFE_SYMBOLICS
279
+ auto it = cache_.find(key);
280
+ typename T::base_type temp;
281
+ if (it!=cache_.end() && it->second.shared_if_alive(temp)) {
282
+ f = shared_cast<T>(temp);
283
+ return true;
284
+ } else {
285
+ return false;
286
+ }
287
+ }
288
+ void cache(std::vector<K>& keys, std::vector<T>& entries) const {
289
+ #ifdef CASADI_WITH_THREADSAFE_SYMBOLICS
290
+ // Safe access to cache_
291
+ std::lock_guard<std::mutex> lock(mtx_);
292
+ #endif // CASADI_WITH_THREADSAFE_SYMBOLICS
293
+ keys.clear();
294
+ entries.clear();
295
+ // Add all entries that haven't been deleted
296
+ for (auto&& cf : cache_) {
297
+ typename T::base_type temp;
298
+ if (cf.second.shared_if_alive(temp)) {
299
+ keys.push_back(cf.first);
300
+ entries.push_back(shared_cast<T>(temp));
301
+ }
302
+ }
303
+ }
304
+ private:
305
+ std::unordered_map<K,
306
+ GenericWeakRef<typename T::base_type, typename T::internal_base_type>
307
+ > cache_;
308
+ #ifdef CASADI_WITH_THREADSAFE_SYMBOLICS
309
+ mutable std::mutex mtx_;
310
+ #endif // CASADI_WITH_THREADSAFE_SYMBOLICS
311
+ };
312
+
313
+
314
+
315
+ } // namespace casadi
316
+
317
+
318
+ #endif // CASADI_GENERIC_SHARED_HPP
@@ -0,0 +1,214 @@
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_GENERIC_SHARED_IMPL_HPP
27
+ #define CASADI_GENERIC_SHARED_IMPL_HPP
28
+
29
+ namespace casadi {
30
+
31
+ template<typename Shared, typename Internal>
32
+ void GenericShared<Shared, Internal>::count_up() {
33
+ #ifdef WITH_EXTRA_CHECKS
34
+ casadi_assert_dev(Function::call_depth_==0);
35
+ #endif // WITH_EXTRA_CHECKS
36
+
37
+ if (node) static_cast<Internal*>(node)->count++;
38
+
39
+ }
40
+
41
+ template<typename Shared, typename Internal>
42
+ void GenericShared<Shared, Internal>::count_down() {
43
+ #ifdef WITH_EXTRA_CHECKS
44
+ casadi_assert_dev(Function::call_depth_==0);
45
+ #endif // WITH_EXTRA_CHECKS
46
+ if (!node) return;
47
+ if (node->weak_ref_) {
48
+ #ifdef CASADI_WITH_THREADSAFE_SYMBOLICS
49
+ auto mutex = node->weak_ref_->get_mutex();
50
+ // Avoid triggering a delete while a weak_ref.shared_if_alive is being called
51
+ std::lock_guard<std::mutex> lock(*mutex);
52
+ // Could it be that this mutex is destroyed when the lock goes out of scope?
53
+ #endif // CASADI_WITH_THREADSAFE_SYMBOLICS
54
+
55
+ if (--static_cast<Internal*>(node)->count == 0) {
56
+ delete node;
57
+ node = nullptr;
58
+ }
59
+ } else {
60
+ if (--static_cast<Internal*>(node)->count == 0) {
61
+ delete node;
62
+ node = nullptr;
63
+ }
64
+ }
65
+ }
66
+
67
+ template<typename Shared, typename Internal>
68
+ void GenericShared<Shared, Internal>::own(Internal* node_) {
69
+ count_down();
70
+ node = node_;
71
+ count_up();
72
+ }
73
+
74
+ template<typename Shared, typename Internal>
75
+ void GenericShared<Shared, Internal>::assign(Internal* node_) {
76
+ node = node_;
77
+ }
78
+
79
+ template<typename Shared, typename Internal>
80
+ std::string GenericShared<Shared, Internal>::debug_repr() const {
81
+ if (node) {
82
+ return node->debug_repr(node);
83
+ } else {
84
+ return "NULL";
85
+ }
86
+ }
87
+
88
+ template<typename Shared, typename Internal>
89
+ GenericShared<Shared, Internal>&
90
+ GenericShared<Shared, Internal>::operator=(const GenericShared& ref) {
91
+ // quick return if the old and new pointers point to the same object
92
+ if (node == ref.node) return *this;
93
+
94
+ // decrease the counter and delete if this was the last pointer
95
+ count_down();
96
+
97
+ // save the new pointer
98
+ node = ref.node;
99
+ count_up();
100
+ return *this;
101
+ }
102
+
103
+ template<typename Shared, typename Internal>
104
+ Internal* GenericShared<Shared, Internal>::get() const {
105
+ return node;
106
+ }
107
+
108
+ template<typename Shared, typename Internal>
109
+ bool GenericShared<Shared, Internal>::is_null() const {
110
+ return node==nullptr;
111
+ }
112
+
113
+ template<typename Shared, typename Internal>
114
+ Internal* GenericShared<Shared, Internal>::operator->() const {
115
+ casadi_assert_dev(!is_null());
116
+ return node;
117
+ }
118
+
119
+ template<typename Shared, typename Internal>
120
+ void GenericShared<Shared, Internal>::swap(GenericShared& other) {
121
+ GenericShared<Shared, Internal> temp = *this;
122
+ *this = other;
123
+ other = temp;
124
+ }
125
+
126
+ template<typename Shared, typename Internal>
127
+ casadi_int GenericShared<Shared, Internal>::getCount() const {
128
+ return (*this)->getCount();
129
+ }
130
+
131
+ template<typename Shared, typename Internal>
132
+ GenericWeakRef<Shared, Internal>* GenericShared<Shared, Internal>::weak() {
133
+ return (*this)->weak();
134
+ }
135
+
136
+ template<typename Shared, typename Internal>
137
+ casadi_int GenericShared<Shared, Internal>::__hash__() const {
138
+ return reinterpret_cast<casadi_int>(get());
139
+ }
140
+
141
+ template<typename Shared, typename Internal>
142
+ GenericWeakRef<Shared, Internal>::GenericWeakRef(int dummy) {
143
+ casadi_assert_dev(dummy==0);
144
+ }
145
+
146
+ template<typename Shared, typename Internal>
147
+ bool GenericWeakRef<Shared, Internal>::alive() const {
148
+ return !is_null() && (*this)->raw_ != nullptr;
149
+ }
150
+
151
+ template<typename Shared, typename Internal>
152
+ Shared GenericWeakRef<Shared, Internal>::shared() const {
153
+ Shared ret;
154
+ if (alive()) {
155
+ ret.own((*this)->raw_);
156
+ }
157
+ return ret;
158
+ }
159
+
160
+ template<typename Shared, typename Internal>
161
+ bool GenericWeakRef<Shared, Internal>::shared_if_alive(Shared& shared) const {
162
+ if (is_null()) return false;
163
+ #ifdef CASADI_WITH_THREADSAFE_SYMBOLICS
164
+ // Safe access to ...
165
+ std::lock_guard<std::mutex> lock(*(*this)->mutex_);
166
+ #endif // CASADI_WITH_THREADSAFE_SYMBOLICS
167
+ if (alive()) {
168
+ shared.own((*this)->raw_);
169
+ return true;
170
+ }
171
+ return false;
172
+ }
173
+
174
+ template<typename Shared, typename Internal>
175
+ const GenericWeakRefInternal<Shared, Internal>*
176
+ GenericWeakRef<Shared, Internal>::operator->() const {
177
+ return static_cast<const GenericWeakRefInternal<Shared, Internal>*>(
178
+ GenericShared<Shared, Internal>::operator->());
179
+ }
180
+
181
+ template<typename Shared, typename Internal>
182
+ GenericWeakRefInternal<Shared, Internal>*
183
+ GenericWeakRef<Shared, Internal>::operator->() {
184
+ return static_cast<GenericWeakRefInternal<Shared, Internal>*>(
185
+ GenericShared<Shared, Internal>::operator->());
186
+ }
187
+
188
+ template<typename Shared, typename Internal>
189
+ GenericWeakRef<Shared, Internal>::GenericWeakRef(Shared shared) {
190
+ this->own(shared.weak()->get());
191
+ }
192
+
193
+ template<typename Shared, typename Internal>
194
+ GenericWeakRef<Shared, Internal>::GenericWeakRef(Internal* raw) {
195
+ this->own(new typename Internal::weak_ref_type(raw));
196
+ }
197
+
198
+ template<typename Shared, typename Internal>
199
+ void GenericWeakRef<Shared, Internal>::kill() {
200
+ casadi_assert_dev((*this)->raw_);
201
+ (*this)->raw_ = nullptr;
202
+ }
203
+
204
+ #ifdef CASADI_WITH_THREADSAFE_SYMBOLICS
205
+ template<typename Shared, typename Internal>
206
+ std::shared_ptr<std::mutex> GenericWeakRef<Shared, Internal>::get_mutex() const {
207
+ return (*this)->mutex_;
208
+ }
209
+ #endif // CASADI_WITH_THREADSAFE_SYMBOLICS
210
+
211
+ } // namespace casadi
212
+
213
+
214
+ #endif // CASADI_GENERIC_SHARED_IMPL_HPP